Home | History | Annotate | Download | only in 23
      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <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">
      3 
      4   <modelVersion>4.0.0</modelVersion>
      5 
      6   <groupId>com.fasterxml</groupId>
      7   <artifactId>oss-parent</artifactId>
      8   <version>23</version>
      9   <packaging>pom</packaging>
     10 
     11   <name>FasterXML.com parent pom</name>
     12   <description>FasterXML.com parent pom</description>
     13   <url>http://github.com/FasterXML/</url>
     14   <inceptionYear>2012</inceptionYear>
     15   <organization>
     16     <name>FasterXML</name>
     17     <url>http://fasterxml.com/</url>
     18   </organization>
     19   <licenses>
     20     <license>
     21       <name>The Apache Software License, Version 2.0</name>
     22       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
     23       <distribution>repo</distribution>
     24     </license>
     25   </licenses>
     26 
     27   <!-- to fill in mostly by children, but stupid Sonatype REQUIRES
     28        one developer already here
     29     -->
     30   <developers>
     31     <developer>
     32       <id>cowtowncoder</id>
     33       <name>Tatu Saloranta</name>
     34       <email>tatu (a] fasterxml.com</email>
     35     </developer>
     36   </developers>
     37 
     38   <scm>
     39     <connection>scm:git:git (a] github.com:FasterXML/oss-parent.git</connection>
     40     <developerConnection>scm:git:git (a] github.com:FasterXML/oss-parent.git</developerConnection>
     41     <url>http://github.com/FasterXML/oss-parent</url>
     42     <tag>oss-parent-23</tag>
     43   </scm>
     44   <issueManagement>
     45     <system>GitHub Issue Management</system>
     46     <url>https://github.com/FasterXML/${project.artifactId}/issues</url>
     47   </issueManagement>
     48 
     49   <distributionManagement>
     50     <snapshotRepository>
     51       <id>sonatype-nexus-snapshots</id>
     52       <name>Sonatype Nexus Snapshots</name>
     53       <url>https://oss.sonatype.org/content/repositories/snapshots</url>
     54     </snapshotRepository>
     55 
     56     <repository>
     57       <id>sonatype-nexus-staging</id>
     58       <name>Nexus Release Repository</name>
     59       <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
     60     </repository>
     61   </distributionManagement>
     62 
     63   <properties>
     64     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     65     <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
     66     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     67 
     68     <!-- Use 1.6 as default baseline -->
     69     <javac.src.version>1.6</javac.src.version>
     70     <javac.target.version>1.6</javac.target.version>
     71 
     72     <!-- By default, include all debug info; "vars" and "lines" both add 10-15% in size,
     73          "source" very little
     74      -->
     75     <javac.debuglevel>lines,source,vars</javac.debuglevel>
     76     <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format>
     77     <!--
     78      | Configuration properties for the OSGi maven-bundle-plugin
     79     -->
     80     <osgi.export>${project.groupId}.*;version=${project.version}</osgi.export>
     81     <osgi.import>*</osgi.import>
     82     <osgi.dynamicImport />
     83     <osgi.private />
     84     <osgi.requiredExecutionEnvironment />
     85     <osgi.versionpolicy>${range;[===,=+);${@}}</osgi.versionpolicy>
     86 
     87     <!--
     88      | shared build/report plugins version
     89     -->
     90 
     91     <!-- 11-Jul-2015, tatu: For some reason version 2.5.4 fails when
     92        used with Shade plugin (2.2 - 2.4); hence 2.5.3 is still used for Jackson 2.6
     93       -->
     94     <version.plugin.bundle>2.5.3</version.plugin.bundle>
     95 
     96     <version.plugin.jar>2.5</version.plugin.jar>
     97     <version.plugin.javadoc>2.9.1</version.plugin.javadoc>
     98     <!-- 2.4.2 had issues in releasing non-snapshot versions -->
     99     <version.plugin.release>2.5.2</version.plugin.release>
    100     <version.plugin.replacer>1.5.2</version.plugin.replacer>
    101     <version.plugin.shade>2.4</version.plugin.shade>
    102     <version.plugin.surefire>2.17</version.plugin.surefire>
    103 
    104     <javadoc.maxmemory>1g</javadoc.maxmemory>
    105 
    106     <generatedSourcesDir>${project.build.directory}/generated-sources</generatedSourcesDir>
    107 
    108   </properties>
    109 
    110   <repositories>
    111     <repository>
    112       <id>sonatype-nexus-snapshots</id>
    113       <name>Sonatype Nexus Snapshots</name>
    114       <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    115       <releases>
    116         <enabled>false</enabled>
    117       </releases>
    118       <snapshots>
    119         <enabled>true</enabled>
    120       </snapshots>
    121     </repository>
    122   </repositories>
    123 
    124   <build>
    125     <pluginManagement>
    126       <plugins>
    127         <plugin>
    128           <groupId>org.apache.maven.plugins</groupId>
    129           <artifactId>maven-clean-plugin</artifactId>
    130           <version>2.5</version>
    131         </plugin>
    132 
    133         <plugin>
    134           <groupId>org.apache.maven.plugins</groupId>
    135           <artifactId>maven-resources-plugin</artifactId>
    136           <version>2.6</version>
    137         </plugin>
    138 
    139         <plugin>
    140           <groupId>org.apache.maven.plugins</groupId>
    141           <artifactId>maven-install-plugin</artifactId>
    142           <version>2.3.1</version>
    143         </plugin>
    144 
    145         <plugin>
    146           <groupId>org.apache.maven.plugins</groupId>
    147           <artifactId>maven-deploy-plugin</artifactId>
    148           <version>2.7</version>
    149         </plugin>
    150 
    151         <plugin>
    152           <groupId>org.apache.maven.plugins</groupId>
    153           <artifactId>maven-site-plugin</artifactId>
    154           <version>3.1</version>
    155         </plugin>
    156 
    157         <plugin>
    158           <groupId>org.codehaus.mojo</groupId>
    159           <artifactId>cobertura-maven-plugin</artifactId>
    160           <version>2.6</version>
    161         </plugin>
    162 
    163         <plugin>
    164           <groupId>org.apache.felix</groupId>
    165           <artifactId>maven-bundle-plugin</artifactId>
    166           <version>${version.plugin.bundle}</version>
    167           <configuration>
    168             <instructions>
    169               <!--
    170                | stops the "uses" clauses being added to "Export-Package" manifest entry
    171               -->
    172               <_nouses>true</_nouses>
    173               <!--
    174                | Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd
    175               -->
    176               <_removeheaders>Include-Resource,JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME</_removeheaders>
    177               <_versionpolicy>${osgi.versionpolicy}</_versionpolicy>
    178               <Bundle-Name>${project.name}</Bundle-Name>
    179               <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
    180               <Bundle-Description>${project.description}</Bundle-Description>
    181               <Export-Package>${osgi.export}</Export-Package>
    182               <Private-Package>${osgi.private}</Private-Package>
    183               <Import-Package>${osgi.import}</Import-Package>
    184               <DynamicImport-Package>${osgi.dynamicImport}</DynamicImport-Package>
    185               <Bundle-DocURL>${project.url}</Bundle-DocURL>
    186               <Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment>
    187 
    188               <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    189               <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    190               <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    191 
    192               <Implementation-Title>${project.name}</Implementation-Title>
    193               <Implementation-Version>${project.version}</Implementation-Version>
    194               <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
    195               <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
    196 
    197               <Specification-Title>${project.name}</Specification-Title>
    198               <Specification-Version>${project.version}</Specification-Version>
    199               <Specification-Vendor>${project.organization.name}</Specification-Vendor>
    200             </instructions>
    201           </configuration>
    202         </plugin>
    203 
    204         <plugin>
    205           <groupId>org.apache.maven.plugins</groupId>
    206           <artifactId>maven-release-plugin</artifactId>
    207           <version>${version.plugin.release}</version>
    208           <configuration>
    209             <mavenExecutorId>forked-path</mavenExecutorId>
    210             <useReleaseProfile>false</useReleaseProfile>
    211             <arguments>-Prelease</arguments>
    212           </configuration>
    213         </plugin>
    214 
    215         <plugin>
    216           <groupId>org.sonatype.plugins</groupId>
    217           <artifactId>nexus-maven-plugin</artifactId>
    218           <version>2.1</version>
    219           <configuration>
    220             <nexusUrl>https://oss.sonatype.org/</nexusUrl>
    221             <serverAuthId>sonatype-nexus-staging</serverAuthId>
    222           </configuration>
    223         </plugin>
    224 
    225         <plugin>
    226           <groupId>org.codehaus.mojo</groupId>
    227           <artifactId>build-helper-maven-plugin</artifactId>
    228           <version>1.7</version>
    229         </plugin>
    230 
    231       </plugins>
    232     </pluginManagement>
    233 
    234     <plugins>
    235       <plugin>
    236         <groupId>org.apache.maven.plugins</groupId>
    237         <artifactId>maven-enforcer-plugin</artifactId>
    238         <version>1.3.1</version>
    239         <executions>
    240           <execution>
    241             <id>enforce-java</id>
    242             <phase>validate</phase>
    243             <goals>
    244               <goal>enforce</goal>
    245             </goals>
    246             <configuration>
    247               <rules>
    248                 <requireJavaVersion>
    249                   <version>[1.5,)</version>
    250                   <message>[ERROR] The currently supported version of Java is 1.5 or higher</message>
    251                 </requireJavaVersion>
    252                 <requireMavenVersion>
    253                   <version>[3.0,)</version>
    254                   <message>[ERROR] The currently supported version of Maven is 3.0 or higher</message>
    255                 </requireMavenVersion>
    256                 <requirePluginVersions>
    257                   <banLatest>true</banLatest>
    258                   <banRelease>true</banRelease>
    259                   <banSnapshots>true</banSnapshots>
    260                   <phases>clean,deploy,site</phases>
    261                   <message>[ERROR] Best Practice is to always define plugin versions!</message>
    262                 </requirePluginVersions>
    263               </rules>
    264             </configuration>
    265           </execution>
    266         </executions>
    267       </plugin>
    268 
    269       <plugin>
    270         <groupId>org.apache.maven.plugins</groupId>
    271         <artifactId>maven-compiler-plugin</artifactId>
    272         <version>3.2</version>
    273         <configuration>
    274           <source>${javac.src.version}</source>
    275           <target>${javac.target.version}</target>
    276           <showDeprecation>true</showDeprecation>
    277           <showWarnings>true</showWarnings>
    278           <optimize>true</optimize>
    279           <!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's
    280               use these to reduce jar size
    281             -->
    282           <debug>true</debug>
    283           <debuglevel>${javac.debuglevel}</debuglevel>
    284         </configuration>
    285       </plugin>
    286 
    287       <plugin>
    288         <groupId>org.codehaus.mojo</groupId>
    289         <artifactId>build-helper-maven-plugin</artifactId>
    290         <executions>
    291           <execution>
    292             <id>add-generated-sources</id>
    293             <phase>generate-sources</phase>
    294             <goals>
    295               <goal>add-source</goal>
    296             </goals>
    297             <configuration>
    298               <sources>
    299                 <source>${generatedSourcesDir}</source>
    300               </sources>
    301             </configuration>
    302           </execution>
    303         </executions>
    304       </plugin>
    305 
    306       <plugin>
    307         <groupId>org.apache.maven.plugins</groupId>
    308         <artifactId>maven-surefire-plugin</artifactId>
    309         <version>${version.plugin.surefire}</version>
    310       </plugin>
    311 
    312       <plugin>
    313         <groupId>org.apache.felix</groupId>
    314         <artifactId>maven-bundle-plugin</artifactId>
    315         <version>${version.plugin.bundle}</version>
    316         <extensions>true</extensions>
    317       </plugin>
    318 
    319       <plugin>
    320         <groupId>org.apache.maven.plugins</groupId>
    321         <artifactId>maven-jar-plugin</artifactId>
    322         <version>${version.plugin.jar}</version>
    323       </plugin>
    324       <plugin>
    325         <artifactId>maven-site-plugin</artifactId>
    326         <executions>
    327           <execution>
    328             <id>attach-descriptor</id>
    329             <goals>
    330               <goal>attach-descriptor</goal>
    331             </goals>
    332           </execution>
    333         </executions>
    334       </plugin>
    335 
    336       <plugin>
    337         <groupId>org.apache.maven.plugins</groupId>
    338         <artifactId>maven-scm-plugin</artifactId>
    339         <version>1.9.1</version>
    340         <dependencies>
    341           <dependency>
    342             <groupId>org.apache.maven.scm</groupId>
    343             <artifactId>maven-scm-provider-gitexe</artifactId>
    344             <version>1.9.1</version>
    345           </dependency>
    346         </dependencies>
    347       </plugin>
    348     </plugins>
    349 
    350     <extensions>
    351       <extension>
    352         <groupId>org.apache.maven.scm</groupId>
    353         <artifactId>maven-scm-provider-gitexe</artifactId>
    354         <version>1.9.1</version>
    355       </extension>
    356 
    357       <extension>
    358         <groupId>org.apache.maven.scm</groupId>
    359         <artifactId>maven-scm-manager-plexus</artifactId>
    360         <version>1.9.1</version>
    361       </extension>
    362 
    363       <!-- WTH is this? -->
    364       <extension>
    365         <groupId>org.kathrynhuxtable.maven.wagon</groupId>
    366         <artifactId>wagon-gitsite</artifactId>
    367         <version>0.3.1</version>
    368       </extension>
    369     </extensions>
    370   </build>
    371 
    372   <reporting>
    373     <plugins>
    374       <plugin>
    375         <groupId>org.apache.maven.plugins</groupId>
    376         <artifactId>maven-javadoc-plugin</artifactId>
    377         <version>${version.plugin.javadoc}</version>
    378         <configuration>
    379           <bootclasspath>${sun.boot.class.path}</bootclasspath>
    380           <doclet>com.google.doclava.Doclava</doclet>
    381           <useStandardDocletOptions>false</useStandardDocletOptions>
    382           <additionalJOption>-J-Xmx1024m</additionalJOption>
    383           <maxmemory>${javadoc.maxmemory}</maxmemory>
    384           <links>
    385             <link>http://docs.oracle.com/javase/6/docs/api/</link>
    386           </links>
    387           <docletArtifact>
    388             <groupId>com.google.doclava</groupId>
    389             <artifactId>doclava</artifactId>
    390             <version>1.0.3</version>
    391           </docletArtifact>
    392           <additionalparam>
    393             -hdf project.name "${project.name}"
    394             -d ${project.reporting.outputDirectory}/apidocs
    395           </additionalparam>
    396         </configuration>
    397         <reportSets>
    398           <reportSet>
    399             <id>default</id>
    400             <reports>
    401               <report>javadoc</report>
    402             </reports>
    403           </reportSet>
    404         </reportSets>
    405       </plugin>
    406 
    407       <plugin>
    408         <groupId>org.apache.maven.plugins</groupId>
    409         <artifactId>maven-project-info-reports-plugin</artifactId>
    410         <version>2.5</version>
    411       </plugin>
    412 
    413       <plugin>
    414         <groupId>org.apache.maven.plugins</groupId>
    415         <artifactId>maven-jxr-plugin</artifactId>
    416         <version>2.3</version>
    417       </plugin>
    418 
    419       <plugin>
    420         <groupId>org.codehaus.mojo</groupId>
    421         <artifactId>jdepend-maven-plugin</artifactId>
    422         <version>2.0-beta-2</version>
    423       </plugin>
    424 
    425       <plugin>
    426         <groupId>org.apache.maven.plugins</groupId>
    427         <artifactId>maven-surefire-report-plugin</artifactId>
    428         <version>${version.plugin.surefire}</version>
    429       </plugin>
    430 
    431       <plugin>
    432         <groupId>org.apache.maven.plugins</groupId>
    433         <artifactId>maven-pmd-plugin</artifactId>
    434         <version>2.7.1</version>
    435         <configuration>
    436           <linkXref>true</linkXref>
    437           <minimumTokens>100</minimumTokens>
    438           <targetJdk>1.5</targetJdk>
    439         </configuration>
    440       </plugin>
    441 
    442       <plugin>
    443         <groupId>org.codehaus.mojo</groupId>
    444         <artifactId>taglist-maven-plugin</artifactId>
    445         <version>2.4</version>
    446         <configuration>
    447           <tagListOptions>
    448             <tagClasses>
    449               <tagClass>
    450                 <displayName>Todo Work</displayName>
    451                 <tags>
    452                   <tag>
    453                     <matchString>TODO</matchString>
    454                     <matchType>ignoreCase</matchType>
    455                   </tag>
    456                   <tag>
    457                     <matchString>FIXME</matchString>
    458                     <matchType>ignoreCase</matchType>
    459                   </tag>
    460                 </tags>
    461               </tagClass>
    462             </tagClasses>
    463           </tagListOptions>
    464         </configuration>
    465       </plugin>
    466     </plugins>
    467   </reporting>
    468 
    469   <profiles>
    470     <profile>
    471       <id>release</id>
    472       <build>
    473         <plugins>
    474           <plugin>
    475             <groupId>org.apache.maven.plugins</groupId>
    476             <artifactId>maven-source-plugin</artifactId>
    477             <!-- 2.2 has a bug, revert to 2.1.2 -->
    478             <version>2.1.2</version>
    479             <executions>
    480               <execution>
    481                 <id>attach-sources</id>
    482                 <goals>
    483                   <goal>jar-no-fork</goal>
    484                 </goals>
    485                 <configuration>
    486                   <archive>
    487                     <manifest>
    488                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    489                       <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    490                     </manifest>
    491                     <manifestEntries>
    492                       <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    493                       <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    494                       <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    495                     </manifestEntries>
    496                   </archive>
    497                 </configuration>
    498               </execution>
    499             </executions>
    500           </plugin>
    501 
    502           <plugin>
    503             <groupId>org.apache.maven.plugins</groupId>
    504             <artifactId>maven-javadoc-plugin</artifactId>
    505             <version>${version.plugin.javadoc}</version>
    506             <executions>
    507               <execution>
    508                 <id>attach-javadocs</id>
    509                 <goals>
    510                   <goal>jar</goal>
    511                 </goals>
    512                 <configuration>
    513                   <quiet>true</quiet>
    514                   <archive>
    515                     <manifest>
    516                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    517                       <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    518                     </manifest>
    519                     <manifestEntries>
    520                       <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    521                       <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    522                       <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    523                     </manifestEntries>
    524                   </archive>
    525                 </configuration>
    526               </execution>
    527             </executions>
    528           </plugin>
    529 
    530           <plugin>
    531             <groupId>org.apache.maven.plugins</groupId>
    532             <artifactId>maven-gpg-plugin</artifactId>
    533             <version>1.4</version>
    534             <executions>
    535               <execution>
    536                 <id>sign-artifacts</id>
    537                 <phase>verify</phase>
    538                 <goals>
    539                   <goal>sign</goal>
    540                 </goals>
    541               </execution>
    542             </executions>
    543           </plugin>
    544         </plugins>
    545       </build>
    546     </profile>
    547   </profiles>
    548 
    549 </project>
    550