Windows packaging with Maven

This commit is contained in:
Antonin Delpeuch 2018-09-21 09:49:32 +01:00
parent 31436a12d8
commit e89fc5df46
3 changed files with 133 additions and 0 deletions

View File

@ -41,6 +41,10 @@
<exclude>**/tests/**</exclude>
<exclude>**/src/**</exclude>
<exclude>**/*.java</exclude>
<exclude>**/lib-src/**</exclude>
<exclude>**/pom.xml</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/.project</exclude>
</excludes>
</fileSet>
</fileSets>

View File

@ -17,10 +17,50 @@
</parent>
<properties>
<rootdir>${basedir}/..</rootdir>
<fullversion>0.0.0.0</fullversion>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<executions>
<execution>
<id>l4j-clui</id>
<phase>package</phase>
<goals><goal>launch4j</goal></goals>
<configuration>
<headerType>console</headerType>
<outfile>target/openrefine.exe</outfile>
<jar>${rootdir}/server/target/openrefine-${project.version}-server.jar</jar>
<classPath>
<mainClass>com.google.refine.Refine</mainClass>
</classPath>
<jre>
<minVersion>1.8.0</minVersion>
<jdkPreference>preferJre</jdkPreference>
<initialHeapSize>256</initialHeapSize>
<maxHeapSize>1024</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-assembly-plugin</artifactId>
@ -35,6 +75,7 @@
<configuration>
<descriptors>
<descriptor>linux.xml</descriptor>
<descriptor>windows.xml</descriptor>
</descriptors>
</configuration>
</execution>

88
packaging/windows.xml Normal file
View File

@ -0,0 +1,88 @@
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>win-${project.version}</id>
<formats>
<format>zip</format>
</formats>
<baseDirectory>${project.build.finalName}-${project.version}</baseDirectory>
<fileSets>
<fileSet>
<directory>${rootdir}/server/target/lib</directory>
<outputDirectory>server/target/lib</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${rootdir}/server/lib/native</directory>
<outputDirectory>server/target/lib/native</outputDirectory>
<includes>
<include>**/*.dll</include>
</includes>
</fileSet>
<fileSet>
<directory>${rootdir}/main/webapp</directory>
<outputDirectory>webapp</outputDirectory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/butterfly.properties</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${rootdir}/licenses</directory>
<outputDirectory>licenses</outputDirectory>
</fileSet>
<fileSet>
<directory>${rootdir}/licenses</directory>
<outputDirectory>licenses</outputDirectory>
</fileSet>
<fileSet>
<directory>${rootdir}/extensions</directory>
<outputDirectory>webapp/extensions</outputDirectory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/tests/**</exclude>
<exclude>**/src/**</exclude>
<exclude>**/*.java</exclude>
<exclude>**/lib-src/**</exclude>
<exclude>**/pom.xml</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/.project</exclude>
</excludes>
</fileSet>
</fileSets>
<!-- TODO replace $VERSION by ${project.version} in WEB-INF/web.xml -->
<files>
<file>
<source>target/openrefine.exe</source>
</file>
<file>
<source>${rootdir}/conf/openrefine.l4j.ini</source>
</file>
<file>
<source>${rootdir}/refine.bat</source>
</file>
<file>
<source>${rootdir}/refine.ini</source>
</file>
<file>
<source>${rootdir}/README.md</source>
</file>
<file>
<source>${rootdir}/LICENSE.txt</source>
</file>
<file>
<source>${rootdir}/packaging/butterfly.properties</source>
<outputDirectory>webapp/WEB-INF</outputDirectory>
</file>
<file>
<source>${rootdir}/server/target/openrefine-${project.version}-server.jar</source>
<outputDirectory>server/target/lib</outputDirectory>
</file>
</files>
</assembly>