Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 350 lines (307 sloc) 14.6 KB
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 VU University Medical Center.
Licensed under the Apache License version 2.0 (see http://www.apache.org/licenses/LICENSE-2.0.html).
Description: Maven configuration for the ODM to i2b2 tool.
Authors: Ward Blonde (w.blonde@vumc.nl) and Freek de Bruijn (f.debruijn@vumc.nl).
-->
<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>
<!-- General project settings. -->
<name>ODM to i2b2</name>
<description>ODM to i2b2 tool for converting ODM data to i2b2 format in a database or files</description>
<url>https://github.com/CTMM-TraIT/trait_odm_to_i2b2</url>
<groupId>nl.vumc.biomedbridges</groupId>
<artifactId>odm-to-i2b2</artifactId>
<version>3.0</version>
<packaging>jar</packaging>
<properties>
<!-- Dependency versions. -->
<findbugs-jsr305.version>2.0.3</findbugs-jsr305.version>
<guava.version>15.0</guava.version>
<jsoup.version>1.7.3</jsoup.version>
<junit.version>4.11</junit.version>
<mockito.version>1.9.5</mockito.version>
<opencsv.version>2.3</opencsv.version>
<slf4j.version>1.7.7</slf4j.version>
<!-- Source and output properties. -->
<java-version>1.7</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Plugin versions. -->
<findbugs-maven-plugin.version>2.5.3</findbugs-maven-plugin.version>
<build-helper-maven-plugin.version>1.9</build-helper-maven-plugin.version>
<coveralls-maven-plugin.version>2.2.0</coveralls-maven-plugin.version>
<jacoco-maven-plugin.version>0.7.1.201405082137</jacoco-maven-plugin.version>
<maven-checkstyle-plugin.version>2.12.1</maven-checkstyle-plugin.version>
<maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
<maven-jar-plugin.version>2.4</maven-jar-plugin.version>
<maven-jxr-plugin.version>2.4</maven-jxr-plugin.version>
<maven-pmd-plugin.version>3.0</maven-pmd-plugin.version>
<maven-project-info-reports-plugin.version>2.7</maven-project-info-reports-plugin.version>
<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
</properties>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Maven Plugin Repository</name>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<dependencies>
<!-- Dependency for JSR-305 annotations (like @NonNull and @Nullable) for Findbugs. -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${findbugs-jsr305.version}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!-- Dependency for Guava. -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- Dependency for the jsoup HTML parser. -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${jsoup.version}</version>
</dependency>
<!-- Dependency for JUnit. -->
<!--<dependency>-->
<!--<groupId>junit</groupId>-->
<!--<artifactId>junit</artifactId>-->
<!--<version>${junit.version}</version>-->
<!--<scope>test</scope>-->
<!--</dependency>-->
<!-- Dependency for Mockito. -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<!-- Dependencies for the logging framework: SLF4J and log4j. -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>${opencsv.version}</version>
</dependency>
</dependencies>
<dependencyManagement/>
<build>
<testSourceDirectory>src/test/java</testSourceDirectory>
<directory>target</directory>
<plugins>
<!-- Specify Java 7 for sources and targets (.class files). -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals><goal>add-source</goal></goals>
<configuration>
<sources>
<source>src/main/java-generated</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Use maven-jar-plugin to create executable jar with the "mvn package" command. -->
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-jar-plugin</artifactId>-->
<!--<version>${maven-jar-plugin.version}</version>-->
<!--<configuration>-->
<!--<archive>-->
<!--<manifest>-->
<!--<addClasspath>true</addClasspath>-->
<!--<mainClass>nl.vumc.biomedbridges.WorkflowRunner</mainClass>-->
<!--<classpathPrefix>dependency-jars/</classpathPrefix>-->
<!--</manifest>-->
<!--</archive>-->
<!--</configuration>-->
<!--</plugin>-->
<!-- Run Checkstyle in the verify phase. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<inherited>true</inherited>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>checkstyle</goal>
</goals>
</execution>
</executions>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<!--
Workaround for resolving the suppressions file in a Maven build: always check two
module levels above the current project. IDE builds should provide the config_loc
property, hence this setting will not influence the builds triggered in IDEs.
-->
<!--<propertyExpansion>config_loc=${project.parent.parent.basedir}/</propertyExpansion>-->
<failsOnError>true</failsOnError>
</configuration>
</plugin>
<!-- JaCoCo is used to determine the code coverage of the unit tests. -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<!--
Prepares the property pointing to the JaCoCo runtime agent which is passed as VM argument when
Maven executes the Surefire plugin.
-->
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<!-- Sets the path to the file which contains the execution data. -->
<destFile>${project.build.directory}/jacoco.exec</destFile>
<!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
<propertyName>surefireArgLine</propertyName>
<!--<excludes>-->
<!--&lt;!&ndash;<exclude>**/com/recomdata/**</exclude>&ndash;&gt;-->
<!--<exclude>**/org/cdisk/odm/jaxb/**</exclude>-->
<!--<exclude>**/org/w3/xmldsig/jaxb/**</exclude>-->
<!--</excludes>-->
</configuration>
</execution>
<!--
Ensures that the code coverage report for unit tests is created after unit tests have been run.
-->
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<!-- Sets the path to the file which contains the execution data. -->
<dataFile>${project.build.directory}/jacoco.exec</dataFile>
<!-- Sets the output directory for the code coverage report. -->
<outputDirectory>${project.reporting.outputDirectory}/code-coverage-jacoco</outputDirectory>
<!--<excludes>-->
<!--&lt;!&ndash;<exclude>**/com/recomdata/**</exclude>&ndash;&gt;-->
<!--<exclude>**/org/cdisk/odm/jaxb/**</exclude>-->
<!--<exclude>**/org/w3/xmldsig/jaxb/**</exclude>-->
<!--</excludes>-->
</configuration>
</execution>
</executions>
</plugin>
<!-- Surefire runs the unit tests. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<!-- Sets the VM argument line used when unit tests are run. -->
<!--suppress MavenModelInspection -->
<argLine>${surefireArgLine}</argLine>
<!--<excludes>-->
<!--&lt;!&ndash;<exclude>**/com/recomdata/**</exclude>&ndash;&gt;-->
<!--<exclude>**/org/cdisk/odm/jaxb/**</exclude>-->
<!--<exclude>**/org/w3/xmldsig/jaxb/**</exclude>-->
<!--</excludes>-->
</configuration>
</plugin>
<!-- This plugin reports general project information. -->
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven-project-info-reports-plugin.version}</version>
</plugin>
<!-- The coveralls plugin to get line coverage information on the GitHub page. -->
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>${coveralls-maven-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com/recomdata/i2b2/I2B2ODMStudyHandlerCMLClient</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- FindBugs configuration. See http://mojo.codehaus.org/findbugs-maven-plugin/ for more information. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugs-maven-plugin.version}</version>
</plugin>
<!-- Added the JXR plugin (Java cross-reference tool) to get rid of the "Unable to locate Source XRef to
- link to - DISABLED" warning when running Checkstyle. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven-jxr-plugin.version}</version>
</plugin>
</plugins>
</reporting>
</project>