mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
670 lines
36 KiB
XML
670 lines
36 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<artifactId>forge</artifactId>
|
|
<groupId>forge</groupId>
|
|
<version>${revision}</version>
|
|
</parent>
|
|
|
|
<artifactId>forge-gui-desktop</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>Forge</name>
|
|
|
|
<properties>
|
|
<parsedVersion.majorVersion>0</parsedVersion.majorVersion>
|
|
<parsedVersion.minorVersion>0</parsedVersion.minorVersion>
|
|
<parsedVersion.incrementalVersion>0</parsedVersion.incrementalVersion>
|
|
<timestamp>${maven.build.timestamp}</timestamp>
|
|
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
|
|
<mandatory.java.args>--add-opens java.desktop/java.beans=ALL-UNNAMED --add-opens java.desktop/javax.swing.border=ALL-UNNAMED --add-opens java.desktop/javax.swing.event=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/java.awt.image=ALL-UNNAMED --add-opens java.desktop/java.awt.color=ALL-UNNAMED --add-opens java.desktop/sun.awt.image=ALL-UNNAMED --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true -Dfile.encoding=UTF-8</mandatory.java.args>
|
|
</properties>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>timestamp-property</id>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>timestamp-property</goal>
|
|
</goals>
|
|
<configuration>
|
|
<!-- generate MonthDate code to month.date property -->
|
|
<name>month.date</name>
|
|
<pattern>MM.dd</pattern>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>regex-property</id>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>regex-property</goal>
|
|
</goals>
|
|
<configuration>
|
|
<!-- generate versionName from revision property to snapshot-version property -->
|
|
<name>snapshot-version</name>
|
|
<value>${revision}</value>
|
|
<regex>-SNAPSHOT</regex>
|
|
<replacement>-SNAPSHOT-${month.date}</replacement>
|
|
<failIfNoMatch>false</failIfNoMatch>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.akathist.maven.plugins.launch4j</groupId>
|
|
<artifactId>launch4j-maven-plugin</artifactId>
|
|
<version>2.5.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>l4j-gui</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>launch4j</goal>
|
|
</goals>
|
|
<configuration>
|
|
<headerType>gui</headerType>
|
|
<outfile>${project.build.directory}/forge.exe</outfile>
|
|
<jar>${project.build.finalName}-jar-with-dependencies.jar</jar>
|
|
<dontWrapJar>true</dontWrapJar>
|
|
<errTitle>forge</errTitle>
|
|
<downloadUrl>https://bell-sw.com/pages/downloads/#jdk-17-lts</downloadUrl>
|
|
<icon>src/main/config/forge.ico</icon>
|
|
<classPath>
|
|
<mainClass>forge.view.Main</mainClass>
|
|
<addDependencies>false</addDependencies>
|
|
<preCp>anything</preCp>
|
|
</classPath>
|
|
<jre>
|
|
<minVersion>17</minVersion>
|
|
<requiresJdk>true</requiresJdk>
|
|
<maxHeapSize>4096</maxHeapSize>
|
|
<opts>
|
|
<opt>${mandatory.java.args}</opt>
|
|
</opts>
|
|
</jre>
|
|
<versionInfo>
|
|
<fileVersion>
|
|
${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
|
|
</fileVersion>
|
|
<txtFileVersion>
|
|
${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
|
|
</txtFileVersion>
|
|
<fileDescription>Forge</fileDescription>
|
|
<copyright>Forge</copyright>
|
|
<productVersion>
|
|
${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
|
|
</productVersion>
|
|
<txtProductVersion>
|
|
${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0
|
|
</txtProductVersion>
|
|
<productName>Forge</productName>
|
|
<internalName>forge</internalName>
|
|
<originalFilename>forge.exe</originalFilename>
|
|
</versionInfo>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
|
<artifactId>replacer</artifactId>
|
|
<version>1.5.3</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>replace</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<basedir>${basedir}/${configSourceDirectory}</basedir>
|
|
<filesToInclude>forge.sh, forge.command, forge.cmd</filesToInclude>
|
|
<outputBasedir>${project.build.directory}</outputBasedir>
|
|
<outputDir>.</outputDir>
|
|
<regex>false</regex>
|
|
<replacements>
|
|
<replacement>
|
|
<token>$project.build.finalName$</token>
|
|
<value>${project.build.finalName}-jar-with-dependencies.jar</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token>$mandatory.java.args$</token>
|
|
<value>${mandatory.java.args}</value>
|
|
</replacement>
|
|
</replacements>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<attach>false</attach>
|
|
<descriptorRefs>
|
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
</descriptorRefs>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Implementation-Title>${project.name}</Implementation-Title>
|
|
<Implementation-Version>${snapshot-version}</Implementation-Version>
|
|
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
|
|
<Add-Opens>java.desktop/java.beans java.desktop/javax.swing.border java.desktop/javax.swing.event java.desktop/sun.swing java.desktop/java.awt.image java.desktop/java.awt.color java.desktop/sun.awt.image java.desktop/javax.swing java.desktop/java.awt java.base/java.util java.base/java.lang java.base/java.lang.reflect java.base/java.text java.desktop/java.awt.font java.base/jdk.internal.misc java.base/sun.nio.ch java.base/java.nio java.base/java.math java.base/java.util.concurrent java.base/java.net</Add-Opens>
|
|
<Main-Class>forge.view.Main</Main-Class>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>make-assembly</id>
|
|
<!-- this is used for inheritance merges -->
|
|
<phase>package</phase>
|
|
<!-- bind to the packaging phase -->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>released-version</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>released-version</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>parse-version</id>
|
|
<goals>
|
|
<goal>parse-version</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>se.bjurr.gitchangelog</groupId>
|
|
<artifactId>git-changelog-maven-plugin</artifactId>
|
|
<version>1.101.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>GenerateGitChangelog</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>git-changelog</goal>
|
|
</goals>
|
|
<configuration>
|
|
<!-- TODO: insert placeholder for latest version tag -->
|
|
<fromRef>forge-1.6.65</fromRef>
|
|
<file>../forge-gui/release-files/CHANGES.txt</file>
|
|
<templateContent>
|
|
< {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}}
|
|
{{/hasLink}}
|
|
{{^hasLink}}
|
|
### {{name}} {{issue}} {{title}} {{#hasIssueType}} *{{issueType}}* {{/hasIssueType}} {{#hasLabels}} {{#labels}} *{{.}}* {{/labels}} {{/hasLabels}}
|
|
{{/hasLink}}
|
|
{{/hasIssue}}
|
|
{{^hasIssue}}
|
|
### {{name}}
|
|
{{/hasIssue}}
|
|
|
|
{{#commits}}
|
|
**{{{messageTitle}}}**
|
|
|
|
{{#messageBodyItems}}
|
|
* {{.}}
|
|
{{/messageBodyItems}}
|
|
|
|
[{{hash}}](https://github.com/{{ownerName}}/{{repoName}}/commit/{{hash}}) {{authorName}} *{{commitTime}}*
|
|
|
|
{{/commits}}
|
|
|
|
{{/issues}}
|
|
{{/tags}}
|
|
]]>
|
|
</templateContent>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
<resources>
|
|
<resource>
|
|
<directory>filters</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>forge</groupId>
|
|
<artifactId>forge-core</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>forge</groupId>
|
|
<artifactId>forge-game</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>forge</groupId>
|
|
<artifactId>forge-ai</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>forge</groupId>
|
|
<artifactId>forge-gui</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.miglayout</groupId>
|
|
<artifactId>miglayout-swing</artifactId>
|
|
<version>4.2</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.mortennobel</groupId>
|
|
<artifactId>java-image-scaling</artifactId>
|
|
<version>0.8.6</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-module-testng-common</artifactId>
|
|
<version>2.0.9</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.beust</groupId>
|
|
<artifactId>jcommander</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.testng</groupId>
|
|
<artifactId>testng</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.objenesis</groupId>
|
|
<artifactId>objenesis</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy-agent</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<!-- declare a specific dependency to override org.powermock's transitive dependency -->
|
|
<dependency>
|
|
<groupId>org.testng</groupId>
|
|
<artifactId>testng</artifactId>
|
|
<version>7.10.2</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.beust</groupId>
|
|
<artifactId>jcommander</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-module-testng</artifactId>
|
|
<version>2.0.9</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.testng</groupId>
|
|
<artifactId>testng</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-core</artifactId>
|
|
<version>2.0.9</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy-agent</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-api-mockito2</artifactId>
|
|
<version>2.0.9</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-api-support</artifactId>
|
|
<version>2.0.9</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>5.14.2</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.objenesis</groupId>
|
|
<artifactId>objenesis</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy-agent</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
<version>1.15.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy-agent</artifactId>
|
|
<version>1.15.5</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.objenesis</groupId>
|
|
<artifactId>objenesis</artifactId>
|
|
<version>3.4</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.freemarker</groupId>
|
|
<artifactId>freemarker</artifactId>
|
|
<version>2.3.33</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.googlecode.soundlibs</groupId>
|
|
<artifactId>jlayer</artifactId>
|
|
<version>1.0.1.4</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.beust</groupId>
|
|
<artifactId>jcommander</artifactId>
|
|
<version>1.82</version>
|
|
<type>jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sipgate</groupId>
|
|
<artifactId>mp3-wav</artifactId>
|
|
<version>1.0.4</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.googlecode.soundlibs</groupId>
|
|
<artifactId>jlayer</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.twelvemonkeys.imageio</groupId>
|
|
<artifactId>imageio-jpeg</artifactId>
|
|
<version>3.12.0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<properties>
|
|
<license.file.name>"LICENSE.txt"</license.file.name>
|
|
<changes.file.name>"CHANGES.txt"</changes.file.name>
|
|
<readme.file.name>"MANUAL.txt"</readme.file.name>
|
|
<forge.file.name>"Forge"</forge.file.name>
|
|
<applications.file.name>"Applications"</applications.file.name>
|
|
</properties>
|
|
<id>osx</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.ant</groupId>
|
|
<artifactId>ant-nodeps</artifactId>
|
|
<version>1.8.1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>osx-appbundle</id>
|
|
<phase>pre-integration-test</phase>
|
|
<configuration>
|
|
<target>
|
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx" />
|
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx">
|
|
<fileset dir="${basedir}/../forge-gui/" includes="LICENSE.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/release-files/" includes="CHANGES.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/release-files/" includes="CONTRIBUTORS.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/release-files/" includes="ISSUES.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/release-files/" includes="INSTALLATION.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/release-files/" includes="GAMEPAD_README.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/" includes="MANUAL.txt" />
|
|
<fileset dir="${basedir}/" includes="sentry.properties" />
|
|
</copy>
|
|
<taskdef name="bundleapp" classpath="${basedir}/../forge-gui/${configSourceDirectory}/appbundler-1.0-custom.jar" classname="com.oracle.appbundler.AppBundlerTask" />
|
|
<bundleapp outputdirectory="${project.build.directory}/${project.build.finalName}-osx" name="${project.name}" displayname="${project.name}" shortversion="${project.version}" identifier="forge.view.Main" icon="${basedir}/${configSourceDirectory}/Forge.icns" applicationCategory="public.app-category.games" mainclassname="forge.view.Main">
|
|
<classpath file="${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar" />
|
|
<classpath file="${basedir}/../forge-gui/forge.profile.properties.example" />
|
|
<option value="-Dapple.laf.useScreenMenuBar=true" />
|
|
<option value="-Dcom.apple.macos.use-file-dialog-packages=true" />
|
|
<option value="-Dcom.apple.macos.useScreenMenuBar=true" />
|
|
<option value="-Dcom.apple.mrj.application.apple.menu.about.name=Forge" />
|
|
<option value="-Dcom.apple.smallTabs=true" />
|
|
<option value="-Xmx4096M" />
|
|
<option value="-Dapp.dir=$APP_ROOT/Contents/Resources/" />
|
|
</bundleapp>
|
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res">
|
|
<fileset dir="${basedir}/../forge-gui/res" excludes="**/cardsfolder/**" />
|
|
</copy>
|
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder" />
|
|
<zip destfile="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder/cardsfolder.zip" basedir="${basedir}/../forge-gui/res/cardsfolder" level="1" />
|
|
<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" resource="/Applications" />
|
|
<exec executable="${basedir}/../forge-gui/${configSourceDirectory}/create-dmg" failonerror="false">
|
|
<arg line="--volname ${project.name}-${project.version} --background ${basedir}/../forge-gui/${configSourceDirectory}/backgroundImage.jpg --window-size 700 419 --icon-size 64 --icon ${forge.file.name} 141 283 --icon ${applications.file.name} 452 283 --icon ${changes.file.name} 645 80 --icon ${license.file.name} 645 200 --icon ${readme.file.name} 645 320 ${project.build.directory}/${project.build.finalName}.dmg ${project.build.directory}/${project.build.finalName}-osx" />
|
|
</exec>
|
|
<tar basedir="${project.build.directory}" includes="${project.build.finalName}.dmg" destfile="${project.build.directory}/${project.build.finalName}-osx.tar.bz2" compression="bzip2" />
|
|
<!--<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" action="delete" /> -->
|
|
<exec executable="rm" failonerror="false">
|
|
<arg line="-f ${project.build.directory}/${project.build.finalName}-osx/Applications" />
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>released-version</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>released-version</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>parse-version</id>
|
|
<goals>
|
|
<goal>parse-version</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>attach-distribution-osx</id>
|
|
<phase>post-integration-test</phase>
|
|
<goals>
|
|
<goal>attach-artifact</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifacts>
|
|
<artifact>
|
|
<file>${project.build.directory}/${project.build.finalName}-osx.tar.bz2
|
|
</file>
|
|
<type>tar.bz2</type>
|
|
<classifier>osx</classifier>
|
|
</artifact>
|
|
</artifacts>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<properties>
|
|
<license.file.name>"LICENSE.txt"</license.file.name>
|
|
<changes.file.name>"README.txt"</changes.file.name>
|
|
<readme.file.name>"MANUAL.txt"</readme.file.name>
|
|
<forge.file.name>"Forge"</forge.file.name>
|
|
<applications.file.name>"Applications"</applications.file.name>
|
|
</properties>
|
|
<id>osx-release</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.ant</groupId>
|
|
<artifactId>ant-nodeps</artifactId>
|
|
<version>1.8.1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>osx-appbundle</id>
|
|
<phase>pre-integration-test</phase>
|
|
<configuration>
|
|
<target>
|
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx" />
|
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx">
|
|
<fileset dir="${basedir}/../forge-gui/" includes="LICENSE.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/" includes="README.txt" />
|
|
<fileset dir="${basedir}/../forge-gui/" includes="MANUAL.txt" />
|
|
<fileset dir="${basedir}/" includes="sentry.properties" />
|
|
</copy>
|
|
<taskdef name="bundleapp" classpath="${basedir}/../forge-gui/${configSourceDirectory}/appbundler-1.0-custom.jar" classname="com.oracle.appbundler.AppBundlerTask" />
|
|
<bundleapp outputdirectory="${project.build.directory}/${project.build.finalName}-osx" name="${project.name}" displayname="${project.name}" shortversion="${project.version}" identifier="forge.view.Main" icon="${basedir}/${configSourceDirectory}/Forge.icns" applicationCategory="public.app-category.games" mainclassname="forge.view.Main">
|
|
<classpath file="${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar" />
|
|
<classpath file="${basedir}/../forge-gui/forge.profile.properties.example" />
|
|
<option value="-Dapple.laf.useScreenMenuBar=true" />
|
|
<option value="-Dcom.apple.macos.use-file-dialog-packages=true" />
|
|
<option value="-Dcom.apple.macos.useScreenMenuBar=true" />
|
|
<option value="-Dcom.apple.mrj.application.apple.menu.about.name=Forge" />
|
|
<option value="-Dcom.apple.smallTabs=true" />
|
|
<option value="-Xmx4096M" />
|
|
<option value="-Dapp.dir=$APP_ROOT/Contents/Resources/" />
|
|
</bundleapp>
|
|
<copy todir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res">
|
|
<fileset dir="${basedir}/../forge-gui/res" excludes="**/cardsfolder/**" />
|
|
</copy>
|
|
<mkdir dir="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder" />
|
|
<zip destfile="${project.build.directory}/${project.build.finalName}-osx/Forge.app/Contents/Resources/res/cardsfolder/cardsfolder.zip" basedir="${basedir}/../forge-gui/res/cardsfolder" level="1" />
|
|
<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" resource="/Applications" />
|
|
<exec executable="${basedir}/../forge-gui/${configSourceDirectory}/create-dmg" failonerror="false">
|
|
<arg line="--volname ${project.name}-${project.version} --background ${basedir}/../forge-gui/${configSourceDirectory}/backgroundImage.jpg --window-size 700 419 --icon-size 64 --icon ${forge.file.name} 141 283 --icon ${applications.file.name} 452 283 --icon ${changes.file.name} 645 80 --icon ${license.file.name} 645 200 --icon ${readme.file.name} 645 320 ${project.build.directory}/${project.build.finalName}.dmg ${project.build.directory}/${project.build.finalName}-osx" />
|
|
</exec>
|
|
<tar basedir="${project.build.directory}" includes="${project.build.finalName}.dmg" destfile="${project.build.directory}/${project.build.finalName}-osx.tar.bz2" compression="bzip2" />
|
|
<!--<symlink link="${project.build.directory}/${project.build.finalName}-osx/Applications" action="delete" /> -->
|
|
<exec executable="rm" failonerror="false">
|
|
<arg line="-f ${project.build.directory}/${project.build.finalName}-osx/Applications" />
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>released-version</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>released-version</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>parse-version</id>
|
|
<goals>
|
|
<goal>parse-version</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>attach-distribution-osx</id>
|
|
<phase>post-integration-test</phase>
|
|
<goals>
|
|
<goal>attach-artifact</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifacts>
|
|
<artifact>
|
|
<file>${project.build.directory}/${project.build.finalName}-osx.tar.bz2
|
|
</file>
|
|
<type>tar.bz2</type>
|
|
<classifier>osx</classifier>
|
|
</artifact>
|
|
</artifacts>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|