<?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"> <!-- Basic informations --> <modelVersion>4.0.0</modelVersion> <groupId>eu.omp.irap.vespa</groupId> <artifactId>epntapclient</artifactId> <version>0.0.1-SNAPSHOT</version> <name>epnTAPCLient</name> <description>The Epn-TAP library aims to provide methods to manage resources, services and dataset wich implements the epn-TAP core, in order to get data and deal with it with any other software, ie. though a SAMP hub. It also comes with a GUI, initialy built to be integrated on the Cassis sofware, but it can be launch as standalone.</description> <url>http://cassis.irap.omp.eu/</url> <!-- The developer of the library. --> <developers> <developer> <name>Nathanaƫl Jourdane</name> <organization>IRAP/CNRS</organization> <organizationUrl>http://www.irap.omp.eu</organizationUrl> <roles> <role>Developer</role> </roles> </developer> </developers> <reporting> <outputDirectory>${basedir}/target/site</outputDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.8</version> <configuration> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <configuration> <quiet>true</quiet> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.18.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.5.5</version> <configuration> <onlyAnalyze>eu.omp.irap.cassis.-</onlyAnalyze> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.4</version> <configuration> <includes> <include>**/eu/omp/irap/**</include> </includes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.6</version> </plugin> </plugins> </reporting> <!-- The files encoding. --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>eu.omp.irap.vespa.epntapclient.EpnTapMainApp</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> <dependencies> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-markdown</artifactId> <version>1.5</version> </dependency> </dependencies> </plugin> <!-- Tell to Maven wich Java version is used. --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <!-- Sign the jar in order to push it to cassis repository. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jarsigner-plugin</artifactId> <version>1.4</version> <executions> <execution> <id>sign</id> <goals> <goal>sign</goal> </goals> </execution> <execution> <id>verify</id> <goals> <goal>verify</goal> </goals> </execution> </executions> <configuration> <keystore>cassis.jks</keystore> <alias>certificat</alias> <storepass>{dCC5JS1OnVcHrOvu9pC6n7EzbASrDafLzK7JhWvZp7Q=}</storepass> <verbose>true</verbose> </configuration> </plugin> <!-- Generate model classes (voTable and voResource) from xsd schemas --> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <configuration> <locale>en</locale> </configuration> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <schemaDirectory>src/main/resources/xsd</schemaDirectory> <bindingDirectory>src/main/resources/xjb</bindingDirectory> <!-- The xjb file tels to xjc which xsd file is associated to some Java package. --> <!-- It also modify voTable.xsd in order to rename the `Value`, which is a xjc keyword. --> </configuration> </execution> </executions> </plugin> <plugin> <!-- Ant executions. --> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <execution> <!-- Add @SuppressWarnings annotations for each class of the generated code. --> <id>suppress-warning-generated</id> <phase>process-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="Add @SuppressWarnings on generated *.java"> <replaceregexp byline="true"> <regexp pattern="^@SuppressWarnings\(.*\)" /> <substitution expression="" /> <fileset dir="${basedir}/target/generated-sources/xjc/eu/omp/irap/vespa/epntapclient/voresource/model/"> <include name="*.java" /> </fileset> </replaceregexp> <replaceregexp byline="true"> <regexp pattern="^public " /> <substitution expression="@SuppressWarnings("all") public " /> <fileset dir="${basedir}/target/generated-sources/xjc/eu/omp/irap/vespa/epntapclient/voresource/model/"> <include name="*.java" /> </fileset> </replaceregexp> </target> </configuration> </execution> </executions> </plugin> </plugins> <!-- Avoid Eclipse warnings "Plugin execution not covered by lifecycle configuration" --> <pluginManagement> <plugins> <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-antrun-plugin </artifactId> <versionRange> [1.7,) </versionRange> <goals> <goal>run</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> <!-- The project dependencies --> <dependencies> <!-- A library to deal with JSON files --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.2</version> <scope>compile</scope> </dependency> <!-- A library to deal with VOTables --> <dependency> <groupId>eu.omp.irap.vespa</groupId> <artifactId>votable</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <profiles> <!-- This profile is activated by the "-P jenkins" switch when run on the build server by Jenkins (continuous integration) --> <profile> <id>jenkins</id> <build> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <evaluateBeanshell> <!-- Jenkins should only build -SNAPSHOTs --> <condition>"${project.version}".endsWith("-SNAPSHOT")</condition> <message>Jenkins should only build -SNAPSHOT versions</message> </evaluateBeanshell> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <!-- The repository where to deploy the project. --> <repositories> <repository> <id>IRAP-NEXUS</id> <url>https://nexus.irap.omp.eu/content/groups/public</url> </repository> </repositories> <!-- For using it, (with mvn deploy) it need the <server(s)> config on ~/m2/settings.xml with the logins for nexus. --> <distributionManagement> <repository> <id>deploymentIRAPReleases</id> <name>Releases (Nexus)</name> <url>https://nexus.irap.omp.eu/content/repositories/releases</url> </repository> <snapshotRepository> <id>deploymentIRAPSnapshots</id> <name>Snapshots (Nexus)</name> <url>https://nexus.irap.omp.eu/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </project>