blob: dd1f8df7536d16771ffd0a704b52cc96963cc0d2 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
| Copyright 2012 FasterXML.com
|
| Licensed 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.
-->
<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>
<groupId>com.fasterxml</groupId>
<artifactId>oss-parent</artifactId>
<version>10</version>
<packaging>pom</packaging>
<name>FasterXML.com parent pom</name>
<description>FasterXML.com parent pom</description>
<url>http://github.com/FasterXML/</url>
<inceptionYear>2012</inceptionYear>
<organization>
<name>FasterXML</name>
<url>http://fasterxml.com/</url>
</organization>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
<license>
<name>GNU Lesser General Public License, Version 2.1</name>
<url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>christophercurrie</id>
<name>Christopher Currie</name>
<email />
</developer>
<developer>
<id>prb</id>
<name>Paul Brown</name>
<email>prb@fasterxml.com</email>
</developer>
<developer>
<id>cowtowncoder</id>
<name>Tatu Saloranta</name>
<email>tatu@fasterxml.com</email>
</developer>
</developers>
<contributors>
<contributor>
<name>Simone Tripodi</name>
<email>simonetripodi@apache.org</email>
</contributor>
</contributors>
<scm>
<url>http://github.com/FasterXML/oss-parent</url>
<connection>scm:git:ssh://github.com/FasterXML/oss-parent.git</connection>
<developerConnection>scm:git:git+ssh://git@github.com/FasterXML/oss-parent.git</developerConnection>
<tag>oss-parent-10</tag>
</scm>
<issueManagement>
<system>GitHub Issue Management</system>
<url>https://github.com/FasterXML/${project.artifactId}/issues</url>
</issueManagement>
<distributionManagement>
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 10-Jan-2013, tatu: Jackson 2.2 and above will be Java 6
(earlier versions Java 5)
-->
<javac.src.version>1.6</javac.src.version>
<javac.target.version>1.6</javac.target.version>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format>
<!--
| Configuration properties for the OSGi maven-bundle-plugin
-->
<osgi.export>${project.groupId}.*;version=${project.version};-noimport:=true</osgi.export>
<osgi.import>*</osgi.import>
<osgi.dynamicImport />
<osgi.private />
<osgi.requiredExecutionEnvironment />
<!--
| shared build/report plugins version
-->
<surefire.version>2.12</surefire.version>
<javadoc.version>2.8.1</javadoc.version>
<javadoc.maxmemory>1g</javadoc.maxmemory>
<replacer.version>1.5.2</replacer.version>
<!--
| For automatically generating PackageVersion.java. Your child pom.xml must define
| packageVersion.dir and packageVersion.package, and must set the phase of the
| process-packageVersion execution of maven-replacer-plugin to 'generate-sources'.
-->
<generatedSourcesDir>${project.build.directory}/generated-sources</generatedSourcesDir>
<packageVersion.template.input>${basedir}/src/main/java/${packageVersion.dir}/PackageVersion.java.in</packageVersion.template.input>
<packageVersion.template.output>${generatedSourcesDir}/${packageVersion.dir}/PackageVersion.java</packageVersion.template.output>
</properties>
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<mavenExecutorId>forked-path</mavenExecutorId>
<useReleaseProfile>false</useReleaseProfile>
<arguments>-Prelease</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-maven-plugin</artifactId>
<version>1.9.2.4</version>
<configuration>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<serverAuthId>sonatype-nexus-staging</serverAuthId>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>${replacer.version}</version>
<executions>
<execution>
<id>process-packageVersion</id>
<goals>
<goal>replace</goal>
</goals>
<!--
| We explicitly omit 'phase' here so child poms can opt in to
| generating their PackageVersion.java file.
|
| If your child pom wants a PackageVersion.java file, define
| the 'packageVersion.dir' and 'packageVersion.package' properties
| and include the commented-out section in your child pom's plugin
| for this execution ID.
<phase>generate-sources</phase>
-->
</execution>
</executions>
<configuration>
<file>${packageVersion.template.input}</file>
<outputFile>${packageVersion.template.output}</outputFile>
<replacements>
<replacement>
<token>@package@</token>
<value>${packageVersion.package}</value>
</replacement>
<replacement>
<token>@projectversion@</token>
<value>${project.version}</value>
</replacement>
<replacement>
<token>@projectgroupid@</token>
<value>${project.groupId}</value>
</replacement>
<replacement>
<token>@projectartifactid@</token>
<value>${project.artifactId}</value>
</replacement>
</replacements>
</configuration>
</plugin>
<plugin>
<!-- Work around Eclipse incompatibility (http://code.google.com/p/maven-replacer-plugin/issues/detail?id=66) -->
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<versionRange>[${replacer.version},)</versionRange>
<goals>
<goal>replace</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>enforce-java</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[1.5,)</version>
<message>[ERROR] The currently supported version of Java is 1.5 or higher</message>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.0,)</version>
<message>[ERROR] The currently supported version of Maven is 3.0 or higher</message>
</requireMavenVersion>
<requirePluginVersions>
<banLatest>true</banLatest>
<banRelease>true</banRelease>
<banSnapshots>true</banSnapshots>
<phases>clean,deploy,site</phases>
<message>[ERROR] Best Practice is to always define plugin versions!</message>
</requirePluginVersions>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>${javac.src.version}</source>
<target>${javac.target.version}</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<optimize>true</optimize>
<!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's
use these to reduce jar size
-->
<debug>true</debug>
<debuglevel>lines,source</debuglevel>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-generated-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${generatedSourcesDir}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.7</version>
<configuration>
<!--
| dummy entry to stop bundle plugin from picking up jar config and reporting
| WARNING: Duplicate name in Manifest
| See http://markmail.org/message/mpkl24wk3jrjhhjg
-->
<archive>
<forced>true</forced>
</archive>
<excludeDependencies>true</excludeDependencies>
<manifestLocation>${project.build.directory}/osgi</manifestLocation>
<instructions>
<!--
| stops the "uses" clauses being added to "Export-Package" manifest entry
-->
<_nouses>true</_nouses>
<!--
| Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd
-->
<_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME</_removeheaders>
<Bundle-Name>${project.name}</Bundle-Name>
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
<Bundle-Description>${project.description}</Bundle-Description>
<Export-Package>${osgi.export}</Export-Package>
<Private-Package>${osgi.private}</Private-Package>
<Import-Package>${osgi.import}</Import-Package>
<DynamicImport-Package>${osgi.dynamicImport}</DynamicImport-Package>
<Bundle-DocURL>${project.url}</Bundle-DocURL>
<Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
<X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
<X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.7</version>
</extension>
<extension>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-manager-plexus</artifactId>
<version>1.7</version>
</extension>
<extension>
<groupId>org.kathrynhuxtable.maven.wagon</groupId>
<artifactId>wagon-gitsite</artifactId>
<version>0.3.1</version>
</extension>
</extensions>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc.version}</version>
<configuration>
<bootclasspath>${sun.boot.class.path}</bootclasspath>
<doclet>com.google.doclava.Doclava</doclet>
<useStandardDocletOptions>false</useStandardDocletOptions>
<additionalJOption>-J-Xmx1024m</additionalJOption>
<maxmemory>${javadoc.maxmemory}</maxmemory>
<links>
<link>http://docs.oracle.com/javase/6/docs/api/</link>
</links>
<docletArtifact>
<groupId>com.google.doclava</groupId>
<artifactId>doclava</artifactId>
<version>1.0.3</version>
</docletArtifact>
<additionalparam>
-hdf project.name "${project.name}"
-d ${project.reporting.outputDirectory}/apidocs
</additionalparam>
</configuration>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<version>2.0-beta-2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<linkXref>true</linkXref>
<minimumTokens>100</minimumTokens>
<targetJdk>1.5</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Todo Work</displayName>
<tags>
<tag>
<matchString>TODO</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>FIXME</matchString>
<matchType>ignoreCase</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<!-- 2.2 has a bug, revert to 2.1.2 -->
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
<X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
<X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
</manifestEntries>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<quiet>true</quiet>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
<X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
<X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
</manifestEntries>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>