• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. Port: MacOSX
  3. Main
  4. Mac OS X Port Project Status

Page History

Versions Compared

Old Version 130

changes.mady.by.user Brian Beck

Saved on Jan 18, 2013

compared with

New Version Current

changes.mady.by.user Brian Beck

Saved on Jan 18, 2013

  • Previous Change: Difference between versions 129 and 130
  • View Page History

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

  • (tick) Build
    • (warning) build using clang
    • (tick) build .jdk bundle (for CommandLine and embedded use only)
    • (tick) build embeddable .jre bundle
      • (tick)  build JavaAppLauncher stub
  • (tick) HotSpot
    • (warning) remove ALWAYS_PASS_TEST_GAMMA hack
    • (tick) register new threads as ObjC-GC capable
    • (tick) DTrace v2-style probes
  • (tick) Core Libraries
    • (tick)  Load .jnilib (in addition to .dylib) - fixed for 7u4!
    • (tick) Precomposed/Decomposed File path translation
    • NIO
      • (tick) kqueue based Selectors
      • (warning)  WatchService implementation (kqueue-based)
      • (tick)  WatchService implementation (polling-based)
      • (tick)Async I/O API
    • (tick)Proxy Server handling
    • (tick) Locale support
    • (tick) System properties fixup (vendor name, etc)
      • (tick) Resolve "Darwin" vs. "Mac OS X" checks
  • (tick) JNI interface
  • (tick) Networking
  • (tick) X11
  • (tick) Universal binaries
  • (tick) JObjC
    • (warning) get tests passing
    • (tick) self-generate BridgeSupport full files
  • (warning) Cocoa AWT
    • (tick) 2D drawing (OpenGL based)
      • (tick) OpenGL layer needs to be vended from an NSOpenGLLayer (10.6+)
    • (tick) Cocoa key/text events
      • (tick) cleanup to use JRSEvent API
    • (tick) merge JDK6 CWindow -> LWCWindow changes and style flags
    • (tick) update CImage
    • (tick) Transparent window support
    • (tick) Headless
    • (tick) remove $AWT_TOOLKIT=CToolkit, switch to default
    • (warning) threading cleanup
  • (tick) Aqua LaF
    • (tick) Requires an image tile cache
    • (tick) Screen Menu Bar
      • (tick) Needs cleanup to use JRSMenu API
    • (tick) Needs refresh from Apple trunk
  • (tick) Fonts/Text drawing
    • (tick) Needs cleanup to use JRSFont API
  • (tick) Accessibility
  • (tick) Clipboard
  • (tick) Drag & Drop
  • (tick) InputMethod support
  • (tick) AppleScript javax.script engine
  • (tick) Sound
  • (tick) Printing
  • (tick) Keychain Provider
  • (tick) JAWT (for SWT/3D embedding)
  • (tick) Smartcard
  • (tick) Fix Kerberos code to read config info from SCDynamicStore (needed on Lion) | http://java.net/jira/browse/MACOSX_PORT-566]
  • (tick) AWT Desktop API
  • (tick) System Tray

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

  • (warning) Merge BSDPort into mainline jdk so that Mac OS X Port can be inserted into mainline:
    • (warning) Merge BSDPort hotspot, patch and description at: BSDPort, Description of jdk7 changes
  • (warning) Move internal bugs to http://java.net/jira/browse/MACOSX_PORT
  • (warning) Write up development wiki pages for
    • (tick) Quickstart
    • (tick) Status
    • (tick) Compiler changes/issues
    • (tick) Cocoa & Java crash course
    • (tick) Threading manifesto
    • (tick) Memory management manifesto
    • (error) AppKit Threading & Cocoa Memory Management best practices examples
    • (error) Internal "Adopt-an-app" testing workflows
  • (warning) Port private JUnit harness tests to jtreg
    • Detailed status

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

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 862, "requestCorrelationId": "8d6225e3b98795dc"}