This page outlines the status of high-level feature areas to bring from Apple's Java SE 6 to the Mac OS X port of JDK 7u4.

7u4 is now complete; 7u6 is in active development in jdk7u-dev.

A list of popular open issues is available at the JIRA bug reporter.

Features in the macosx-port src repository

Features not yet ported from Apple's Java SE 6

  • (warning) Bundled app launching
    • (tick)  JavaApplicationStub replacement
      • (tick)  Stub source now checked in. More tools for bundling an app are coming.
      • (tick)  Stub and AWT reviewed for sandboxing
        • (warning)  need to fix JavaSound, launcher stub, and remove dependency on X11 libfreetype.

Features not in public macosx-port ("deploy" is private to Oracle). You'll have to trust us on these – deploy is not ready to be open-sourced.

  • (tick) Applets/Plugin2
    • (tick) Need to create .plugin bundle
      • (tick) Need to embed slimmed JRE into .plugin bundle
    • (tick)  Need NPAPI/Cocoa event -> Java event conversion
    • (tick) Need the LWAWT to render into NSOpenGLLayer (see above)
      • (tick) Need cross-process CALayer connection mechanism to be exposed
    • (tick)  Need to determine update mechanism (Sparkle.framework?)
    • (warning)  JavaFx support
  • (tick) Web Start
    • (tick) Need to determine delivery vehicle (inside Applet plug-in, or some other form) – Java Web Start.app will find javaws in the deployment bundle and execute that. Requires at least 10.7.3.
    • (warning)  Shortcut support
  • (warning)  Java Preferences 
    • (error)  UI cleanup: Look better on Mac OS X
    • (tick)   Preference pane

Non-feature tasks

Non-Features

These features will not be ported to OpenJDK from the Apple Java SE 6 port

  • MacRoman default encoding
    • UTF-8 only, for all locales/languages
  • NSView-based AWT heavyweight widgets
    • LWAWT Swing-based widgets only
  • NSView-based JAWT embedding
    • CALayer embedding instead
  • CocoaComponent
    • Use CALayer-based JAWT embedding instead
  • SWT Carbon EventLoop support
    • No 32-bit only technologies, Cocoa only
  • JNI instantiation through the JavaVM.framework
    • Embed your own JRE instead
  • Apple JavaApplicationStub
    • Use the new JavaAppLauncher, loads an embedded .jre, JavaApplicationStub compatible
  • Apple native crypto
    • Use standard Java crypto
  • HotSpot Shared Archive Generation
    • Automatic JSA creation is of limited use until HotSpot supports class sharing in 64-bit, and in all garbage collectors

Status icon meanings

(tick) Done
(warning) In progress
(error) Not done
(question) Unknown

  • No labels