blob: 52c276ddf56f1661a7789fa1ff7c807b3dea5e74 [file] [log] [blame]
<?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/maven-v4_0_0.xsd">
<!--
* @@@ START COPYRIGHT @@@
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @@@ END COPYRIGHT @@@
-->
<modelVersion>4.0.0</modelVersion>
<!--To build a release I do this:
$ mvn clean site install assembly:single -Prelease
-->
<groupId>org.trafodion</groupId>
<artifactId>rest</artifactId>
<packaging>jar</packaging>
<version>${env.TRAFODION_VER}</version>
<name>Trafodion REST</name>
<url>http://trafodion.apache.org</url>
<build>
<resources>
<resource>
<directory>src/main/resources/</directory>
<includes>
<include>rest-default.xml</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<excludes>
<exclude>rest-site.xml</exclude>
</excludes>
</testResource>
</testResources>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven.antrun.plugin.version}</version>
<executions>
<execution>
<id>generate</id>
<phase>generate-sources</phase>
<configuration>
<target>
<property name="generated.sources"
location="${project.build.directory}/generated-sources"/>
<exec executable="sh">
<arg line="${basedir}/src/saveVersion.sh ${project.version} ${generated.sources}/java"/>
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build.helper.maven.plugin.version}</version>
<executions>
<execution>
<id>packageInfo-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assembly/all.xml</descriptor>
</descriptors>
<ouputDirectory>target</ouputDirectory>
</configuration>
<executions>
<execution>
<id>dir</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>${xml.maven.plugin.version}</version>
<inherited>false</inherited>
<executions>
<execution>
<goals>
<goal>transform</goal>
</goals>
<phase>pre-site</phase>
</execution>
</executions>
<configuration>
<transformationSets>
<transformationSet>
<dir>${basedir}/src/main/resources/</dir>
<includes>
<include>rest-default.xml</include>
</includes>
<stylesheet>${basedir}/src/main/xslt/configuration_to_asciidoc_chapter.xsl</stylesheet>
<fileMappers>
<fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
<pattern>^(.*)\.xml$</pattern>
<replacement>$1.adoc</replacement>
</fileMapper>
</fileMappers>
<outputDir>${basedir}/target/asciidoc</outputDir>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>${surefire.provider}</artifactId>
<version>${surefire.version}</version>
</dependency>
</dependencies>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>${basedir}/target/test-classes/jdbcT4-${TRAFODION_VER}.jar</additionalClasspathElement>
</additionalClasspathElements>
<includes>
<include>${integrationtest.include}</include>
</includes>
<excludes>
<exclude>${unittest.include}</exclude>
<exclude>**/*$*</exclude>
</excludes>
<redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<skip>${surefire.skipFirstPart}</skip>
<groups>${surefire.firstPartGroups}</groups>
<testFailureIgnore>false</testFailureIgnore>
</configuration>
<executions>
<execution>
<id>secondPartTestsExecution</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<skip>${surefire.skipSecondPart}</skip>
<testFailureIgnore>false</testFailureIgnore>
<groups>${surefire.secondPartGroups}</groups>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven.resources.plugin.version}</version>
<!--$NO-MVN-MAN-VER$ -->
<inherited>false</inherited>
<executions>
<execution>
<id>copy-javadocs</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>site</phase>
<configuration>
<outputDirectory>target/site/apidocs</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/apidocs</directory>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
<configuration>
<escapeString>\</escapeString>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven.site.plugin.version}</version>
<inherited>false</inherited>
<dependencies>
</dependencies>
<configuration>
<siteDirectory>${basedir}/src/main/site</siteDirectory>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
</plugin>
<!-- For AsciiDoc docs building -->
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor.maven.plugin.version}</version>
<executions>
<execution>
<id>output-html</id>
<goals>
<goal>process-asciidoc</goal>
</goals>
<phase>site</phase>
<configuration>
<imagesDir>./images</imagesDir>
<doctype>book</doctype>
<attributes>
<stylesheet>rest.css</stylesheet>
<projectVersion>${project.version}</projectVersion>
<buildDate>${maven.build.timestamp}</buildDate>
</attributes>
<backend>html5</backend>
<sourceHighlighter>coderay</sourceHighlighter>
<outputDirectory>target/site</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<inherited>false</inherited>
<executions>
<execution>
<id>populate-release-directories</id>
<phase>post-site</phase>
<configuration>
<target name="Populate Release Directories">
<!-- The website uses the following organization for the docs/target/docs directory:
- To ensure a known location, the base directory contains the LATEST version of the web book and the PDF files.
- The know location is docs/target/docs/<document>
- target/docs/<version>/<document> contains version-specific renderings of the documents.
- target/docs/<version>/<document> contains the PDF version and the web book. The web book is named index.html
-->
<!-- Copy the PDF file to its target directories -->
<!-- None for REST -->
<!-- Copy the Web Book files to their target directories -->
<copy todir="${basedir}/../../docs/target/docs/rest_reference">
<fileset dir="${basedir}/target/site">
<include name="**/*.*"/> <!--All sub-directories, too-->
</fileset>
</copy>
<copy todir="${basedir}/../../docs/target/docs/${project.version}/rest_reference">
<fileset dir="${basedir}/target/site">
<include name="**/*.*"/> <!--All sub-directories, too-->
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--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.codehaus.mojo</groupId>
<artifactId>
build-helper-maven-plugin
</artifactId>
<versionRange>[1.5,)</versionRange>
<goals>
<goal>add-source</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-antrun-plugin
</artifactId>
<versionRange>[1.6,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<compileSource>1.6</compileSource>
<!-- Dependencies -->
<hadoop.version>${env.HADOOP_DEP_VER}</hadoop.version>
<commons-cli.version>1.2</commons-cli.version>
<commons-io.version>2.1</commons-io.version>
<commons-logging.version>1.1.1</commons-logging.version>
<jaxb-api.version>2.1</jaxb-api.version>
<jetty.version>9.2.10.v20150310</jetty.version>
<jersey.version>1.8</jersey.version>
<junit.version>4.10</junit.version>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.16</log4j.version>
<zookeeper.version>3.4.5</zookeeper.version>
<jython-standalone.version>2.5.3</jython-standalone.version>
<jettison.version>1.3.5</jettison.version>
<jdbct4.version>${project.version}</jdbct4.version>
<!-- Plugin Dependencies -->
<maven.antrun.plugin.version>1.6</maven.antrun.plugin.version>
<maven.site.plugin.version>3.3</maven.site.plugin.version>
<maven.javadoc.plugin.version>2.9.1</maven.javadoc.plugin.version>
<maven.resources.plugin.version>2.6</maven.resources.plugin.version>
<maven.jxr.plugin.version>2.3</maven.jxr.plugin.version>
<xml.maven.plugin.version>1.0</xml.maven.plugin.version>
<maven.surefire.report.plugin.version>2.7.2</maven.surefire.report.plugin.version>
<asciidoctor.maven.plugin.version>1.5.2</asciidoctor.maven.plugin.version>
<maven.project.info.reports.plugin.version>2.1.2</maven.project.info.reports.plugin.version>
<build.helper.maven.plugin.version>1.5</build.helper.maven.plugin.version>
<package.version>${project.version}</package.version>
<final.name>${project.artifactId}-${project.version}</final.name>
<!-- Test inclusion patterns used by failsafe configuration -->
<unittest.include>**/Test*.java</unittest.include>
<integrationtest.include>**/IntegrationTest*.java</integrationtest.include>
<surefire.provider>surefire-junit47</surefire.provider>
<surefire.version>2.17</surefire.version>
<test.output.tofile>true</test.output.tofile>
<!-- default: run small tests -->
<surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>true</surefire.skipSecondPart>
<surefire.firstPartGroups>org.trafodion.rest.SmallTests</surefire.firstPartGroups>
<surefire.secondPartGroups>org.trafodion.rest.MediumTests, org.trafodion.rest.LargeTests</surefire.secondPartGroups>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!-- General dependencies -->
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${commons-cli.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
<exclusions>
<exclusion>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty.version}</version>
</dependency>
<!-- REST dependencies -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-api.version}</version>
<exclusions>
<exclusion>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>${jettison.version}</version>
</dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>${jython-standalone.version}</version>
</dependency>
</dependencies>
<profiles>
<!-- JDBC drivers needed for compile, but not site docs
This allows turning off dependency on command line (-P '!jdbc') -->
<profile>
<id>jdbc</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<!-- JDBCT4 dependencies -->
<dependency>
<groupId>org.apache.trafodion.jdbc.t4</groupId>
<artifactId>jdbcT4</artifactId>
<version>${jdbct4.version}</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>runSmallTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>true</surefire.skipSecondPart>
<surefire.firstPartGroups>org.trafodion.rest.SmallTests</surefire.firstPartGroups>
<surefire.secondPartGroups></surefire.secondPartGroups>
</properties>
</profile>
<profile>
<id>runMediumTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>true</surefire.skipSecondPart>
<surefire.firstPartGroups>org.trafodion.rest.MediumTests</surefire.firstPartGroups>
<surefire.secondPartGroups></surefire.secondPartGroups>
</properties>
</profile>
<profile>
<id>runLargeTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>true</surefire.skipSecondPart>
<surefire.firstPartGroups>org.trafodion.rest.LargeTests</surefire.firstPartGroups>
<surefire.secondPartGroups></surefire.secondPartGroups>
</properties>
</profile>
<profile>
<id>runAllTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>false</surefire.skipSecondPart>
<surefire.firstPartGroups>org.trafodion.rest.SmallTests</surefire.firstPartGroups>
<surefire.secondPartGroups>org.trafodion.rest.MediumTests, org.trafodion.rest.LargeTests</surefire.secondPartGroups>
</properties>
</profile>
</profiles>
<!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
<reporting>
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project.info.reports.plugin.version}</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
<report>mailing-list</report>
<!--
<report>cim</report>
<report>issue-tracking</report>
<report>license</report>
<report>scm</report>
<report>index</report>
-->
</reports>
</reportSet>
</reportSets>
</plugin>
<!--
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>${maven.site.plugin.version}</version>
<configuration>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
<templateFile>src/site/site.vm</templateFile>
</configuration>
</plugin>
-->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<configuration>
<docfilessubdirs>true</docfilessubdirs>
</configuration>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven.jxr.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven.surefire.report.plugin.version}</version>
<reportSets>
<reportSet>
<id>integration-tests</id>
<reports>
<report>report-only</report>
</reports>
<configuration>
<outputName>failsafe-report</outputName>
<reportsDirectories>
<reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
</reportsDirectories>
</configuration>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>