<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> <artifactId>packaging</artifactId> <name>OpenRefine - packaging</name> <description>Creates packages for all supported operating systems</description> <url>http://openrefine.org/</url> <parent> <groupId>org.openrefine</groupId> <artifactId>openrefine</artifactId> <version>3.3-SNAPSHOT</version> </parent> <properties> <rootdir>${basedir}/..</rootdir> <fullversion>0.0.0.0</fullversion> <built.webapp.dir>./target/OpenRefine.app/Contents/Resources/webapp/</built.webapp.dir> <webapp.dir>../main/webapp</webapp.dir> <webapp.target>../main/target</webapp.target> <icon.path>../graphics/icon/openrefine.icns</icon.path> <mac.jre.path>/opt/jre1.8.0_181.jre</mac.jre.path> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> <executions> <!-- This is a clean snapshot of launch4j's master branch, which includes fixes to Java discovery that we need to support recent versions of Java. When launch4j-3.13 is officially released, remove this and the locally stored jars --> <execution> <id>install-launch4j-core</id> <phase>process-resources</phase> <configuration> <file>${basedir}/lib-local/launch4j-3.13-SNAPSHOT-core.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>core</classifier> <version>3.13-SNAPSHOT</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> <execution> <id>install-launch4j-linux64</id> <phase>process-resources</phase> <configuration> <file>${basedir}/lib-local/launch4j-3.13-SNAPSHOT-workdir-linux64.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>workdir-linux64</classifier> <version>3.13-SNAPSHOT</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> <execution> <id>install-launch4j-linux</id> <phase>process-resources</phase> <configuration> <file>${basedir}/lib-local/launch4j-3.13-SNAPSHOT-workdir-linux.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>workdir-linux</classifier> <version>3.13-SNAPSHOT</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> <execution> <id>install-launch4j-win32</id> <phase>process-resources</phase> <configuration> <file>${basedir}/lib-local/launch4j-3.13-SNAPSHOT-workdir-win32.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>workdir-win32</classifier> <version>3.13-SNAPSHOT</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> <execution> <id>install-launch4j-mac</id> <phase>process-resources</phase> <configuration> <file>${basedir}/lib-local/launch4j-3.13-SNAPSHOT-workdir-mac.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>workdir-mac</classifier> <version>3.13-SNAPSHOT</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- necessary for launch4j --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>generate-test-resources</phase> <configuration> <tasks> <mkdir dir="./target/"/> <mkdir dir="${built.webapp.dir}" /> <copy todir="${built.webapp.dir}"> <fileset dir="${webapp.dir}"> <include name="**/*"/> <exclude name="WEB-INF/classes/**"/> <exclude name="WEB-INF/lib-local/**"/> <exclude name="WEB-INF/lib-local-src/**"/> <exclude name="WEB-INF/lib/icu4j*.jar"/> </fileset> </copy> <copy todir="${built.webapp.dir}"> <fileset dir="${webapp.dir}"> <include name="**/*.properties"/> </fileset> </copy> <copy todir="${built.webapp.dir}/WEB-INF/lib/"> <fileset dir="${webapp.target}"> <include name="openrefine-main.jar" /> </fileset> </copy> <!-- <copy file="../server/target/openrefine-${project.version}-server.jar" tofile="${built.webapp.dir}/WEB-INF/lib/openrefine-${project.version}.jar"/> --> <copy todir="${built.webapp.dir}/extensions"> <fileset dir="../extensions"> <include name="**/*"/> <exclude name="**/pom.xml"/> <exclude name="**/src/**"/> <exclude name="**/lib-local/**"/> <exclude name="**/lib-local-src/**"/> <exclude name="**/target/**" /> <exclude name="**/tests/**" /> <exclude name="**/*.java"/> <exclude name="**/.settings/**" /> <exclude name="**/.project" /> </fileset> </copy> <replace file="${built.webapp.dir}/WEB-INF/web.xml"> <replacefilter token="$VERSION" value="${version}"/> </replace> <replace file="${built.webapp.dir}/WEB-INF/butterfly.properties"> <replacefilter token="../../extensions" value="extensions"/> </replace> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.akathist.maven.plugins.launch4j</groupId> <artifactId>launch4j-maven-plugin</artifactId> <version>1.7.25</version> <!-- This is a clean snapshot of launch4j's master branch, which includes fixes to Java discovery that we need to support recent versions of Java. When the maven plugin is updated to use launch4j-3.13, this can be removed. --> <dependencies> <dependency> <groupId>net.sf.launch4j</groupId> <artifactId>launch4j</artifactId> <classifier>core</classifier> <version>3.13-SNAPSHOT</version> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.9</version> </dependency> </dependencies> <executions> <execution> <id>l4j-clui</id> <phase>package</phase> <goals><goal>launch4j</goal></goals> <configuration> <headerType>console</headerType> <outfile>target/openrefine.exe</outfile> <jar>server/target/lib/openrefine-${project.version}-server.jar</jar> <dontWrapJar>true</dontWrapJar> <saveConfig>true</saveConfig> <icon>openrefine.ico</icon> <classPath> <mainClass>com.google.refine.Refine</mainClass> <jarLocation>server/target/lib/</jarLocation> <postCp>server/target/lib/*.jar</postCp> </classPath> <jre> <path>%JAVA_HOME%;%PATH%</path> <minVersion>1.8.0</minVersion> <bundledJreAsFallback>true</bundledJreAsFallback> <initialHeapSize>512</initialHeapSize> <maxHeapSize>2048</maxHeapSize> <opts> <opt>-Djava.library.path=server/target/lib/native/windows</opt> </opts> </jre> <versionInfo> <fileVersion>${fullversion}</fileVersion> <txtFileVersion>${project.version}</txtFileVersion> <fileDescription>openrefine</fileDescription> <copyright>Copyright (c) 2018 OpenRefine contributors, 2010 Google, Inc.</copyright> <productVersion>${fullversion}</productVersion> <txtProductVersion>${project.version}</txtProductVersion> <productName>OpenRefine</productName> <internalName>openrefine</internalName> <originalFilename>openrefine.exe</originalFilename> </versionInfo> </configuration> </execution> </executions> </plugin> <plugin> <groupId>sh.tak.appbundler</groupId> <artifactId>appbundle-maven-plugin</artifactId> <version>1.2.0</version> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency> </dependencies> <configuration> <mainClass>com.google.refine.Refine</mainClass> <bundleName>OpenRefine</bundleName> <buildDirectory>target/OpenRefine ${version}</buildDirectory> <iconFile>${icon.path}</iconFile> <generateDiskImageFile>true</generateDiskImageFile> <diskImageFile>${project.build.directory}/${project.build.finalName}-mac-${project.version}.dmg</diskImageFile> <jvmVersion>1.8</jvmVersion> <jrePath>${mac.jre.path}</jrePath> <jvmOptions> <param>-Xms512M</param> <param>-Xmx2048M</param> <param>-Drefine.version=${project.version}</param> <param>-Drefine.webapp=$APP_ROOT/Contents/Resources/webapp</param> </jvmOptions> <additionalResources> <fileSet> <directory>target</directory> <includes> <include>OpenRefine.app/Contents/Resources/webapp/**/**</include> </includes> </fileSet> </additionalResources> <additionalBundledClasspathResources> <fileSet> <directory>${rootdir}/server/target/lib/</directory> <includes> <include>*.jar</include> </includes> </fileSet> <fileSet> <directory>${rootdir}/server/target</directory> <includes> <include>openrefine-${version}-server.jar</include> </includes> <excludes> <exclude>**/lib/**</exclude> <exclude>**/org/**</exclude> </excludes> </fileSet> </additionalBundledClasspathResources> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>bundle</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>package-distributions</id> <goals> <goal>single</goal> </goals> <phase>package</phase> <configuration> <descriptors> <descriptor>linux.xml</descriptor> <descriptor>windows.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> <pluginManagement> <plugins> <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId> org.apache.maven.plugins </groupId> <artifactId> maven-antrun-plugin </artifactId> <versionRange>[1.4,)</versionRange> <goals> <goal>run</goal> </goals> </pluginExecutionFilter> <action> <ignore></ignore> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>server</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> </dependencies> </project>