<?xml version="1.0" encoding="UTF-8"?>
<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.daisy</groupId>
    <artifactId>daisy</artifactId>
    <version>5</version>
    <relativePath />
  </parent>
  <groupId>org.daisy.pipeline</groupId>
  <artifactId>assembly</artifactId>
  <version>1.14.4</version>
  <packaging>pom</packaging>
  <name>DAISY Pipeline 2 :: Assembly</name>
  <description>Builds the main distribution of the DAISY Pipeline 2.</description>
  <scm>
    <connection>scm:git:git@github.com:daisy-consortium/pipeline-assembly.git</connection>
    <url>scm:git:git@github.com:daisy-consortium/pipeline-assembly.git</url>
    <developerConnection>scm:git:git@github.com:daisy-consortium/pipeline-assembly.git</developerConnection>
    <tag>v1.14.4</tag>
  </scm>
  <properties>
    <cli.version>2.1.5</cli.version>
    <javafx.version>11.0.1</javafx.version>
    <!--
        for package-exe
    -->
    <nsis.scriptfile>${project.build.directory}/nsis/installer.nsi</nsis.scriptfile>
    <nsis.output.file>assembly-${project.version}-win.exe</nsis.output.file>
    <!--
        for package-deb
    -->
    <deb.user>pipeline2</deb.user>
    <deb.pipeline.home>/opt/daisy-pipeline2</deb.pipeline.home>
    <deb.pipeline.data>/var/opt/daisy-pipeline2</deb.pipeline.data>
    <deb.pipeline.log>/var/log/daisy-pipeline2</deb.pipeline.log>
    <deb.pipeline.config>/etc/opt/daisy-pipeline2</deb.pipeline.config>
    <!--
        for package-deb-cli
    -->
    <deb.pipeline.cli.home>/opt/daisy-pipeline2-cli</deb.pipeline.cli.home>
    <deb.pipeline.cli.config>/etc/opt/daisy-pipeline2-cli</deb.pipeline.cli.config>
    <!--
        for package-rpm and package-rpm-cli
    -->
    <rpm.user>root</rpm.user>
    <rpm.group>root</rpm.group>
    <rpm.pipeline.home>/opt/daisy-pipeline2</rpm.pipeline.home>
    <rpm.pipeline.cli.home>/opt/daisy-pipeline2/cli</rpm.pipeline.cli.home>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>cli</artifactId>
        <version>${cli.version}</version>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>gui</artifactId>
        <version>1.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>updater</artifactId>
        <version>1.0.2</version>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>updater-gui</artifactId>
        <version>1.0.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.main</artifactId>
        <version>5.6.10</version>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>ds-to-spi-runtime</artifactId>
        <version>1.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline</groupId>
        <artifactId>framework-bom</artifactId>
        <version>1.14.4</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.daisy.pipeline.modules</groupId>
        <artifactId>modules-bom</artifactId>
        <version>1.14.3</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-base</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-web</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>${javafx.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <extensions>
      <!--
           Version 2.2 has issues with Maven 3.0.3:
           java.lang.NoSuchMethodError: org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.getReadTimeout()I
           Tweak taken from:  http://code.google.com/p/phloc-parent-pom/source/browse/trunk/pom.xml?r=47
      -->
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>2.1</version>
      </extension>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-http</artifactId>
        <version>2.1</version>
      </extension>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-file</artifactId>
        <version>2.1</version>
      </extension>
    </extensions>
    <plugins>
      <plugin>
        <groupId>org.daisy.maven</groupId>
        <artifactId>xspec-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
          <execution>
            <id>xspecTest</id>
            <phase>test</phase>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.daisy.maven</groupId>
            <artifactId>xspec-runner</artifactId>
            <version>1.0.2</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.7</version>
          <configuration>
            <prependGroupId>true</prependGroupId>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.2</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.scm</groupId>
              <artifactId>maven-scm-provider-gitexe</artifactId>
              <version>1.9.1</version>
            </dependency>
          </dependencies>
          <configuration>
            <tagNameFormat>v@{project.version}</tagNameFormat>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-help-plugin</artifactId>
          <version>2.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.5.0</version>
        </plugin>
        <plugin>
          <groupId>com.github.eirslett</groupId>
          <artifactId>frontend-maven-plugin</artifactId>
          <version>1.7.5</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>nsis-maven-plugin</artifactId>
          <version>1.0-alpha-1</version>
        </plugin>
        <plugin>
          <groupId>org.vafer</groupId>
          <artifactId>jdeb</artifactId>
          <version>1.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>rpm-maven-plugin</artifactId>
          <version>2.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jlink-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!--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-dependency-plugin</artifactId>
                    <versionRange>[2.4,)</versionRange>
                    <goals>
                      <goal>copy</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>wagon-maven-plugin</artifactId>
                    <versionRange>[1.0-beta-4,)</versionRange>
                    <goals>
                      <goal>download</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>copy-artifacts</id>
      <build>
      <plugins>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-felix-launcher</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/bootstrap</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.main</artifactId>
                  <destFileName>felix.jar</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-felix-bundles</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/bundles</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.configadmin</artifactId>
                  <version>1.6.0</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.dependencymanager</artifactId>
                  <version>3.1.0</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.eventadmin</artifactId>
                  <version>1.3.2</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.fileinstall</artifactId>
                  <version>3.2.6</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.log</artifactId>
                  <version>1.0.1</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.metatype</artifactId>
                  <version>1.0.6</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.scr</artifactId>
                  <version>2.0.14</version> <!-- does not work with 2.1.0 -->
                </artifactItem>
                <artifactItem>
                  <groupId>org.osgi</groupId>
                  <artifactId>org.osgi.enterprise</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-felix-gogo</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/gogo</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.gogo.command</artifactId>
                  <version>0.14.0</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.gogo.runtime</artifactId>
                  <version>0.12.1</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>org.apache.felix.gogo.shell</artifactId>
                  <version>0.10.0</version>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-framework</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/common</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>common-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>calabash-adapter</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>framework-core</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>logging-appender</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>modules-registry</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>saxon-adapter</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>xmlcatalog</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>xproc-api</artifactId>
                </artifactItem>
                <!--
                    3rd-party dependencies
                -->
                <artifactItem>
                  <groupId>javax.xml.crypto</groupId>
                  <artifactId>jsr105-api</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>javax.xml.parsers</groupId>
                  <artifactId>jaxp-api</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.httpcomponents</groupId>
                  <artifactId>httpclient-osgi</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.httpcomponents</groupId>
                  <artifactId>httpcore-osgi</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>jing</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>nu.validator.htmlparser</groupId>
                  <artifactId>htmlparser</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>com.xmlcalabash</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>saxon-he</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>servlet-api</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>com.google.guava</groupId>
                  <artifactId>guava</artifactId>
                  <!-- FIXME: remove when framework-bom updated -->
                  <version>24.1.1-android</version>
                </artifactItem>
                <artifactItem>
                  <groupId>commons-codec</groupId>
                  <artifactId>commons-codec</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>commons-fileupload</groupId>
                  <artifactId>commons-fileupload</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>commons-io</groupId>
                  <artifactId>commons-io</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.codehaus.woodstox</groupId>
                  <artifactId>woodstox-core-lgpl</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.codehaus.woodstox</groupId>
                  <artifactId>stax2-api</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>ch.qos.logback</groupId>
                  <artifactId>logback-classic</artifactId>
                  <version>1.0.11</version>
                </artifactItem>
                <artifactItem>
                  <groupId>ch.qos.logback</groupId>
                  <artifactId>logback-core</artifactId>
                  <version>1.0.11</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.slf4j</groupId>
                  <artifactId>slf4j-api</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.slf4j</groupId>
                  <artifactId>jul-to-slf4j</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.slf4j</groupId>
                  <artifactId>jcl-over-slf4j</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-framework-osgi</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/bundles</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>woodstox-osgi-adapter</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>logback-osgi-adapter</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-framework-no-osgi</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/no-osgi</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>ds-to-spi-runtime</artifactId>
                </artifactItem>
                <!-- dependency of ds-to-spi-runtime -->
                <dependency>
                  <groupId>org.osgi</groupId>
                  <artifactId>org.osgi.core</artifactId>
                </dependency>
                <!-- dependencies of XMLCalabash (the first two are embedded with Bundle-ClassPath) -->
                <artifactItem>
                  <groupId>com.nwalsh</groupId>
                  <artifactId>nwalsh-annotations</artifactId>
                  <version>1.0.0</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.xmlresolver</groupId>
                  <artifactId>xmlresolver</artifactId>
                  <version>0.13.1</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.atteo.classindex</groupId>
                  <artifactId>classindex</artifactId>
                  <version>3.3</version>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-volatile</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/volatile</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>framework-volatile</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-persistence</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/persistence</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>persistence-derby</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>framework-persistence</artifactId>
                </artifactItem>
                <!--
                    3rd-party dependencies
                -->
                <artifactItem>
                  <groupId>javax.el</groupId>
                  <artifactId>javax.el-api</artifactId>
                  <version>3.0.0</version>
                </artifactItem>
                <artifactItem>
                  <groupId>javax.enterprise</groupId>
                  <artifactId>cdi-api</artifactId>
                  <version>2.0.SP1</version>
                </artifactItem>
                <artifactItem>
                  <groupId>javax.interceptor</groupId>
                  <artifactId>javax.interceptor-api</artifactId>
                  <version>1.2.2</version>
                </artifactItem>
                <artifactItem>
                  <groupId>javax.transaction</groupId>
                  <artifactId>javax.transaction-api</artifactId>
                  <version>1.3</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse</groupId>
                  <artifactId>org.eclipse.gemini.jpa</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.gemini</groupId>
                  <artifactId>org.eclipse.gemini.dbaccess.derby</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.gemini</groupId>
                  <artifactId>org.eclipse.gemini.dbaccess.util</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>org.eclipse.persistence.asm</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>org.eclipse.persistence.antlr</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>org.eclipse.persistence.core</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>org.eclipse.persistence.jpa</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>javax.persistence</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-persistence-osgi</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/persistence</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.eclipse.gemini</groupId>
                  <artifactId>org.apache.derby</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-persistence-no-osgi</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/no-osgi/persistence</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.derby</groupId>
                  <artifactId>derby</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-webservice</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/webservice</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>webservice</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.restlet.osgi</groupId>
                  <artifactId>org.restlet</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.restlet.osgi</groupId>
                  <artifactId>org.restlet.ext.fileupload</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.restlet.osgi</groupId>
                  <artifactId>org.restlet.ext.xml</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.restlet.osgi</groupId>
                  <artifactId>org.restlet.ext.jetty</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.restlet.osgi</groupId>
                  <artifactId>org.restlet.ext.ssl</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-server</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-ajp</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-util</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-http</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-io</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.jetty</groupId>
                  <artifactId>jetty-continuation</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>jsslutils</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-gui</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/gui</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>gui</artifactId>
                </artifactItem>
                <!--
                    framework dependencies
                -->
                <artifactItem>
                  <groupId>org.daisy.pipeline</groupId>
                  <artifactId>updater-wrapper</artifactId>
                </artifactItem>
                <!--
                    3rd-party dependencies
                -->
                <dependency>
                  <groupId>de.jangassen</groupId>
                  <artifactId>nsmenufx</artifactId>
                </dependency>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>pegdown</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>parboiled</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.ow2.asm</groupId>
                  <artifactId>asm</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.ow2.asm</groupId>
                  <artifactId>asm-analysis</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.ow2.asm</groupId>
                  <artifactId>asm-tree</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.ow2.asm</groupId>
                  <artifactId>asm-util</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.parboiled</groupId>
                  <artifactId>parboiled-core</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-javafx-linux</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/gui/bootstrap/linux</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-base</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-graphics</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-controls</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-web</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-fxml</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-javafx-mac</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/gui/bootstrap/mac</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-base</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-graphics</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-controls</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-web</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-fxml</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-javafx-win</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/gui/bootstrap/win</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-base</artifactId>
                  <classifier>win</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-graphics</artifactId>
                  <classifier>win</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-controls</artifactId>
                  <classifier>win</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-web</artifactId>
                  <classifier>win</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.openjfx</groupId>
                  <artifactId>javafx-fxml</artifactId>
                  <classifier>win</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-modules</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/common</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>asciimath-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>audio-common</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>audio-encoder-lame</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>common-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>css-speech</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>css-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy202-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy202-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy202-validator</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy202-to-daisy3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy3-to-daisy202</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy3-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>daisy3-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-break-detection</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-daisy3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-html</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-odt</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-rtf</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-to-zedai</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-tts</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-tts</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>dtbook-validator</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub-to-daisy</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub2-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-validator</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>ace-adapter</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epubcheck-adapter</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-to-daisy202</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-to-daisy3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>epub3-to-html</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>file-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>fileset-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>html-break-detection</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>html-to-dtbook</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>html-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>html-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>image-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>mathml-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>mathml-to-ssml</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>smil-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>mediatype-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>metadata-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>nimas-fileset-validator</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>nlp-common</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>nlp-omnilang-lexer</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>nlp-ruled-lexer</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>odf-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>text-to-ssml</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-acapela</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-cereproc</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-espeak</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-google</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-qfrency</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-common</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>validation-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>zedai-to-epub3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>zedai-to-html</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>zedai-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>zip-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>common-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>css-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>dotify-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>dtbook-to-pef</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>epub3-to-pef</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>html-to-pef</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>libhyphen-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>liblouis-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>pef-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>texhyph-utils</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>zedai-to-pef</artifactId>
                </artifactItem>
                <!--
                    3rd-party dependencies
                -->
                <artifactItem>
                  <groupId>net.java.dev.jna</groupId>
                  <artifactId>jna</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>jnaerator</artifactId>
                </artifactItem>
                <artifactItem>
                  <!-- required by jstyleparser -->
                  <!-- TODO build our own bundle ? -->
                  <groupId>org.apache.servicemix.bundles</groupId>
                  <artifactId>org.apache.servicemix.bundles.antlr-runtime</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>jstyleparser</artifactId>
                </artifactItem>
                <!--
                    for braille modules
                -->
                <artifactItem>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-lang3</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-text</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>com.googlecode.texhyphj</groupId>
                  <artifactId>texhyphj</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.bindings</groupId>
                  <artifactId>jhyphen</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.braille</groupId>
                  <artifactId>braille-css</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.dotify</groupId>
                  <artifactId>dotify.library</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>io.bit3.jsass</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.liblouis</groupId>
                  <artifactId>liblouis-java</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.sharegov</groupId>
                  <artifactId>mjson</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.unbescape</groupId>
                  <artifactId>unbescape</artifactId>
                </artifactItem>
                <!--
                    for epubcheck-adapter
                -->
                <artifactItem>
                  <groupId>org.w3c</groupId>
                  <artifactId>epubcheck</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.commons</groupId>
                  <artifactId>commons-compress</artifactId>
                  <!-- FIXME: remove when modules-bom updated -->
                  <version>1.20</version>
                </artifactItem>
                <artifactItem>
                  <groupId>org.codehaus.jackson</groupId>
                  <artifactId>jackson-core-asl</artifactId>
                </artifactItem>
                <artifactItem>
                  <groupId>org.codehaus.jackson</groupId>
                  <artifactId>jackson-mapper-asl</artifactId>
                </artifactItem>
                <!--
                    for tts-adapter-google
                -->
                <artifactItem>
                  <groupId>org.json</groupId>
                  <artifactId>json</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-modules-osgi</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/osgi/bundles</outputDirectory>
              <artifactItems>
                <!--
                    epubcheck requires older version of Jing
                -->
                <artifactItem>
                  <groupId>org.daisy.libs</groupId>
                  <artifactId>jing</artifactId>
                  <version>20120724.0.0</version>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-modules-linux</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/common/linux</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>libhyphen-utils</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>liblouis-utils</artifactId>
                  <classifier>linux</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-modules-mac</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/common/mac</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>libhyphen-utils</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>liblouis-utils</artifactId>
                  <classifier>mac</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-osx</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-modules-win</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/jars/common/win</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>liblouis-utils</artifactId>
                  <classifier>windows</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules.braille</groupId>
                  <artifactId>libhyphen-utils</artifactId>
                  <classifier>windows</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.daisy.pipeline.modules</groupId>
                  <artifactId>tts-adapter-sapinative</artifactId>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      </plugins>
      </build>
    </profile>
    <profile>
      <id>generate-release-descriptor</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-help-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-effective-pom</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>effective-pom</goal>
                </goals>
                <configuration>
                  <output>target/effective-pom.xml</output>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-release-descriptor</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <java classname="net.sf.saxon.Transform" failonerror="true">
                      <arg value="${project.basedir}/target/effective-pom.xml" />
                      <arg value="${project.basedir}/src/main/xslt/pom-to-release.xslt" />
                      <arg value="time=${maven.build.timestamp}" />
                      <arg line="-o:${project.basedir}/target/release-descriptor/releaseDescriptor.xml" />
                    </java>
                  </target>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>Saxon-HE</artifactId>
                <version>9.5.1-5</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-cli-mac</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-cli-mac</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>cli</artifactId>
                      <type>zip</type>
                      <classifier>darwin_amd64</classifier>
                      <outputDirectory>${project.build.directory}/cli/mac32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-cli-linux</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-cli-linux</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>cli</artifactId>
                      <type>zip</type>
                      <classifier>linux_386</classifier>
                      <outputDirectory>${project.build.directory}/cli/linux32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-cli-win</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-cli-win</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>cli</artifactId>
                      <type>zip</type>
                      <classifier>windows_386</classifier>
                      <outputDirectory>${project.build.directory}/cli/win32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-updater-mac</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-updater-mac</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>updater</artifactId>
                      <type>zip</type>
                      <classifier>darwin_amd64</classifier>
                      <outputDirectory>${project.build.directory}/updater/mac32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-updater-linux</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-updater-linux</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>updater</artifactId>
                      <type>zip</type>
                      <classifier>linux_386</classifier>
                      <outputDirectory>${project.build.directory}/updater/linux32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-updater-win</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-updater-win</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>updater</artifactId>
                      <type>zip</type>
                      <classifier>windows_386</classifier>
                      <outputDirectory>${project.build.directory}/updater/win32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unpack-updater-gui-win</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>unpack-updater-gui-win</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.daisy.pipeline</groupId>
                      <artifactId>updater-gui</artifactId>
                      <type>zip</type>
                      <classifier>windows_386</classifier>
                      <outputDirectory>${project.build.directory}/updater/win32</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-mac-dir</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-mac-dir</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <formats>
                    <format>dir</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-mac.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-mac.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-linux-dir</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-linux-dir</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <formats>
                    <format>dir</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-linux.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-linux.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-win-dir</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-win-dir</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <formats>
                    <format>dir</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-win.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-win.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-mac-zip</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-mac-zip</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                  <formats>
                    <format>zip</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-mac.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-mac.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-linux-zip</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-linux-zip</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                  <formats>
                    <format>zip</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-linux.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-linux.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-win-zip</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-win-zip</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                  <formats>
                    <format>zip</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-win.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-win.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>assemble-minimal-zip</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>assemble-minimal-zip</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                  <formats>
                    <format>zip</format>
                  </formats>
                  <descriptors>
                    <descriptor>src/main/assembly/dist-minimal.xml</descriptor>
                  </descriptors>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-linux.properties</filter>
                  </filters>
                  <appendAssemblyId>true</appendAssemblyId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-mac-app</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>parse-version</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <!--
                    Note that this will include JRE 8. In order to include JRE 9 we have to set
                    j2se="9.0+". Note however that the reason we depend on Java 9 is to avoid JAWS
                    crashes, so it is only really required for Windows.
                -->
                <id>javapackager</id>
                <phase>package</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <!-- requires Ant 1.7+ -->
                  <target xmlns:fx="javafx:com.sun.javafx.tools.ant">
                    <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${env.JAVA_HOME}/lib/ant-javafx.jar" />
                    <path id="main.jar">
                      <fileset dir="${project.build.directory}/assembly-${project.version}-mac/daisy-pipeline/system">
                        <include name="gui/org.daisy.pipeline.gui-*.jar" />
                      </fileset>
                    </path>
                    <path id="classpath">
                      <fileset dir="${project.build.directory}/assembly-${project.version}-mac/daisy-pipeline/system">
                        <include name="common/**/*" />
                        <include name="no-osgi/**/*" />
                        <include name="gui/**/*" />
                        <include name="volatile/**/*" />
                        <exclude name="osgi/**/*" />
                        <exclude name="webservice/**/*" />
                        <exclude name="persistence/**/*" />
                        <exclude name="no-osgi/persistence/**/*" />
                        <exclude name="gui/org.daisy.pipeline.gui-*.jar" />
                      </fileset>
                    </path>
                    <manifestclasspath property="classpath" jarfile="${toString:main.jar}">
                      <classpath refid="classpath" />
                    </manifestclasspath>
                    <jar update="true" file="${toString:main.jar}">
                      <manifest>
                        <attribute name="Class-Path" value="${classpath}" />
                      </manifest>
                    </jar>
                    <fx:deploy outdir="${project.build.directory}/javapackager" outfile="dp2" nativeBundles="image">
                      <fx:application id="org.daisy.pipeline2" name="DAISY Pipeline 2" version="${project.version}" mainClass="org.daisy.pipeline.gui.GUIService" />
                      <fx:info description="A tool for automated production of accessible digital publication" title="DAISY Pipeline 2" vendor="DAISY Consortium">
                        <fx:icon href="${project.basedir}/src/main/mac/pipeline-logo.icns" />
                      </fx:info>
                      <fx:platform j2se="8.0+">
                        <fx:property name="org.daisy.pipeline.mode" value="gui" />
                        <fx:property name="org.daisy.pipeline.home" value="." />
                        <fx:property name="org.daisy.pipeline.data" value="data" />
                        <fx:property name="org.daisy.pipeline.logdir" value="data/log" />
                        <fx:property name="org.daisy.pipeline.ws.localfs" value="true" />
                        <fx:property name="org.daisy.pipeline.ws.authentication" value="false" />
                        <fx:property name="org.daisy.pipeline.properties" value="etc/pipeline.properties" />
                        <fx:property name="logback.configurationFile" value="file:etc/config-logback.xml" />
                        <fx:property name="org.daisy.pipeline.updater.bin" value="updater/pipeline-updater" />
                        <fx:property name="org.daisy.pipeline.updater.deployPath" value="./" />
                        <fx:property name="org.daisy.pipeline.updater.releaseDescriptor" value="etc/releaseDescriptor.xml" />
                      </fx:platform>
                      <fx:resources>
                        <fx:fileset type="license" os="osx" dir="${project.build.directory}/assembly-${project.version}-mac/daisy-pipeline">
                          <include name="NOTICE.txt" />
                        </fx:fileset>
                        <fx:fileset type="jar" dir="${project.build.directory}/assembly-${project.version}-mac/daisy-pipeline">
                          <include name="system/common/**/*" />
                          <include name="system/no-osgi/**/*" />
                          <include name="system/gui/**/*" />
                          <include name="system/volatile/**/*" />
                          <exclude name="system/osgi/**/*" />
                          <exclude name="system/webservice/**/*" />
                          <exclude name="system/persistence/**/*" />
                          <exclude name="system/no-osgi/persistence/**/*" />
                        </fx:fileset>
                        <fx:fileset dir="${project.build.directory}/assembly-${project.version}-mac/daisy-pipeline">
                          <include name="**/*" />
                          <exclude name="system/**/*" />
                          <exclude name="NOTICE.txt" />
                          <exclude name="etc/felix.properties" />
                        </fx:fileset>
                      </fx:resources>
                      <fx:bundleArgument arg="mac.CFBundleIdentifier" value="org.daisy.pipeline2" />
                      <fx:bundleArgument arg="mac.CFBundleVersion" value="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}" />
                    </fx:deploy>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-dmg</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>install-node</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>install-node-and-yarn</goal>
                </goals>
                <configuration>
                  <nodeVersion>v11.10.0</nodeVersion>
                  <yarnVersion>v1.13.0</yarnVersion>
                </configuration>
              </execution>
              <execution>
                <id>install-appdmg</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>yarn</goal>
                </goals>
                <configuration>
                  <arguments>add appdmg</arguments>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <workingDirectory>${project.build.directory}</workingDirectory>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <!--
                    this execution must come after javapackager
                -->
                <id>package-appdmg</id>
                <phase>package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>node/node</executable>
                  <workingDirectory>${project.build.directory}</workingDirectory>
                  <arguments>
                    <argument>node_modules/appdmg/bin/appdmg.js</argument>
                    <argument>${project.basedir}/src/main/mac/dmg.json</argument>
                    <argument>assembly-${project.version}.dmg</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <!--
                    this execution must come after package-appdmg
                -->
                <id>attach-dmg</id>
                <phase>package</phase>
                <goals>
                  <goal>attach-artifact</goal>
                </goals>
                <configuration>
                  <artifacts>
                    <artifact>
                      <file>${project.build.directory}/assembly-${project.version}.dmg</file>
                      <type>dmg</type>
                    </artifact>
                  </artifacts>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-exe</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-nsis-resources</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/nsis</outputDirectory>
                  <resources>
                    <resource>
                      <directory>src/main/nsis</directory>
                      <includes>
                        <include>installer.nsi</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                    <resource>
                      <directory>src/main/nsis</directory>
                      <excludes>
                        <exclude>installer.nsi</exclude>
                      </excludes>
                      <filtering>false</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nsis-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>package-exe</id>
                <phase>package</phase>
                <goals>
                  <goal>generate-headerfile</goal>
                  <goal>make</goal>
                </goals>
                <configuration>
                  <attach>true</attach>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-deb</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>filter-deb-resources</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/filtered-resources</outputDirectory>
                  <resources>
                    <resource>
                      <directory>src/main/resources</directory>
                      <targetPath>resources</targetPath>
                      <filtering>true</filtering>
                      <includes>
                        <include>bin/pipeline2</include>
                        <include>etc/felix.properties</include>
                        <include>etc/pipeline.properties</include>
                        <include>etc/config-logback.xml</include>
                      </includes>
                    </resource>
                    <resource>
                      <directory>src/main/deb</directory>
                      <targetPath>deb</targetPath>
                      <filtering>true</filtering>
                      <includes>
                        <include>DEBIAN/</include>
                        <include>etc/</include>
                        <include>opt/</include>
                      </includes>
                    </resource>
                  </resources>
                  <filters>
                    <filter>src/main/assembly/dist-deb.properties</filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.vafer</groupId>
            <artifactId>jdeb</artifactId>
            <executions>
              <execution>
                <id>package-deb</id>
                <phase>package</phase>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <controlDir>${project.build.directory}/filtered-resources/deb/DEBIAN</controlDir>
                  <timestamped>true</timestamped>
                  <deb>${project.build.directory}/assembly-${project.version}.deb</deb>
                  <dataSet>
                    <!-- ======== -->
                    <!-- binaries -->
                    <!-- ======== -->
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/filtered-resources/resources/bin</src>
                      <includes>
                        pipeline2
                      </includes>
                      <mapper>
                        <type>perm</type>
                        <prefix>${deb.pipeline.home}/bin</prefix>
                        <filemode>755</filemode>
                      </mapper>
                    </data>
                    <data>
                      <type>file</type>
                      <src>${project.build.directory}/filtered-resources/deb${deb.pipeline.home}/bin/debian.cfg</src>
                      <dst>${deb.pipeline.home}/bin/debian.cfg</dst>
                    </data>
                    <!-- ====== -->
                    <!-- daemon -->
                    <!-- ====== -->
                    <data>
                      <src>${project.build.directory}/filtered-resources/deb/etc/init.d/daisy-pipeline2</src>
                      <type>file</type>
                      <mapper>
                        <type>perm</type>
                        <prefix>/etc/init.d</prefix>
                        <filemode>755</filemode>
                      </mapper>
                    </data>
                    <!-- =================== -->
                    <!-- configuration files -->
                    <!-- =================== -->
                    <data>
                      <type>directory</type>
                      <src>src/main/resources/etc</src>
                      <excludes>
                        felix.properties,
                        config-logback.xml,
                        pipeline.properties
                      </excludes>
                      <mapper>
                        <prefix>${deb.pipeline.home}/etc</prefix>
                        <type>perm</type>
                      </mapper>
                    </data>
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/filtered-resources/resources/etc</src>
                      <includes>
                        felix.properties,
                        pipeline.properties
                      </includes>
                      <mapper>
                        <prefix>${deb.pipeline.home}/etc</prefix>
                        <type>perm</type>
                      </mapper>
                    </data>
                    <data>
                      <type>file</type>
                      <src>${project.build.directory}/filtered-resources/resources/etc/config-logback.xml</src>
                      <dst>${deb.pipeline.config}/config-logback.xml</dst>
                    </data>
                    <data>
                      <type>link</type>
                      <symlink>true</symlink>
                      <linkName>${deb.pipeline.config}/pipeline.properties</linkName>
                      <linkTarget>${deb.pipeline.home}/etc/pipeline.properties</linkTarget>
                    </data>
                    <data>
                      <type>link</type>
                      <symlink>true</symlink>
                      <linkName>${deb.pipeline.config}/tts-default-config.xml</linkName>
                      <linkTarget>${deb.pipeline.home}/etc/tts-default-config.xml</linkTarget>
                    </data>
                    <data>
                      <type>file</type>
                      <src>src/main/deb/etc/default/daisy-pipeline2</src>
                      <dst>/etc/default/daisy-pipeline2</dst>
                    </data>
                    <!-- ======= -->
                    <!-- jars -->
                    <!-- ======= -->
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/jars</src>
                      <excludes>
                        gui/bootstrap/linux,
                        gui/bootstrap/linux/*,
                        gui/bootstrap/win,
                        gui/bootstrap/win/*,
                        gui/bootstrap/mac,
                        gui/bootstrap/mac/*
                        common/linux,
                        common/linux/*,
                        common/win,
                        common/win/*,
                        common/mac,
                        common/mac/*
                      </excludes>
                      <mapper>
                        <prefix>${deb.pipeline.home}/system</prefix>
                        <type>perm</type>
                      </mapper>
                    </data>
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/jars/gui/bootstrap/linux</src>
                      <mapper>
                        <prefix>${deb.pipeline.home}/system/gui/bootstrap</prefix>
                        <type>perm</type>
                      </mapper>
                    </data>
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/jars/common/linux</src>
                      <mapper>
                        <prefix>${deb.pipeline.home}/system/common</prefix>
                        <type>perm</type>
                      </mapper>
                    </data>
                    <!-- ========= -->
                    <!-- log files -->
                    <!-- ========= -->
                    <data>
                      <type>template</type>
                      <paths>
                        <path>${deb.pipeline.log}</path>
                      </paths>
                    </data>
                  </dataSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-deb-cli</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>filter-deb-cli-resources</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/filtered-resources</outputDirectory>
                  <resources>
                    <resource>
                      <directory>src/main/deb</directory>
                      <targetPath>deb</targetPath>
                      <filtering>true</filtering>
                      <includes>
                        <include>DEBIAN.cli/</include>
                      </includes>
                    </resource>
                    <resource>
                      <directory>src/main/resources/cli</directory>
                      <targetPath>cli</targetPath>
                      <includes>
                        <include>config.yml</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                  </resources>
                  <filters>
                    <filter>src/main/assembly/dist-deb.properties</filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.vafer</groupId>
            <artifactId>jdeb</artifactId>
            <executions>
              <execution>
                <id>package-deb-cli</id>
                <phase>package</phase>
                <goals>
                  <goal>jdeb</goal>
                </goals>
                <configuration>
                  <controlDir>${project.build.directory}/filtered-resources/deb/DEBIAN.cli</controlDir>
                  <timestamped>true</timestamped>
                  <classifier>cli</classifier>
                  <deb>${project.build.directory}/assembly-${project.version}-cli.deb</deb>
                  <dataSet>
                    <!-- ============ -->
                    <!-- cli binaries -->
                    <!-- ============ -->
                    <data>
                      <type>directory</type>
                      <src>${project.build.directory}/cli/linux32</src>
                      <includes>
                        dp2
                      </includes>
                      <mapper>
                        <type>perm</type>
                        <prefix>${deb.pipeline.cli.home}</prefix>
                        <filemode>755</filemode>
                      </mapper>
                    </data>
                    <!-- ======================= -->
                    <!-- cli configuration files -->
                    <!-- ======================= -->
                    <data>
                      <type>file</type>
                      <src>${project.build.directory}/filtered-resources/cli/config.yml</src>
                      <dst>${deb.pipeline.cli.home}/config.yml</dst>
                    </data>
                    <data>
                      <type>link</type>
                      <symlink>true</symlink>
                      <linkName>${deb.pipeline.cli.config}/config.yml</linkName>
                      <linkTarget>${deb.pipeline.cli.home}/config.yml</linkTarget>
                    </data>
                  </dataSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-rpm</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rpm-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>package-rpm</id>
                <phase>package</phase>
                <goals>
                  <goal>attached-rpm</goal>
                </goals>
                <configuration>
                  <name>pipeline2</name>
                  <group>daisy-pipeline2</group>
                  <classifier>linux</classifier>
                  <description>daisy-pipeline2</description>
                  <needarch>x86_64</needarch>
                  <mappings>
                    <mapping>
                      <directory>${rpm.pipeline.home}</directory>
                      <filemode>0644</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>src/main/resources</location>
                          <includes>
                            <include>etc/**</include>
                            <include>NOTICE.txt</include>
                            <include>README.txt</include>
                          </includes>
                          <excludes>
                            <exclude>etc/pipeline.properties</exclude>
                            <exclude>etc/felix.properties</exclude>
                          </excludes>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.home}</directory>
                      <filemode>0640</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>src/main/resources</location>
                          <includes>
                            <include>etc/pipeline.properties</include>
                            <include>etc/felix.properties</include>
                            <include>etc/config-logback.xml</include>
                          </includes>
                          <filter>true</filter>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.home}</directory>
                      <filemode>0550</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>src/main/resources</location>
                          <includes>
                            <include>bin/**</include>
                          </includes>
                          <excludes>
                            <exclude>bin/pipeline2.bat</exclude>
                          </excludes>
                          <filter>true</filter>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.home}/system</directory>
                      <filemode>0644</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>${project.build.directory}/jars</location>
                          <excludes>
                            <exclude>gui/bootstrap/linux</exclude>
                            <exclude>gui/bootstrap/linux/*</exclude>
                            <exclude>gui/bootstrap/win</exclude>
                            <exclude>gui/bootstrap/win/*</exclude>
                            <exclude>gui/bootstrap/mac</exclude>
                            <exclude>gui/bootstrap/mac/*</exclude>
                            <exclude>common/linux</exclude>
                            <exclude>common/linux/*</exclude>
                            <exclude>common/win</exclude>
                            <exclude>common/win/*</exclude>
                            <exclude>common/mac</exclude>
                            <exclude>common/mac/*</exclude>
                          </excludes>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.home}/system/gui/bootstrap</directory>
                      <filemode>0644</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>${project.build.directory}/jars/gui/bootstrap/linux</location>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.home}/system/common</directory>
                      <filemode>0644</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>${project.build.directory}/jars/common/linux</location>
                        </source>
                      </sources>
                    </mapping>
                  </mappings>
                  <filters>
                    <filter>src/main/assembly/dist.properties</filter>
                    <filter>src/main/assembly/dist-linux.properties</filter>
                  </filters>
                  <postremoveScriptlet>
                    <script>
                      rm -rf ${rpm.pipeline.home}
                    </script>
                  </postremoveScriptlet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>package-rpm-cli</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rpm-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>package-rpm-cli</id>
                <phase>package</phase>
                <goals>
                  <goal>attached-rpm</goal>
                </goals>
                <configuration>
                  <name>pipeline2-cli</name>
                  <group>daisy-pipeline2-cli</group>
                  <projversion>${cli.version}</projversion>
                  <classifier>cli</classifier>
                  <description>daisy-pipeline2-cli</description>
                  <needarch>x86_64</needarch>
                  <mappings>
                    <mapping>
                      <directory>${rpm.pipeline.cli.home}</directory>
                      <filemode>0640</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>src/main/resources/cli</location>
                          <includes>
                            <include>config.yml</include>
                          </includes>
                        </source>
                      </sources>
                    </mapping>
                    <mapping>
                      <directory>${rpm.pipeline.cli.home}</directory>
                      <filemode>0640</filemode>
                      <username>${rpm.user}</username>
                      <groupname>${rpm.group}</groupname>
                      <sources>
                        <source>
                          <location>${project.build.directory}/cli/linux32</location>
                          <includes>
                            <include>dp2</include>
                          </includes>
                        </source>
                      </sources>
                    </mapping>
                  </mappings>
                  <postremoveScriptlet>
                    <script>
                      rm -rf ${rpm.pipeline.cli.home}
                    </script>
                  </postremoveScriptlet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>build-jre</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-jlink-plugin</artifactId>
            <executions>
              <execution>
                <id>jlink</id>
                <phase>package</phase>
                <goals>
                  <goal>jlink</goal>
                </goals>
                <configuration>
                  <classifier>jre</classifier>
                  <addModules>
                    <addModule>java.base</addModule>
                    <addModule>java.desktop</addModule>
                    <addModule>java.instrument</addModule>
                    <addModule>java.security.jgss</addModule>
                    <addModule>java.sql</addModule>
                    <addModule>java.xml</addModule>
                    <addModule>jdk.management.agent</addModule>
                    <addModule>jdk.zipfs</addModule>
                  </addModules>
                  <modulePaths>
                    <!-- otherwise build fails with "Error: no value given for -module-path" -->
                    <modulePath>xxx</modulePath>
                  </modulePaths>
                  <noHeaderFiles>true</noHeaderFiles>
                  <noManPages>true</noManPages>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>build-jre-linux</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-jlink-plugin</artifactId>
            <executions>
              <execution>
                <id>jlink-linux</id>
                <phase>package</phase>
                <goals>
                  <goal>jlink</goal>
                </goals>
                <configuration>
                  <classifier>jre-linux</classifier>
                  <addModules>
                    <addModule>java.base</addModule>
                    <addModule>java.desktop</addModule>
                    <addModule>java.instrument</addModule>
                    <addModule>java.sql</addModule>
                    <addModule>java.xml</addModule>
                    <addModule>jdk.management.agent</addModule>
                    <addModule>jdk.zipfs</addModule>
                  </addModules>
                  <modulePaths>
                    <modulePath>src/main/jre/OpenJDK11-jdk_x64_linux_hotspot_11_28/jdk-11+28/jmods</modulePath>
                  </modulePaths>
                  <noHeaderFiles>true</noHeaderFiles>
                  <noManPages>true</noManPages>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>without-persistence</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-persistence</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>test-batch</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.5.0</version>
            <executions>
              <execution>
                <id>test-checkJavaVersion</id>
                <phase>test</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>test-checkJavaVersion.bat</executable>
                  <workingDirectory>src/test/resources</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <repositories>
    <!--
      Restlet is not on Maven Central
      https://github.com/restlet/restlet-framework-java/issues/481
     -->
    <!-- Restlet maven repository - They don't publish their stuff on maven central -->
    <repository>
      <id>restlet-repo</id>
      <name>Public online Restlet repository</name>
      <url>http://maven.restlet.org</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>eclipselink</id>
      <name>EclipseLink Releases</name>
      <url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>eclipse-gemini-dbaccess</id>
      <name>Eclipse Gemini DBAccess Milestones</name>
      <url>http://download.eclipse.org/gemini/dbaccess/mvn/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <!-- gemini related bundles and derby -->
    <repository>
      <id>eclipse-gemini-repo</id>
      <name>Eclipse Gemini Maven repository</name>
      <url>http://download.eclipse.org/gemini/mvn/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <!-- springsource used for osgi version of mysql -->
    <repository>
      <id>com.springsource.repository.bundles.external</id>
      <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
      <url>http://repository.springsource.com/maven/bundles/external</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>
