Skip to content

umjammer/rococoa

 
 

Repository files navigation

Release Java CI CodeQL Java

Rococoa

rococoa

 Rococoa is a generic Java binding to the Mac Objective-C object system. It allows the creation and use of Objective-C objects in Java, and the implementation of Objective-C interfaces in Java.

⚠ Caution

  • this project will quit supporting intel chips
  • supported macos will be after Ventura also

Limitation

Install

Usage

How To

References

TODO

  • NSUrl tags (wip)
  • obj-block (wip)
    • how about panama?
  • CIFilter (done)
    • CGImage fails around density related
    • tall free bridging? none
  • cglib is mostly suspended
    • cglib recommends ByteBuddy that is based on asm same as the cglib (done)
    • cache classes (ByteBuddy)
  • clean up logging
  • native library loading
    • https://github.com/scijava/native-lib-loader
    • i don't like to locate librococoa.dylib at src/main/resources for jitpack
      • copy to like src/main/native-resource (on only local not ci)
      • include it in jar-plugin (on jitpack)
      • OR set it as asset on github actions 🎯
      • retrieve the asset by ant task?
  • dynamic method creation
    • invokedinamic?
    • ByteBuddy's method interception???
  • CGController
  • activate application
  • separate same parts of jna-platform (like jna-platform-extended)
  • deprecate rococoa-contrib
  • selector and java method binding for notification
  • exception in callback method cannot be shown as reason, shown as "Exception calling method for selector foo:"
    • OCInvocationCallbacks.java:170

Original

Fair Warning

Rococoa is very much work in progress. Much is subject to change. A lot isn't good enough not to change. But given the recent deprecation of the Java-Cocoa bridge, it's the best I've got. Just mind your head. And please give feedback

Oh, one big warning. Rococoa on PPC passes all but one of its tests, but that shows that it has an issue returning longs from Objective-C methods. Please do try it on PPC, and let me know any other problems.


image by copilot