Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
sfuerte opened this issue Dec 8, 2020 · 6 comments
Open

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

sfuerte opened this issue Dec 8, 2020 · 6 comments

Comments

@sfuerte
Copy link

sfuerte commented Dec 8, 2020

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
Copy link
Member

adamretter commented Dec 8, 2020

@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
Copy link
Author

sfuerte commented Dec 8, 2020

@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
Copy link
Member

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

@sfuerte
Copy link
Author

sfuerte commented Dec 8, 2020

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
Copy link
Member

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

@sfuerte
Copy link
Author

sfuerte commented Dec 9, 2020

@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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants