installer
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.verapdf.apps</groupId>
<artifactId>installer</artifactId>
<version>1.30.2</version>
</dependency><!--
This file is part of veraPDF Installer, a module of the veraPDF project.
Copyright (c) 2015-2026, veraPDF Consortium <info@verapdf.org>
All rights reserved.
veraPDF Installer is free software: you can redistribute it and/or modify
it under the terms of either:
The GNU General public license GPLv3+.
You should have received a copy of the GNU General Public License
along with veraPDF Installer as the LICENSE.GPL file in the root of the source
tree. If not, see http://www.gnu.org/licenses/ or
https://www.gnu.org/licenses/gpl-3.0.en.html.
The Mozilla Public License MPLv2+.
You should have received a copy of the Mozilla Public License along with
veraPDF Installer as the LICENSE.MPL file in the root of the source tree.
If a copy of the MPL was not distributed with this file, you can obtain one at
http://mozilla.org/MPL/2.0/.
-->
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.verapdf</groupId>
<artifactId>verapdf-apps</artifactId>
<version>1.30.2</version>
</parent>
<groupId>org.verapdf.apps</groupId>
<artifactId>installer</artifactId>
<name>veraPDF Installer</name>
<description>Builds the veraPDF software installer.</description>
<properties>
<installer.zip.prefix>verapdf-greenfield</installer.zip.prefix>
<installer.output.filename>verapdf-izpack-installer-${project.version}.jar</installer.output.filename>
<izpack.version>5.2.4</izpack.version>
<izpack.staging>${project.build.directory}/staging</izpack.staging>
<izpack.target>${project.build.directory}</izpack.target>
<izpack.scripts>${project.build.scriptSourceDirectory}</izpack.scripts>
<mvn.assembly.version>3.1.0</mvn.assembly.version>
<project.main.dir>${project.basedir}/..</project.main.dir>
<verapdf.gui.package>gui</verapdf.gui.package>
<verapdf.cli.package>cli</verapdf.cli.package>
<verapdf.apps.package.name>Greenfield</verapdf.apps.package.name>
<verapdf.wrapper.gui>org.verapdf.apps.GreenfieldGuiWrapper</verapdf.wrapper.gui>
<verapdf.wrapper.cli>org.verapdf.apps.GreenfieldCliWrapper</verapdf.wrapper.cli>
</properties>
<dependencies>
<dependency>
<groupId>org.verapdf.apps</groupId>
<artifactId>cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.verapdf.apps</groupId>
<artifactId>gui</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${mvn.assembly.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Automatic-Module-Name>org.verapdf.installer</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<!-- Copy izpack resources -->
<id>izpack-staging</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}</outputDirectory>
<resources>
<resource>
<!-- Filter izpack/install.xml to replace Maven variables
like version and build date. -->
<directory>src/main/izpack</directory>
<filtering>true</filtering>
<includes>
<include>install.xml</include>
</includes>
</resource>
<resource>
<!-- Copy the rest without filtering. -->
<directory>src/main/izpack</directory>
<filtering>false</filtering>
<excludes>
<exclude>install.xml</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<!-- Copy izpack resources -->
<id>verapdf-scripts</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}/scripts</outputDirectory>
<delimeters>
<delimeter>@</delimeter>
</delimeters>
<resources>
<resource>
<!-- Filter izpack/install.xml to replace Maven variables
like version and build date. -->
<directory>src/main/scripts</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<!-- Copy the non izpack resources -->
<id>verapdf-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}</outputDirectory>
<resources>
<resource>
<directory>src/main/</directory>
<filtering>false</filtering>
<excludes>
<exclude>izpack</exclude>
<exclude>scripts</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<!-- Copy README and manual from project root dir. -->
<id>verapdf-documents</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}/documents</outputDirectory>
<resources>
<resource>
<directory>${project.main.dir}</directory>
<includes>
<include>README.md</include>
<include>veraPDFPDFAConformanceCheckerGUI.pdf</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<!-- copy izpack custom (custom panels, etc.) jars to izpack staging
custom -->
<id>copy-izpack-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}/bin</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>release-notes</id>
<phase>package</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://raw.githubusercontent.com/veraPDF/veraPDF-library/integration/RELEASENOTES.md</url>
<unpack>false</unpack>
<skipCache>true</skipCache>
<outputDirectory>${project.build.directory}/staging/documents</outputDirectory>
</configuration>
</execution>
<execution>
<id>plugin-pack-integration</id>
<phase>package</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>http://software.verapdf.org/dev/veraPDF-sample-plugin-pack-rel.zip</url>
<unpack>false</unpack>
<skipCache>true</skipCache>
<outputDirectory>${project.build.directory}/staging/plugins</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- We need to tell the izpack-maven-plugin what to use as the base directory
(this is our staging area), and also tell it the install file to use: -->
<plugin>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<version>${izpack.version}</version>
<configuration>
<finalName>verapdf-izpack-installer-${project.version}</finalName>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>izpack</goal>
</goals>
<configuration>
<!-- base for relative paths in izpack descriptor -->
<baseDir>${izpack.staging}</baseDir>
<installFile>${izpack.staging}/install.xml</installFile>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
<!-- must have a dependency here on any code used in the installer, otherwise
the classloader will not find it. So in this case we need our panels and then the
package that contains the base classes for the panels -->
<dependencies>
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-panel</artifactId>
<version>${izpack.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/assembly/app-assembly.xml</descriptor>
</descriptors>
<finalName>${installer.zip.prefix}-${project.version}</finalName>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>