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

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

Mac OS X Port Project Status

  • Created by Mike Swingler, last modified on Jul 26, 2011

This page outlines the status of high-level feature areas to bring from Apple's Java SE 6 to the macosx-port.

Features in the macosx-port src repository

  • (tick) Build
    • (warning) build using clang
    • (warning) build libraries -fobjc-gc to be ObjC-GC compatible
    • (tick) build .jdk bundle
    • (error) build embeddable .jre bundle
  • (tick) HotSpot
    • (tick) Load .jnilib (in addition to .dylib)
    • (warning) remove ALWAYS_PASS_TEST_GAMMA hack
    • (warning) register new threads as ObjC-GC capable
  • (tick) Core Libraries
    • (warning) Investigate JDK7-specific additions to NIO
      • kqueue based Selector
      • WatchService implementation
      • Async I/O API
  • (tick) Networking
  • (tick) X11
  • (tick) Universal binaries
  • (tick) JObjC
    • (warning) get tests passing
    • (tick) self-generate BridgeSupport full files
  • (warning) Cocoa AWT
    • (warning) 2D drawing (OpenGL based)
      • (error) OpenGL layer needs to be vended from an NSOpenGLLayer (10.6+)
    • (warning) Cocoa key/text events
      • (tick) cleanup to use JRSEvent API
    • (warning) threading cleanup
    • (tick) merge JDK6 CWindow -> LWCWindow changes and style flags
    • (tick) update CImage
    • (error) Headless
    • (tick) remove $AWT_TOOLKIT=CToolkit, switch to default
    • (warning) ObjC-GC cleanup
  • (tick) Aqua LaF
    • (tick) Screen Menu Bar
      • (tick) Needs cleanup to use JRSMenu API
    • (tick) Needs refresh from Apple trunk
    • (error) Requires an image tile cache
  • (tick) Fonts/Text drawing
    • (tick) Needs cleanup to use JRSFont API
  • (warning) Accessibility
  • (tick) Clipboard
  • (tick) System properties fixup (vendor name, etc)
    • (tick) Resolve "Darwin" vs. "Mac OS X" checks
  • (warning) JNI interface for JavaVM.framework
  • (tick) DTrace v2-style probes

Features not yet ported from Apple's Java SE 6

  • (error) Printing
  • (error) Proxy Server handling
    • get config from System Configuration framework
  • (error) Shared Archive Generation
  • (error) Bundled app launching
    may require additions to JavaRuntimeSupport.framework
  • (error) Locale support
    • (error) Requires a single locale setter CFBundle SPI call
  • (warning) Drag & Drop (requires some CoreDrag methods)
  • (error) SWT/3D embedding with JAWT
    • might require CALayer cross-process linking internals

Features requiring rewrite

  • (warning) Sound

Features needing evaluation for distribution mechanism

  • (error) Crypto/Keychain/Smartcard

Features not in public macosx-port ("deploy" is private to Oracle)

  • (warning) Applets/Plugin2
    • (error) Need to create .plugin bundle
      • (error) Need to embed slimmed JRE into .plugin bundle
    • (error) Need NPAPI/Cocoa event -> Java event conversion
    • (error) Need the LWAWT to render into NSOpenGLLayer (see above)
      • (error) Need cross-process CALayer connection mechanism to be exposed
    • (error) Need to determine update mechanism (Sparkle.framework?)
  • (warning) Web Start
    • (error) Need to determine delivery vehicle (inside Applet plug-in, or some other form)
    • (error) .jnlp file ownership hand-off with Apple's "Java Web Start.app" helper?
  • (error) Java Preferences

Non-feature tasks

  • (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
    • (error) Memory management manifesto
    • (error) Mac OS X conceptual deviations from Java platform assumptions
    • (error) Internal "Adopt-an-app" testing workflows
  • (warning) Port private JUnit harness tests to jtreg
    • Detailed status

Features not to be done

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

  • Making MacRoman encoding the default
  • NSView-based AWT heavyweight widgets

Status icon meanings

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

Overview
Content Tools
ThemeBuilder
  • No labels

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.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 193, "requestCorrelationId": "ac510c67ebe943ab"}