evolvedbinary / appbundler-maven-plugin

Maven plugin for AppBundler
Other
3 stars 2 forks source link

appbundler-maven-plugin doesn't copy a built artefact #6

Open sfuerte opened 3 years ago

sfuerte commented 3 years ago

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
adamretter commented 3 years ago

@sfuerte Could you first try with the 1.0.7 of the plugin and see if there is any difference?

We are using the 1.0.7 version of the plugin here for example: https://github.com/eXist-db/exist/blob/develop/exist-distribution/pom.xml#L1019. The builds done there though are using Java 8, so perhaps there is an incompatibility with Java 11?

Is there anything usual about your built JAR artefact? For example is it an externally attached artifact, an Uber Jar, or has a different finalName?

Regarding the message: "this application requires that Java 11 or later be installed on your computer", that is generated by the underlying App Launcher code from https://github.com/TheInfiniteKind/appbundler. So you should first check if it had been fixed there, and if not open an issue and send a PR to that project. We can then release a new version of the plugin with those fixes.

sfuerte commented 3 years ago

@adamretter, thanks for the quick reply. There is nothing unusual about the built JAR, it's not externally attached nor Uber Jar, the finalName hasn't been changed. The build process is as follows:

- maven-compiler-plugin
- maven-resources-plugin
- maven-dependency-plugin
- maven-jar-plugin
- appbundler-maven-plugin

In the original message's log example, appbundler confirms copying all resources, dependencies and icon but says nothing about artifact(s).

Btw, got the same with the 1.0.7. Also, while our build process is quite different from eXist-db's one but appbundler's execution configuration is pretty much the same.

adamretter commented 3 years ago

Do you see anything "interesting" when running with -X?

sfuerte commented 3 years ago

Nothing unusual, the config:

[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7:bundle (trolCommander)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <applicationCategory>public.app-category.developer-tools</applicationCategory>
  <artifacts default-value="${project.runtimeArtifacts}"/>
  <copyright>trolCommander ${app.version}, (c) ${app.copyright} ${app.vendor}, https://github.com/trol73/mucommander</copyright>
  <displayName>trolCommander</displayName>
  <executableName default-value="JavaAppLauncher"/>
  <explicitClassPath default-value="false">false</explicitClassPath>
  <hideDockIcon default-value="false"/>
  <highResolutionCapable default-value="true"/>
  <icon>.../trolCommander/res/package/osx/icon.icns</icon>
  <identifier>com.mucommander.TrolCommander</identifier>
  <ignorePSN default-value="false"/>
  <isDebug default-value="false">true</isDebug>
  <jdkPreferred default-value="false"/>
  <jrePreferred default-value="false"/>
  <jvmRequired>11+</jvmRequired>
  <mainClassName>com.mucommander.trolCommander</mainClassName>
  <mavenProject default-value="${project}"/>
  <name default-value="${project.artifactId}-${project.version}"/>
  <options>
    <option>-Xms128m</option>
    <option>-Xmx128m</option>
    <option>-Dapple.laf.useScreenMenuBar=true</option>
    <option>-Dcom.apple.hwaccel</option>
    <option>-Dcom.apple.smallTabs=true</option>
    <option>-Dfile.encoding=UTF-8</option>
    <option>-Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader</option>
    <option>-Xdock:name=trolCommander</option>
  </options>
  <outputDirectory default-value="${project.build.directory}"/>
  <shortVersion default-value="${project.version}">0.9.9</shortVersion>
  <signature default-value="????"/>
  <supportsAutomaticGraphicsSwitching default-value="true"/>
  <useAllProjectDependencies default-value="false"/>
  <version default-value="${project.version}">0.9.9</version>
</configuration>

and runtime itself:

[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ trolcommander ---
...
[INFO] Building jar: .../trolCommander/target/trolcommander-0.9.9.jar
...
[INFO] --- appbundler-maven-plugin:1.0.7:bundle (trolCommander) @ trolcommander ---
[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=53833, ConflictMarker.markTime=30083, ConflictMarker.nodeCount=96, ConflictIdSorter.graphTime=19791, ConflictIdSorter.topsortTime=16375, ConflictIdSorter.conflictIdCount=37, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=255833, ConflictResolver.conflictItemCount=89, DefaultDependencyCollector.collectTime=25863750, DefaultDependencyCollector.transformTime=393667}
[DEBUG] com.evolvedbinary.appbundler:appbundler-maven-plugin:jar:1.0.7
[DEBUG]    org.apache.maven.shared:file-management:jar:3.0.0:compile
...
[DEBUG]    com.evolvedbinary.appbundler:appbundler:jar:1.0.4:compile
[DEBUG] Created new class realm plugin>com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7
[DEBUG] Importing foreign packages into class realm plugin>com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7
[DEBUG]   Included: com.evolvedbinary.appbundler:appbundler-maven-plugin:jar:1.0.7
[DEBUG]   Included: org.apache.maven.shared:file-management:jar:3.0.0
[DEBUG]   Included: org.apache.maven.shared:maven-shared-io:jar:3.0.0
[DEBUG]   Included: org.sonatype.aether:aether-util:jar:1.7
[DEBUG]   Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3
[DEBUG]   Included: org.sonatype.plexus:plexus-cipher:jar:1.4
[DEBUG]   Included: org.codehaus.plexus:plexus-interpolation:jar:1.14
[DEBUG]   Included: org.sonatype.sisu:sisu-inject-bean:jar:1.4.2
[DEBUG]   Included: org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7
[DEBUG]   Included: org.apache.maven.shared:maven-shared-utils:jar:3.0.0
[DEBUG]   Included: commons-io:commons-io:jar:2.4
[DEBUG]   Included: com.google.code.findbugs:jsr305:jar:2.0.1
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:3.0.22
[DEBUG]   Included: org.apache.commons:commons-lang3:jar:3.5
[DEBUG]   Included: javax.enterprise:cdi-api:jar:1.0
[DEBUG]   Included: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.3
[DEBUG]   Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5
[DEBUG]   Included: com.evolvedbinary.appbundler:appbundler:jar:1.0.4
[DEBUG] Configuring mojo com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7:bundle from plugin realm ClassRealm[plugin>com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@277050dc]
[DEBUG] Configuring mojo 'com.evolvedbinary.appbundler:appbundler-maven-plugin:1.0.7:bundle' with basic configurator -->
[DEBUG]   (f) applicationCategory = public.app-category.developer-tools
[DEBUG]   (f) artifacts = [com.sun:yanfs:jar:1.4:compile, org.jetbrains.jediterm:jediterm-pty:jar:2.12:compile, org.jetbrains.pty4j:pty4j:jar:0.11.3:compile, org.jetbrains.pty4j:purejavacomm:jar:0.0.11.1:runtime, com.google.guava:guava:jar:25.1-jre:compile, org.checkerframework:checker-qual:jar:2.0.0:compile, com.google.errorprone:error_prone_annotations:jar:2.1.3:compile, com.google.j2objc:j2objc-annotations:jar:1.1:compile, org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile, log4j:log4j:jar:1.2.14:runtime, net.java.dev.jna:jna:jar:5.6.0:compile, org.icepdf.os:icepdf-viewer:jar:6.2.2:compile, org.bouncycastle:bcpkix-jdk15on:jar:1.54:compile, org.bouncycastle:bcprov-jdk15on:jar:1.54:compile, org.bouncycastle:bcprov-ext-jdk15on:jar:1.54:compile, batik:batik-awt-util:jar:1.6:compile, batik:batik-dom:jar:1.6:compile, batik:batik-svg-dom:jar:1.6:compile, batik:batik-svggen:jar:1.6:compile, batik:batik-util:jar:1.6:compile, batik:batik-xml:jar:1.6:compile, org.icepdf.os:icepdf-core:jar:6.2.2:compile, com.twelvemonkeys.imageio:imageio-tga:jar:3.6.1:compile, com.twelvemonkeys.imageio:imageio-core:jar:3.6.1:compile, com.twelvemonkeys.common:common-lang:jar:3.6.1:compile, com.twelvemonkeys.common:common-io:jar:3.6.1:compile, com.twelvemonkeys.common:common-image:jar:3.6.1:compile, com.apple:AppleJavaExtensions:jar:1.4:compile, net.sf.sevenzipjbinding:sevenzipjbinding:jar:16.02-2.01:compile, net.sf.sevenzipjbinding:sevenzipjbinding-all-platforms:jar:16.02-2.01:compile, com.sshtools:j2ssh-maverick:jar:1.5.5:compile, oro:oro:jar:2.0.8:compile, com.jcraft:jzlib:jar:1.1.3:compile, net.java.dev.jets3t:jets3t:jar:0.7.4:compile, commons-codec:commons-codec:jar:1.3:compile, commons-logging:commons-logging:jar:1.1.1:compile, commons-httpclient:commons-httpclient:jar:3.1:compile, com.jamesmurty.utils:java-xmlbuilder:jar:0.3:compile, com.fifesoft.rtext:fife.common:jar:3.1.1:compile, org.pushing-pixels:radiance-substance:jar:2.5.1:compile, org.pushing-pixels:radiance-trident:jar:2.5.1:compile, org.pushing-pixels:radiance-neon:jar:2.5.1:compile, org.apache.xmlgraphics:batik-rasterizer:jar:1.12:compile, org.apache.xmlgraphics:batik-svgrasterizer:jar:1.12:compile, org.apache.xmlgraphics:batik-parser:jar:1.12:compile, org.apache.xmlgraphics:batik-awt-util:jar:1.12:compile, org.apache.xmlgraphics:xmlgraphics-commons:jar:2.4:compile, org.apache.xmlgraphics:batik-xml:jar:1.12:compile, xml-apis:xml-apis-ext:jar:1.3.04:compile, org.apache.xmlgraphics:batik-transcoder:jar:1.12:compile, org.apache.xmlgraphics:batik-anim:jar:1.12:compile, org.apache.xmlgraphics:batik-css:jar:1.12:compile, org.apache.xmlgraphics:batik-ext:jar:1.12:compile, org.apache.xmlgraphics:batik-svg-dom:jar:1.12:compile, org.apache.xmlgraphics:batik-bridge:jar:1.12:compile, org.apache.xmlgraphics:batik-script:jar:1.12:compile, org.apache.xmlgraphics:batik-dom:jar:1.12:compile, xalan:xalan:jar:2.7.2:compile, xalan:serializer:jar:2.7.2:compile, org.apache.xmlgraphics:batik-gvt:jar:1.12:compile, org.apache.xmlgraphics:batik-svggen:jar:1.12:compile, org.apache.xmlgraphics:batik-util:jar:1.12:compile, org.apache.xmlgraphics:batik-constants:jar:1.12:compile, org.apache.xmlgraphics:batik-i18n:jar:1.12:compile, org.apache.xmlgraphics:batik-codec:jar:1.12:compile, com.fifesoft:rsyntaxtextarea:jar:3.1.1:compile, com.github.imcdonagh:image4j:jar:0.7.2:compile, org.jetbrains:annotations:jar:20.1.0:compile, org.apache.sanselan:sanselan:jar:0.97-incubator:compile, com.github.junrar:junrar:jar:7.4.0:compile, org.slf4j:slf4j-api:jar:1.7.9:compile, com.jidesoft:jide-oss:jar:3.6.18:compile, commons-net:commons-net:jar:3.7.2:compile, org.apache.commons:commons-collections4:jar:4.4:compile, com.google.code.gson:gson:jar:2.8.6:compile, xerces:xercesImpl:jar:2.12.0:compile, xml-apis:xml-apis:jar:1.4.01:compile, net.java.dev.jna:jna-platform:jar:5.6.0:compile, org.jmdns:jmdns:jar:3.5.6:compile, commons-io:commons-io:jar:2.8.0:compile, org.codelibs:jcifs:jar:2.1.22:compile, ch.qos.logback:logback-classic:jar:1.2.3:compile, ch.qos.logback:logback-core:jar:1.2.3:compile, org.apache.hadoop:hadoop-common:jar:3.3.0:compile, org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_7:jar:1.0.0:compile, org.apache.hadoop:hadoop-annotations:jar:3.3.0:compile, commons-cli:commons-cli:jar:1.2:compile, org.apache.commons:commons-math3:jar:3.1.1:compile, org.apache.httpcomponents:httpclient:jar:4.5.6:compile, org.apache.httpcomponents:httpcore:jar:4.4.10:compile, commons-collections:commons-collections:jar:3.2.2:compile, javax.servlet:javax.servlet-api:jar:3.1.0:compile, javax.activation:javax.activation-api:jar:1.2.0:runtime, org.eclipse.jetty:jetty-server:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-http:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-io:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-util:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-servlet:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-security:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-webapp:jar:9.4.20.v20190813:compile, org.eclipse.jetty:jetty-xml:jar:9.4.20.v20190813:compile, javax.servlet.jsp:jsp-api:jar:2.1:runtime, com.sun.jersey:jersey-core:jar:1.19:compile, javax.ws.rs:jsr311-api:jar:1.1.1:compile, com.sun.jersey:jersey-servlet:jar:1.19:compile, com.sun.jersey:jersey-json:jar:1.19:compile, org.codehaus.jettison:jettison:jar:1.1:compile, org.codehaus.jackson:jackson-core-asl:jar:1.9.2:compile, org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile, org.codehaus.jackson:jackson-jaxrs:jar:1.9.2:compile, org.codehaus.jackson:jackson-xc:jar:1.9.2:compile, com.sun.jersey:jersey-server:jar:1.19:compile, commons-beanutils:commons-beanutils:jar:1.9.4:compile, org.apache.commons:commons-configuration2:jar:2.1.1:compile, org.apache.commons:commons-lang3:jar:3.7:compile, org.apache.commons:commons-text:jar:1.4:compile, org.apache.avro:avro:jar:1.7.7:compile, com.thoughtworks.paranamer:paranamer:jar:2.3:compile, org.xerial.snappy:snappy-java:jar:1.0.5:compile, com.google.re2j:re2j:jar:1.1:compile, com.google.protobuf:protobuf-java:jar:2.5.0:compile, org.apache.hadoop:hadoop-auth:jar:3.3.0:compile, com.nimbusds:nimbus-jose-jwt:jar:7.9:compile, com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:compile, net.minidev:json-smart:jar:2.3:compile, net.minidev:accessors-smart:jar:1.2:compile, org.ow2.asm:asm:jar:5.0.4:compile, org.apache.curator:curator-framework:jar:4.2.0:compile, org.apache.kerby:kerb-simplekdc:jar:1.0.1:compile, org.apache.kerby:kerb-client:jar:1.0.1:compile, org.apache.kerby:kerby-config:jar:1.0.1:compile, org.apache.kerby:kerb-common:jar:1.0.1:compile, org.apache.kerby:kerb-crypto:jar:1.0.1:compile, org.apache.kerby:kerb-util:jar:1.0.1:compile, org.apache.kerby:token-provider:jar:1.0.1:compile, org.apache.kerby:kerb-admin:jar:1.0.1:compile, org.apache.kerby:kerb-server:jar:1.0.1:compile, org.apache.kerby:kerb-identity:jar:1.0.1:compile, org.apache.kerby:kerby-xdr:jar:1.0.1:compile, com.jcraft:jsch:jar:0.1.55:compile, org.apache.curator:curator-client:jar:4.2.0:compile, org.apache.curator:curator-recipes:jar:4.2.0:compile, com.google.code.findbugs:jsr305:jar:3.0.2:compile, org.apache.htrace:htrace-core4:jar:4.1.0-incubating:compile, org.apache.zookeeper:zookeeper:jar:3.5.6:compile, org.apache.zookeeper:zookeeper-jute:jar:3.5.6:compile, org.apache.yetus:audience-annotations:jar:0.5.0:compile, io.netty:netty-handler:jar:4.1.42.Final:compile, io.netty:netty-common:jar:4.1.42.Final:compile, io.netty:netty-buffer:jar:4.1.42.Final:compile, io.netty:netty-transport:jar:4.1.42.Final:compile, io.netty:netty-resolver:jar:4.1.42.Final:compile, io.netty:netty-codec:jar:4.1.42.Final:compile, io.netty:netty-transport-native-epoll:jar:4.1.42.Final:compile, io.netty:netty-transport-native-unix-common:jar:4.1.42.Final:compile, org.apache.commons:commons-compress:jar:1.19:compile, org.apache.kerby:kerb-core:jar:1.0.1:compile, org.apache.kerby:kerby-pkix:jar:1.0.1:compile, org.apache.kerby:kerby-asn1:jar:1.0.1:compile, org.apache.kerby:kerby-util:jar:1.0.1:compile, com.fasterxml.jackson.core:jackson-databind:jar:2.10.3:compile, com.fasterxml.jackson.core:jackson-annotations:jar:2.10.3:compile, com.fasterxml.jackson.core:jackson-core:jar:2.10.3:compile, org.codehaus.woodstox:stax2-api:jar:3.1.4:compile, com.fasterxml.woodstox:woodstox-core:jar:5.0.3:compile, dnsjava:dnsjava:jar:2.1.7:compile, org.apache.hadoop:hadoop-hdfs:jar:3.3.0:compile, org.eclipse.jetty:jetty-util-ajax:jar:9.4.20.v20190813:compile, commons-daemon:commons-daemon:jar:1.0.13:compile, io.netty:netty:jar:3.10.6.Final:compile, io.netty:netty-all:jar:4.1.50.Final:compile, org.fusesource.leveldbjni:leveldbjni-all:jar:1.8:compile, org.json:json:jar:20201115:compile, com.github.stephenc.java-iso-tools:iso9660-writer:jar:2.0.1:compile, com.github.stephenc.java-iso-tools:sabre:jar:2.0.1:compile, commons-lang:commons-lang:jar:2.6:compile, org.apache.ant:ant:jar:1.7.1:compile, org.apache.ant:ant-launcher:jar:1.7.1:compile, com.github.lookfirst:sardine:jar:5.10:compile, jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile, jakarta.activation:jakarta.activation-api:jar:1.2.1:compile, org.glassfish.jaxb:jaxb-runtime:jar:2.3.2:compile, org.glassfish.jaxb:txw2:jar:2.3.2:compile, com.sun.istack:istack-commons-runtime:jar:3.0.8:compile, org.openjfx:javafx-web:jar:mac:11.0.2:compile, org.openjfx:javafx-controls:jar:11.0.2:compile, org.openjfx:javafx-controls:jar:mac:11.0.2:compile, org.openjfx:javafx-media:jar:11.0.2:compile, org.openjfx:javafx-media:jar:mac:11.0.2:compile, org.openjfx:javafx-swing:jar:mac:11.0.2:compile, org.openjfx:javafx-graphics:jar:11.0.2:compile, org.openjfx:javafx-graphics:jar:mac:11.0.2:compile, org.openjfx:javafx-base:jar:11.0.2:compile, org.openjfx:javafx-base:jar:mac:11.0.2:compile, jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3:compile, jakarta.xml.soap:jakarta.xml.soap-api:jar:1.4.2:compile, jakarta.jws:jakarta.jws-api:jar:2.1.0:runtime, com.sun.xml.ws:jaxws-rt:jar:3.0.0:runtime, com.sun.xml.bind:jaxb-impl:jar:3.0.0:compile, com.sun.xml.bind:jaxb-core:jar:3.0.0:compile, org.glassfish.ha:ha-api:jar:3.1.12:runtime, org.glassfish.external:management-api:jar:3.2.3:runtime, org.glassfish.gmbal:gmbal-api-only:jar:4.0.2:runtime, org.jvnet.staxex:stax-ex:jar:2.0.0:compile, com.sun.xml.stream.buffer:streambuffer:jar:2.0.1:runtime, org.jvnet.mimepull:mimepull:jar:1.9.13:runtime, com.sun.xml.fastinfoset:FastInfoset:jar:2.0.0:compile, com.sun.mail:jakarta.mail:jar:2.0.0:runtime, com.sun.xml.messaging.saaj:saaj-impl:jar:2.0.0:runtime, com.sun.activation:jakarta.activation:jar:2.0.0:compile, jakarta.annotation:jakarta.annotation-api:jar:2.0.0:runtime]
[DEBUG]   (f) copyright = trolCommander ${app.version}, (c) ${app.copyright} ${app.vendor}, https://github.com/trol73/mucommander
[DEBUG]   (f) displayName = trolCommander
[DEBUG]   (f) executableName = JavaAppLauncher
[DEBUG]   (f) explicitClassPath = false
[DEBUG]   (f) hideDockIcon = false
[DEBUG]   (f) highResolutionCapable = true
[DEBUG]   (f) icon = .../trolCommander/res/package/osx/icon.icns
[DEBUG]   (f) identifier = com.mucommander.TrolCommander
[DEBUG]   (f) ignorePSN = false
[DEBUG]   (f) isDebug = true
[DEBUG]   (f) jdkPreferred = false
[DEBUG]   (f) jrePreferred = false
[DEBUG]   (f) jvmRequired = 11+
[DEBUG]   (f) mainClassName = com.mucommander.trolCommander
[DEBUG]   (f) mavenProject = MavenProject: ru.trolsoft:trolcommander:0.9.9 @ .../trolCommander/pom.xml
[DEBUG]   (f) name = trolcommander-0.9.9
[DEBUG]   (s)  = -Xms128m
[DEBUG]   (s)  = -Xmx128m
[DEBUG]   (s)  = -Dapple.laf.useScreenMenuBar=true
[DEBUG]   (s)  = -Dcom.apple.hwaccel
[DEBUG]   (s)  = -Dcom.apple.smallTabs=true
[DEBUG]   (s)  = -Dfile.encoding=UTF-8
[DEBUG]   (s)  = -Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader
[DEBUG]   (s)  = -Xdock:name=trolCommander
[DEBUG]   (f) options = [-Xms128m, -Xmx128m, -Dapple.laf.useScreenMenuBar=true, -Dcom.apple.hwaccel, -Dcom.apple.smallTabs=true, -Dfile.encoding=UTF-8, -Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader, -Xdock:name=trolCommander]
[DEBUG]   (f) outputDirectory = .../trolCommander/target
[DEBUG]   (f) shortVersion = 0.9.9
[DEBUG]   (f) signature = ????
[DEBUG]   (f) supportsAutomaticGraphicsSwitching = true
[DEBUG]   (f) useAllProjectDependencies = false
[DEBUG]   (f) version = 0.9.9
[DEBUG] -- end configuration --
[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 dependency <HOMEDIR>/.m2/repository/com/sun/activation/jakarta.activation/2.0.0/jakarta.activation-2.0.0.jar to .../trolCommander/target/trolcommander-0.9.9.app/Contents/Java/jakarta.activation-2.0.0.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:  9.460 s
[INFO] Finished at: 2020-12-08T10:34:48-07:00
[INFO] ------------------------------------------------------------------------

and the main JAR isn't on the list of artifacts.

adamretter commented 3 years ago

@sfuerte Do you know how to use MAVEN_OPTS to debug the plugin as it runs?

sfuerte commented 3 years ago

@adamretter, I'll figure it out. Any specifics params/steps you're interested in there?

Also, in Ant's build.xml Appbundler allows to specify classpath file explicitly:

    <taskdef 
        name="bundleapp" 
        classname="com.oracle.appbundler.AppBundlerTask" 
         classpathref="lib.tools" />

    <target name="app" depends="load-muant, compress">
        <echo>Creating Mac OS X application...</echo>
        <bundleapp 
            outputdirectory="${dist}" 
            name="${dist.app.name.short}" 
            displayname="trolCommander" 
            identifier="com.mucommander.trolCommander" 
            shortversion="${app.version}"
            applicationCategory="public.app-category.developer-tools"
            mainclassname="${app.main}" 
            copyright="trolCommander ${app.version}, (c) ${app.copyright} ${app.vendor}, ${url.homepage}"
            icon="${res.package}/osx/icon.icns" >
            <classpath file="${dist.jar}" />
            <option value="-Xmx128m"/>
            <option value="-Xms128m"/>
            <option value="-Djava.system.class.loader=com.mucommander.commons.file.AbstractFileClassLoader" />
            <option value="-Dcom.apple.smallTabs=true" />
            <option value="-Dcom.apple.hwaccel" />
            <option value="-Dapple.laf.useScreenMenuBar=true"/>
            <option value="-Dfile.encoding=UTF-8"/>   
        </bundleapp>
...

Is it possible to do the same in the Maven plugin?