RandomSec/OpenRefine/packaging/pom.xml
2022-01-30 23:08:52 +01:00

417 lines
16 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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.6-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>
<!-- default options for windows: no embedded JRE. Use the "embedded-jre" from ../settings.xml to add a JRE -->
<windows.package.jre.path>%JAVA_HOME%;%PATH%</windows.package.jre.path>
<windows.package.jre.directory>null</windows.package.jre.directory>
<windows.package.jre.outputDirectory>jre</windows.package.jre.outputDirectory>
<windows.package.jre.prefix></windows.package.jre.prefix>
<windows.package.jre.bundledAsFallback>false</windows.package.jre.bundledAsFallback>
</properties>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>sh.tak.appbundler</groupId>
<artifactId>appbundle-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>package-distributions</id>
<configuration>
<descriptors>
<descriptor>linux.xml</descriptor>
<descriptor>windows.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>linux</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>package-distributions</id>
<configuration>
<descriptors>
<descriptor>linux.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>windows</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>package-distributions</id>
<configuration>
<descriptors>
<descriptor>windows.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin> <!-- gathers license files for all dependencies at packaging time -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-plugin.version}</version>
<executions>
<execution>
<phase>generate-test-resources</phase>
<goals>
<goal>download-licenses</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <!-- necessary for Appbundle -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>generate-test-resources</phase>
<configuration>
<target>
<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 todir="${built.webapp.dir}/licenses/"> <!-- licenses for the backend -->
<fileset dir="${project.build.directory}/generated-resources/">
<include name="licenses.xml" />
<include name="licenses/**/*" />
</fileset>
</copy>
<copy todir="${built.webapp.dir}/licenses/licenses/"> <!-- licenses for the frontend -->
<fileset dir="${webapp.dir}/licenses/">
<include name="**/*" />
</fileset>
</copy>
<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="${project.version}"/>
</replace>
<replace file="${built.webapp.dir}/WEB-INF/butterfly.properties">
<replacefilter token="../../extensions" value="extensions"/>
</replace>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>2.1.2</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.14</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.12</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>${windows.package.jre.path}</path>
<minVersion>${java.minversion}</minVersion>
<maxVersion>${java.maxversion}</maxVersion>
<bundledJreAsFallback>${windows.package.jre.bundledAsFallback}</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>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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>package-distributions</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<!-- TBD -->
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>sh.tak.appbundler</groupId>
<artifactId>appbundle-maven-plugin</artifactId>
<version>1.2.0</version>
<dependencies>
<dependency>
<!-- dependency upgraded to >4.0 to fix runtime issues with some JRE versions:
https://stackoverflow.com/questions/53696439/appbundle-maven-plugin-fails-on-mac-osx-with-java-10 -->
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>4.2.7</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 ${project.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-${project.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-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>server</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>