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)

      ...

      ...

      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

      Partially Done - on private branch, requires additions to JavaRuntimeSupport.framework
      (star) Cocoa key/text events
      (_) Requires several InputMethod internal bits
      (star) Screen Menu Bar
      (_) Currently using Carbon menu handlers in 64-bit

      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

      ...