gatk-3.8/public/external-example/pom.xml

306 lines
14 KiB
XML

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Properties for your assembly -->
<groupId>org.mycompany.app</groupId>
<artifactId>external-example</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>External Example</name>
<properties>
<gatk.version>3.4-SNAPSHOT</gatk.version>
<!--
gatk.basedir property must point to your checkout of GATK/GATK until we can get all the
dependencies out of the committed gatk repo and into central.
The installed pom for gatk-root looks for this property.
Alternatively, one can install all the gatk files into their local ~/.m2/repository repo.
http://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html
-->
<gatk.basedir>../..</gatk.basedir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.build.timestamp.format>yyyy/MM/dd HH:mm:ss</maven.build.timestamp.format>
<!-- NOTE: Currently the testing infrastructure for walkers does not support running outside the Broad. -->
<gatk.committests.skipped>true</gatk.committests.skipped>
<gatk.unittests.skipped>${gatk.committests.skipped}</gatk.unittests.skipped>
<gatk.integrationtests.skipped>${gatk.committests.skipped}</gatk.integrationtests.skipped>
<!-- This flag is used by the package tests to disable re-shading -->
<gatk.unpack.phase>prepare-package</gatk.unpack.phase>
<gatk.shade.phase>package</gatk.shade.phase>
</properties>
<repositories>
<repository>
<id>gatk.public.repo.local</id>
<name>GATK Public Local Repository</name>
<url>file:${gatk.basedir}/public/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.broadinstitute.gatk</groupId>
<artifactId>gatk-tools-public</artifactId>
<version>${gatk.version}</version>
</dependency>
<dependency>
<groupId>org.broadinstitute.gatk</groupId>
<artifactId>gatk-utils</artifactId>
<version>${gatk.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.broadinstitute.gatk</groupId>
<artifactId>gatk-engine</artifactId>
<version>${gatk.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Copy test resources to your classes directory -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>unpack</id>
<phase>${gatk.unpack.phase}</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.broadinstitute.gatk</groupId>
<artifactId>gatk-utils</artifactId>
<version>${gatk.version}</version>
<classifier>example-resources</classifier>
<type>tar.bz2</type>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- Generate help text -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>extract-resource-bundle</id>
<goals>
<goal>javadoc</goal>
</goals>
<phase>prepare-package</phase>
<configuration>
<doclet>org.broadinstitute.gatk.utils.help.ResourceBundleExtractorDoclet</doclet>
<!-- Required as doclet uses reflection to access classes for documentation, instead of source java-->
<docletPath>${project.build.outputDirectory}</docletPath>
<docletArtifact>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
</docletArtifact>
<maxmemory>2g</maxmemory>
<useStandardDocletOptions>false</useStandardDocletOptions>
<quiet>true</quiet>
<additionalparam>-build-timestamp "${maven.build.timestamp}" -absolute-version "${project.version}" -out ${project.build.outputDirectory}/GATKText.properties</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
<!-- Create packaged jar, containing only your walker and required classes -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>${gatk.shade.phase}</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- Explicitly include classes loaded via reflection from artifacts below -->
<filters>
<filter>
<artifact>commons-logging:commons-logging</artifact>
<includes>
<include>**</include>
</includes>
</filter>
<filter>
<artifact>com.github.samtools:htsjdk</artifact>
<includes>
<include>**</include>
</includes>
</filter>
</filters>
<!-- Stop shade from trying to unzip these indirect dependencies -->
<artifactSet>
<excludes>
<exclude>org.broadinstitute.gatk:gsalib:tar.gz:*</exclude>
<exclude>org.broadinstitute.gatk:*:tar.bz2:example-resources</exclude>
</excludes>
</artifactSet>
<transformers>
<!-- Set the main class to the GATK -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.broadinstitute.gatk.engine.CommandLineGATK</mainClass>
</transformer>
<!-- Include and append to the existing gatk help text in GATKText.properties -->
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>GATKText.properties</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!-- surefire runs fast, small (aka unit) tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<!-- See explicit executions below -->
<skip>true</skip>
<failIfNoTests>false</failIfNoTests>
<!-- Pass various system properties -->
<systemPropertyVariables>
<gatkdir>${gatk.basedir}</gatkdir>
<java.io.tmpdir>${java.io.tmpdir}</java.io.tmpdir>
</systemPropertyVariables>
</configuration>
<executions>
<!-- Disable maven default execution -->
<execution>
<id>default-test</id>
<phase>none</phase>
</execution>
<execution>
<id>unit-tests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>${gatk.unittests.skipped}</skip>
<includes>
<include>**/*UnitTest.class</include>
</includes>
<systemPropertyVariables>
<testType>unit</testType>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
<!-- failsafe runs all other tests that may take longer, and may require pre/post test setup and teardown -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.16</version>
<configuration>
<!-- See explicit executions below -->
<skip>true</skip>
<failIfNoTests>false</failIfNoTests>
<!-- Pass various system properties -->
<systemPropertyVariables>
<gatkdir>${gatk.basedir}</gatkdir>
<java.io.tmpdir>${java.io.tmpdir}</java.io.tmpdir>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<!-- run integration tests -->
<configuration>
<skip>${gatk.integrationtests.skipped}</skip>
<includes>
<include>**/*IntegrationTest.class</include>
</includes>
<systemPropertyVariables>
<testType>integrationtest</testType>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<excludeDefaults>true</excludeDefaults>
</reporting>
<!-- These profiles are used by the GATK build in a multi-module setting. You do NOT need these profiles. -->
<profiles>
<!-- Optionally do not shade/package jars -->
<!--
NOTE: Profile id "fast" comes from comments in PR #771.
The name is meant to be memorable, but is highly non-specific. Users are forewarned that
behavior of this profile, or the identifier itself, may be heavily modified in the future.
Hardcode usage in non-VCS controlled scripts at your own risk.
-->
<profile>
<id>fast</id>
<activation>
<property>
<name>disable.shadepackage</name>
</property>
</activation>
<properties>
<gatk.unpack.phase>none</gatk.unpack.phase>
<gatk.shade.phase>none</gatk.shade.phase>
</properties>
</profile>
<!-- Collection of properties for use during package testing -->
<profile>
<id>packagetests-enabled</id>
<activation>
<property>
<name>gatk.packagetests.enabled</name>
<value>true</value>
</property>
</activation>
<properties>
<gatk.jar.phase>none</gatk.jar.phase>
<gatk.unpack.phase>none</gatk.unpack.phase>
<gatk.shade.phase>none</gatk.shade.phase>
</properties>
</profile>
</profiles>
</project>