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
(tick) HotSpot
(tick) Core Libraries
(tick) Networking
(tick) X11
(tick) Universal binaries
(tick) builds as .jdk bundle

Partially done - on private branch
(warning) Aqua LaF

  • (error) Needs refresh from Apple TOT
  • (error) Requires an image tile cache
    (warning) Fonts/Text drawing
  • (error) Done, just needs to be ported onto trunk
    (warning) AToolkit
    (tick) Cocoa mouse events
    (warning)

    Partially Done - on private branch, requires additions to JavaRuntimeSupport.framework
    (warning) Cocoa key/text events

    • (error) Requires several InputMethod internal bits
      (warning) Screen Menu Bar
    • (error) Currently using Carbon menu handlers in 64-bit

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

    Not Done - requires additions to JavaRuntimeSupport.framework, but easy
    (error) Locale support

    • (error) Requires a single locale setter CFBundle SPI call
      (error) Accessibility
    • (error) Requires 1 method
      (error) Drag & Drop
    • (error) Requires some CoreDrag methods
      (error) SWT/3D embedding
    • (error) probably requires CALayer cross-process linking internals

    Not Done - requires partial rewrite
    (error) Sound

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

    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

    ...