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