evolvedbinary / appbundler-maven-plugin Goto Github PK
View Code? Open in Web Editor NEWMaven plugin for AppBundler
License: Other
Maven plugin for AppBundler
License: Other
From our Slack conversation back on May 14th, I shared a few observations about jrePreferred
and jdkPreferred
from https://github.com/TheInfiniteKind/appbundler/blob/master/appbundler/native/main.m#L188-L192:
true
, appbundler sets them both to false
:Specifying both JRE- and JDK-preferred means neither is preferred
โฆ and both are searched for.
jdkPreferred=true
, then findJDKDylib
is called:A JDK is preferred; will not search for a JRE.
jrePreferred=true
, then findJREDylib
is called:A JRE is preferred; will not search for a JDK.
false
, both are searched for. (This is the default; see https://github.com/TheInfiniteKind/appbundler/blob/master/appbundler/src/com/oracle/appbundler/AppBundlerTask.java#L83-L84.)Your defaults in https://github.com/evolvedbinary/appbundler-maven-plugin/blob/master/src/main/java/com/evolvedbinary/appbundler/AppBundlerMojo.java#L135-L139 change the default behavior. Instead of case 4, we get case 3.
Thus, even with the latest changes from appbundler available in eXist-db/exist#2769, eXist still fails to start.
I will submit a PR shortly that fixes the defaults for jrePreferred and jdkPreferred
Working on converting a macOS app from Ant to Maven build.
Got stuck at the plugin copying everything except the built JAR artefact:
...
[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ trolcommander ---
[INFO] Building jar: .../trolCommander/target/trolcommander-0.9.9.jar
[INFO]
[INFO] --- appbundler-maven-plugin:1.1.0:bundle (trolCommander) @ trolcommander ---
[INFO] Creating app bundle: trolcommander-0.9.9
[INFO] Wrote Info.plist: .../trolCommander/target/trolcommander-0.9.9.app/Contents/Info.plist
[INFO] Wrote PkgInfo: .../trolCommander/target/trolcommander-0.9.9.app/Contents/PkgInfo
[INFO] Copied resource de.lproj/Localizable.strings to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Resources/de.lproj/Localizable.strings
...
[INFO] Copied resource nl.lproj/Localizable.strings to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Resources/nl.lproj/Localizable.strings
[INFO] Copied dependency <HOMEDIR>/.m2/repository/com/sun/yanfs/1.4/yanfs-1.4.jar to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Java/yanfs-1.4.jar
...
[INFO] Copied dependency <HOMEDIR>/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.0.0/jakarta.annotation-api-2.0.0.jar to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Java/jakarta.annotation-api-2.0.0.jar
[INFO] Copied icon .../trolCommander/res/package/osx/icon.icns to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Resources/icon.icns
[INFO] Finished bundling app .../trolCommander/target/trolcommander-0.9.9.app
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.484 s
[INFO] Finished at: 2020-12-07T20:30:28-07:00
[INFO] ------------------------------------------------------------------------
Full POM with plugin's configuration is at https://github.com/sfuerte/trolCommander/blob/feature/Java11/pom.xml
Also, the resulted application errors with "this application requires that Java 11 or later be installed on your computer" message though Java has been installed indeed:
> java --version
openjdk 11.0.9.1 2020-11-04 LTS
OpenJDK Runtime Environment Zulu11.43+1007-CA (build 11.0.9.1+1-LTS)
OpenJDK 64-Bit Server VM Zulu11.43+1007-CA (build 11.0.9.1+1-LTS, mixed mode)
> /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.