Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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

Done
X HotSpot
X Core Libraries
X Networking
X X11
X Universal binaries
X builds as .jdk bundle

...

    • 2D drawing (OpenGL based)

      ...

      ...

        • (tick) Cocoa key/text events

          ...

          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
          Info
          iconfalse
          titleStatus icon meanings

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

          Not Done - but straightforward port
          _ Clipboard
          _ Printing
          _ Proxy Server handling - get config from System Configuration framework
          _ System properties fixup (vendor name, etc)
          _ DTrace
          _ JObjC

          Not Done - requires additions to JavaRuntimeSupport.framework, but easy
          _ Locale support
          _ Requires a single locale setter CFBundle SPI call
          _ Accessibility
          _ Requires 1 method
          _ Drag & Drop
          _ Requires some CoreDrag methods
          _ SWT/3D embedding
          _ probably requires CALayer cross-process linking internals

          Not Done - requires partial rewrite
          _ Sound
          Apple implementation depends on HeadSpace
          Possible alternate implementation for MIDI offered by 3rd party <http://mail.openjdk.java.net/pipermail/sound-dev/2010-October/000110.htmlImage Removed>

          Not Scoped ("deploy" is not part of public JDK7)
          _ Applets/Plugin2
          _ Web Start
          _ Java Preferences

          ...