Capella 5 on Mac

Hi John,

Capella 5.0 bundles contain an AdoptOpenJDK 14.0.2.
It seems that there are several issues with the macOS bundle:

  • the bundle extraction does not keep the execution permissions (it might be better if the build produces some tar.gz archive)
  • macOS can see the app as damaged (some actions can be needed to let GateKeeper or the quarantine mecanism accept the application.
  • the packaged JRE is not well referenced from Capella to be taken by default.

Here are the full steps I needed to do to be able to launch Capella 5.0 on macOS 10.15.7 with the JRE 14.0.2 provided in the Capella bundle:

  • Extract capella-5.0.0.202012021234-macosx-cocoa-x86_64.zip
  • Move the resulting folder (or its subfolders capella and samples) to another folder/location
  • Open a terminal and navigate to this capella folder
  • Restore permissions
    • Navigate to the Capella content folder: cd Eclipse.app/Contents/MacOS
    • Restore the execution permission on the capella executable chmod a+x capella
    • Navigate back to the capella folder: cd ../../../
    • Navigate to the JRE content folder: `cd jre/Contents/Home/bin/``
    • Restore the execution permission on all executables: chmod a+x *
  • Avoid macOS to see the app and internal JRE as damaged
    • navigate back to the capella folder
    • execute ‘xattr -d com.apple.quarantine Eclipse.app’
    • execute ‘xattr -d com.apple.quarantine jre’
    • navigate to jre/Content
      • navigate to MacOS folder and execute xattr -d com.apple.quarantine libjli.dylib
      • navigate to Home/lib folder and execute xattr -d com.apple.quarantine libjli.dylib
      • navigate to Home/lib/server folder and execute xattr -d com.apple.quarantine *
      • navigate to Home/bin folder and execute xattr -d com.apple.quarantine *
    • an optimized command might do this all in once, but this allow to explictly change what is needed.
  • Force Capella 5.0 to use the provided AdoptOpenJDK 14.0.2
    • open capella/capella.ini file in an editor like VS Code, Atom, …
    • add the following lines before the -vmargs section:
      -vm
      ../../../jre/Contents/Home/bin/

Bug 569651 has been created a few weeks ago to tracks this issue.
I have added a comment to indicate that the macOS version of the capella.ini file must also be modified to target the JRE 14.0.2 which is included in the bundle. I have also added a link to this post.

1 Like