Home | History | Annotate | Download | only in 24
      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>24</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-24</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     <osgi.includeResource>{maven-resources}</osgi.includeResource>
     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               <Include-Resource>${osgi.includeResource}</Include-Resource>
    186               <Bundle-DocURL>${project.url}</Bundle-DocURL>
    187               <Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment>
    188 
    189 
    190               <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    191               <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    192               <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    193 
    194               <Implementation-Title>${project.name}</Implementation-Title>
    195               <Implementation-Version>${project.version}</Implementation-Version>
    196               <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
    197               <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
    198 
    199               <Specification-Title>${project.name}</Specification-Title>
    200               <Specification-Version>${project.version}</Specification-Version>
    201               <Specification-Vendor>${project.organization.name}</Specification-Vendor>
    202             </instructions>
    203           </configuration>
    204         </plugin>
    205 
    206         <plugin>
    207           <groupId>org.apache.maven.plugins</groupId>
    208           <artifactId>maven-release-plugin</artifactId>
    209           <version>${version.plugin.release}</version>
    210           <configuration>
    211             <mavenExecutorId>forked-path</mavenExecutorId>
    212             <useReleaseProfile>false</useReleaseProfile>
    213             <arguments>-Prelease</arguments>
    214           </configuration>
    215         </plugin>
    216 
    217         <plugin>
    218           <groupId>org.sonatype.plugins</groupId>
    219           <artifactId>nexus-maven-plugin</artifactId>
    220           <version>2.1</version>
    221           <configuration>
    222             <nexusUrl>https://oss.sonatype.org/</nexusUrl>
    223             <serverAuthId>sonatype-nexus-staging</serverAuthId>
    224           </configuration>
    225         </plugin>
    226 
    227         <plugin>
    228           <groupId>org.codehaus.mojo</groupId>
    229           <artifactId>build-helper-maven-plugin</artifactId>
    230           <version>1.7</version>
    231         </plugin>
    232 
    233       </plugins>
    234     </pluginManagement>
    235 
    236     <plugins>
    237       <plugin>
    238         <groupId>org.apache.maven.plugins</groupId>
    239         <artifactId>maven-enforcer-plugin</artifactId>
    240         <version>1.3.1</version>
    241         <executions>
    242           <execution>
    243             <id>enforce-java</id>
    244             <phase>validate</phase>
    245             <goals>
    246               <goal>enforce</goal>
    247             </goals>
    248             <configuration>
    249               <rules>
    250                 <requireJavaVersion>
    251                   <version>[1.5,)</version>
    252                   <message>[ERROR] The currently supported version of Java is 1.5 or higher</message>
    253                 </requireJavaVersion>
    254                 <requireMavenVersion>
    255                   <version>[3.0,)</version>
    256                   <message>[ERROR] The currently supported version of Maven is 3.0 or higher</message>
    257                 </requireMavenVersion>
    258                 <requirePluginVersions>
    259                   <banLatest>true</banLatest>
    260                   <banRelease>true</banRelease>
    261                   <banSnapshots>true</banSnapshots>
    262                   <phases>clean,deploy,site</phases>
    263                   <message>[ERROR] Best Practice is to always define plugin versions!</message>
    264                 </requirePluginVersions>
    265               </rules>
    266             </configuration>
    267           </execution>
    268         </executions>
    269       </plugin>
    270 
    271       <plugin>
    272         <groupId>org.apache.maven.plugins</groupId>
    273         <artifactId>maven-compiler-plugin</artifactId>
    274         <version>3.2</version>
    275         <configuration>
    276           <source>${javac.src.version}</source>
    277           <target>${javac.target.version}</target>
    278           <showDeprecation>true</showDeprecation>
    279           <showWarnings>true</showWarnings>
    280           <optimize>true</optimize>
    281           <!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's
    282               use these to reduce jar size
    283             -->
    284           <debug>true</debug>
    285           <debuglevel>${javac.debuglevel}</debuglevel>
    286         </configuration>
    287       </plugin>
    288 
    289       <plugin>
    290         <groupId>org.codehaus.mojo</groupId>
    291         <artifactId>build-helper-maven-plugin</artifactId>
    292         <executions>
    293           <execution>
    294             <id>add-generated-sources</id>
    295             <phase>generate-sources</phase>
    296             <goals>
    297               <goal>add-source</goal>
    298             </goals>
    299             <configuration>
    300               <sources>
    301                 <source>${generatedSourcesDir}</source>
    302               </sources>
    303             </configuration>
    304           </execution>
    305         </executions>
    306       </plugin>
    307 
    308       <plugin>
    309         <groupId>org.apache.maven.plugins</groupId>
    310         <artifactId>maven-surefire-plugin</artifactId>
    311         <version>${version.plugin.surefire}</version>
    312       </plugin>
    313 
    314       <plugin>
    315         <groupId>org.apache.felix</groupId>
    316         <artifactId>maven-bundle-plugin</artifactId>
    317         <version>${version.plugin.bundle}</version>
    318         <extensions>true</extensions>
    319       </plugin>
    320 
    321       <plugin>
    322         <groupId>org.apache.maven.plugins</groupId>
    323         <artifactId>maven-jar-plugin</artifactId>
    324         <version>${version.plugin.jar}</version>
    325       </plugin>
    326       <plugin>
    327         <artifactId>maven-site-plugin</artifactId>
    328         <executions>
    329           <execution>
    330             <id>attach-descriptor</id>
    331             <goals>
    332               <goal>attach-descriptor</goal>
    333             </goals>
    334           </execution>
    335         </executions>
    336       </plugin>
    337 
    338       <plugin>
    339         <groupId>org.apache.maven.plugins</groupId>
    340         <artifactId>maven-scm-plugin</artifactId>
    341         <version>1.9.1</version>
    342         <dependencies>
    343           <dependency>
    344             <groupId>org.apache.maven.scm</groupId>
    345             <artifactId>maven-scm-provider-gitexe</artifactId>
    346             <version>1.9.1</version>
    347           </dependency>
    348         </dependencies>
    349       </plugin>
    350     </plugins>
    351 
    352     <extensions>
    353       <extension>
    354         <groupId>org.apache.maven.scm</groupId>
    355         <artifactId>maven-scm-provider-gitexe</artifactId>
    356         <version>1.9.1</version>
    357       </extension>
    358 
    359       <extension>
    360         <groupId>org.apache.maven.scm</groupId>
    361         <artifactId>maven-scm-manager-plexus</artifactId>
    362         <version>1.9.1</version>
    363       </extension>
    364 
    365       <!-- WTH is this? -->
    366       <extension>
    367         <groupId>org.kathrynhuxtable.maven.wagon</groupId>
    368         <artifactId>wagon-gitsite</artifactId>
    369         <version>0.3.1</version>
    370       </extension>
    371     </extensions>
    372   </build>
    373 
    374   <reporting>
    375     <plugins>
    376       <plugin>
    377         <groupId>org.apache.maven.plugins</groupId>
    378         <artifactId>maven-javadoc-plugin</artifactId>
    379         <version>${version.plugin.javadoc}</version>
    380         <configuration>
    381           <bootclasspath>${sun.boot.class.path}</bootclasspath>
    382           <doclet>com.google.doclava.Doclava</doclet>
    383           <useStandardDocletOptions>false</useStandardDocletOptions>
    384           <additionalJOption>-J-Xmx1024m</additionalJOption>
    385           <maxmemory>${javadoc.maxmemory}</maxmemory>
    386           <links>
    387             <link>http://docs.oracle.com/javase/6/docs/api/</link>
    388           </links>
    389           <docletArtifact>
    390             <groupId>com.google.doclava</groupId>
    391             <artifactId>doclava</artifactId>
    392             <version>1.0.3</version>
    393           </docletArtifact>
    394           <additionalparam>
    395             -hdf project.name "${project.name}"
    396             -d ${project.reporting.outputDirectory}/apidocs
    397           </additionalparam>
    398         </configuration>
    399         <reportSets>
    400           <reportSet>
    401             <id>default</id>
    402             <reports>
    403               <report>javadoc</report>
    404             </reports>
    405           </reportSet>
    406         </reportSets>
    407       </plugin>
    408 
    409       <plugin>
    410         <groupId>org.apache.maven.plugins</groupId>
    411         <artifactId>maven-project-info-reports-plugin</artifactId>
    412         <version>2.5</version>
    413       </plugin>
    414 
    415       <plugin>
    416         <groupId>org.apache.maven.plugins</groupId>
    417         <artifactId>maven-jxr-plugin</artifactId>
    418         <version>2.3</version>
    419       </plugin>
    420 
    421       <plugin>
    422         <groupId>org.codehaus.mojo</groupId>
    423         <artifactId>jdepend-maven-plugin</artifactId>
    424         <version>2.0-beta-2</version>
    425       </plugin>
    426 
    427       <plugin>
    428         <groupId>org.apache.maven.plugins</groupId>
    429         <artifactId>maven-surefire-report-plugin</artifactId>
    430         <version>${version.plugin.surefire}</version>
    431       </plugin>
    432 
    433       <plugin>
    434         <groupId>org.apache.maven.plugins</groupId>
    435         <artifactId>maven-pmd-plugin</artifactId>
    436         <version>2.7.1</version>
    437         <configuration>
    438           <linkXref>true</linkXref>
    439           <minimumTokens>100</minimumTokens>
    440           <targetJdk>1.5</targetJdk>
    441         </configuration>
    442       </plugin>
    443 
    444       <plugin>
    445         <groupId>org.codehaus.mojo</groupId>
    446         <artifactId>taglist-maven-plugin</artifactId>
    447         <version>2.4</version>
    448         <configuration>
    449           <tagListOptions>
    450             <tagClasses>
    451               <tagClass>
    452                 <displayName>Todo Work</displayName>
    453                 <tags>
    454                   <tag>
    455                     <matchString>TODO</matchString>
    456                     <matchType>ignoreCase</matchType>
    457                   </tag>
    458                   <tag>
    459                     <matchString>FIXME</matchString>
    460                     <matchType>ignoreCase</matchType>
    461                   </tag>
    462                 </tags>
    463               </tagClass>
    464             </tagClasses>
    465           </tagListOptions>
    466         </configuration>
    467       </plugin>
    468     </plugins>
    469   </reporting>
    470 
    471   <profiles>
    472     <profile>
    473       <id>release</id>
    474       <build>
    475         <plugins>
    476           <plugin>
    477             <groupId>org.apache.maven.plugins</groupId>
    478             <artifactId>maven-source-plugin</artifactId>
    479             <!-- 2.2 has a bug, revert to 2.1.2 -->
    480             <version>2.1.2</version>
    481             <executions>
    482               <execution>
    483                 <id>attach-sources</id>
    484                 <goals>
    485                   <goal>jar-no-fork</goal>
    486                 </goals>
    487                 <configuration>
    488                   <archive>
    489                     <manifest>
    490                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    491                       <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    492                     </manifest>
    493                     <manifestEntries>
    494                       <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    495                       <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    496                       <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    497                     </manifestEntries>
    498                   </archive>
    499                 </configuration>
    500               </execution>
    501             </executions>
    502           </plugin>
    503 
    504           <plugin>
    505             <groupId>org.apache.maven.plugins</groupId>
    506             <artifactId>maven-javadoc-plugin</artifactId>
    507             <version>${version.plugin.javadoc}</version>
    508             <executions>
    509               <execution>
    510                 <id>attach-javadocs</id>
    511                 <goals>
    512                   <goal>jar</goal>
    513                 </goals>
    514                 <configuration>
    515                   <quiet>true</quiet>
    516                   <archive>
    517                     <manifest>
    518                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    519                       <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    520                     </manifest>
    521                     <manifestEntries>
    522                       <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
    523                       <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
    524                       <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
    525                     </manifestEntries>
    526                   </archive>
    527                 </configuration>
    528               </execution>
    529             </executions>
    530           </plugin>
    531 
    532           <plugin>
    533             <groupId>org.apache.maven.plugins</groupId>
    534             <artifactId>maven-gpg-plugin</artifactId>
    535             <version>1.4</version>
    536             <executions>
    537               <execution>
    538                 <id>sign-artifacts</id>
    539                 <phase>verify</phase>
    540                 <goals>
    541                   <goal>sign</goal>
    542                 </goals>
    543               </execution>
    544             </executions>
    545           </plugin>
    546         </plugins>
    547       </build>
    548     </profile>
    549   </profiles>
    550 
    551 </project>
    552