Configuration with Executions
This example shows how to use different executions to configure OS-specific parameters for jpackage
.
<plugin>
<groupId>org.panteleyev</groupId>
<artifactId>jpackage-maven-plugin</artifactId>
<configuration>
<name>Application Name</name>
<appVersion>${project.version}</appVersion>
<vendor>app.org</vendor>
<module>${appModule}/${appMainClass}</module>
<modulePaths>
<modulePath>${project.build.directory}/mods</modulePath>
</modulePaths>
<destination>${project.build.directory}/dist</destination>
<javaOptions>
<option>--enable-preview</option>
<option>-Dfile.encoding=UTF-8</option>
</javaOptions>
<removeDestination>true</removeDestination>
<!-- Windows -->
<winMenu>true</winMenu>
</configuration>
<executions>
<execution>
<id>mac</id>
<configuration>
<icon>${project.basedir}/icons/icons.icns</icon>
</configuration>
</execution>
<execution>
<id>win</id>
<configuration>
<icon>${project.basedir}/icons/icon.ico</icon>
</configuration>
</execution>
<execution>
<id>linux</id>
<configuration>
<type>APP_IMAGE</type>
<icon>${project.basedir}/icons/icon.png</icon>
</configuration>
</execution>
</executions>
</plugin>
With above configuration the following command lines can be used:
-
for OS X package:
mvn clean package jpackage:jpackage@mac
-
for Windows package:
mvn clean package jpackage:jpackage@win
-
for Linux package:
mvn clean package jpackage:jpackage@linux