Home | History | Annotate | Download | only in 22
      1 <?xml version="1.0" encoding="ISO-8859-1"?>
      2 <!--
      3 
      4    Licensed to the Apache Software Foundation (ASF) under one or more
      5    contributor license agreements.  See the NOTICE file distributed with
      6    this work for additional information regarding copyright ownership.
      7    The ASF licenses this file to You under the Apache License, Version 2.0
      8    (the "License"); you may not use this file except in compliance with
      9    the License.  You may obtain a copy of the License at
     10 
     11        http://www.apache.org/licenses/LICENSE-2.0
     12 
     13    Unless required by applicable law or agreed to in writing, software
     14    distributed under the License is distributed on an "AS IS" BASIS,
     15    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16    See the License for the specific language governing permissions and
     17    limitations under the License.
     18 
     19 -->
     20 <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">
     21   <modelVersion>4.0.0</modelVersion>
     22   <parent>
     23     <groupId>org.apache</groupId>
     24     <artifactId>apache</artifactId>
     25     <!-- Version 10 is broken; see https://issues.apache.org/jira/browse/MPOM-32 -->
     26     <version>9</version>
     27   </parent>
     28   <groupId>org.apache.commons</groupId>
     29   <artifactId>commons-parent</artifactId>
     30   <packaging>pom</packaging>
     31   <!-- Must agree with commons.release.version below -->
     32   <version>22</version>
     33   <name>Commons Parent</name>
     34   <url>http://commons.apache.org/</url>
     35   <description>The Apache Commons Parent Pom provides common settings for all Apache Commons components.</description>
     36 
     37   <ciManagement>
     38     <system>continuum</system>
     39     <url>http://vmbuild.apache.org/continuum/</url>
     40   </ciManagement>
     41 
     42   <!--
     43     Starting with version 22, the RAT plugin has changed Maven group and id, so any existing configuration
     44     needs to be updated.
     45     To fix component POMs, please change any occurrences of:
     46         <groupId>org.codehaus.mojo</groupId>
     47         <artifactId>rat-maven-plugin</artifactId>
     48     to the new values:
     49         <groupId>org.apache.rat</groupId>
     50         <artifactId>apache-rat-plugin</artifactId>
     51         
     52     Site deployment
     53     ===============
     54     Cannot define this here at present, see https://issues.apache.org/jira/browse/COMMONSSITE-26.
     55 
     56     The following should be added to the component POM:
     57    
     58     <distributionManagement>
     59       <site>
     60         <id>apache.website</id>
     61         <name>Apache Commons Site</name>
     62         <url>${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/${commons.componentid}</url>
     63       </site>
     64     </distributionManagement>
     65 
     66   -->
     67 
     68   <!--
     69     This section *must* be overwritten by subprojects. It is only to allow
     70     a release of the commons-parent POM.
     71   -->
     72   <scm>
     73     <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk</connection>
     74     <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk</developerConnection>
     75     <url>http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk</url>
     76   </scm>
     77 
     78   <mailingLists>
     79     <!-- N.B. commons-site now uses the Apache POM so has its own copy of the mailing list definitions -->
     80     <!-- 
     81         Components should normally override the default mailing list report by using the comnand
     82         mvn commons:mail-page
     83         This generates the file src/site/xdoc/mail-lists.xml which when processed will replace the PIR version.
     84      -->
     85     <!-- Changes to this list should be synchronised with the commons build plugin -->
     86     <mailingList>
     87       <name>Commons User List</name>
     88       <subscribe>user-subscribe (a] commons.apache.org</subscribe>
     89       <unsubscribe>user-unsubscribe (a] commons.apache.org</unsubscribe>
     90       <post>user (a] commons.apache.org</post>
     91       <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive>
     92       <otherArchives>
     93         <otherArchive>http://markmail.org/list/org.apache.commons.users/</otherArchive>
     94         <otherArchive>http://old.nabble.com/Commons---User-f319.html</otherArchive>
     95         <otherArchive>http://www.mail-archive.com/user@commons.apache.org/</otherArchive>
     96         <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.user</otherArchive>
     97       </otherArchives>
     98     </mailingList>
     99     <mailingList>
    100       <name>Commons Dev List</name>
    101       <subscribe>dev-subscribe (a] commons.apache.org</subscribe>
    102       <unsubscribe>dev-unsubscribe (a] commons.apache.org</unsubscribe>
    103       <post>dev (a] commons.apache.org</post>
    104       <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
    105       <otherArchives>
    106         <otherArchive>http://markmail.org/list/org.apache.commons.dev/</otherArchive>
    107         <otherArchive>http://old.nabble.com/Commons---Dev-f317.html</otherArchive>
    108         <otherArchive>http://www.mail-archive.com/dev@commons.apache.org/</otherArchive>
    109         <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.devel</otherArchive>
    110       </otherArchives>
    111     </mailingList>
    112     <mailingList>
    113       <name>Commons Issues List</name>
    114       <subscribe>issues-subscribe (a] commons.apache.org</subscribe>
    115       <unsubscribe>issues-unsubscribe (a] commons.apache.org</unsubscribe>
    116       <archive>http://mail-archives.apache.org/mod_mbox/commons-issues/</archive>
    117       <otherArchives>
    118         <otherArchive>http://markmail.org/list/org.apache.commons.issues/</otherArchive>
    119         <otherArchive>http://old.nabble.com/Commons---Issues-f25499.html</otherArchive>
    120         <otherArchive>http://www.mail-archive.com/issues@commons.apache.org/</otherArchive>
    121       </otherArchives>
    122     </mailingList>
    123     <mailingList>
    124       <name>Commons Commits List</name>
    125       <subscribe>commits-subscribe (a] commons.apache.org</subscribe>
    126       <unsubscribe>commits-unsubscribe (a] commons.apache.org</unsubscribe>
    127       <archive>http://mail-archives.apache.org/mod_mbox/commons-commits/</archive>
    128       <otherArchives>
    129         <otherArchive>http://markmail.org/list/org.apache.commons.commits/</otherArchive>
    130         <otherArchive>http://www.mail-archive.com/commits@commons.apache.org/</otherArchive>
    131       </otherArchives>
    132     </mailingList>
    133     <mailingList>
    134       <name>Apache Announce List</name>
    135       <subscribe>announce-subscribe (a] apache.org</subscribe>
    136       <unsubscribe>announce-unsubscribe (a] apache.org</unsubscribe>
    137       <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
    138       <otherArchives>
    139         <otherArchive>http://markmail.org/list/org.apache.announce/</otherArchive>
    140         <otherArchive>http://old.nabble.com/Apache-News-and-Announce-f109.html</otherArchive>
    141         <otherArchive>http://www.mail-archive.com/announce@apache.org/</otherArchive>
    142         <otherArchive>http://news.gmane.org/gmane.comp.apache.announce</otherArchive>
    143       </otherArchives>
    144     </mailingList>
    145   </mailingLists>
    146   <build>
    147     <!-- TODO find a better way to add N&L files to jars and test jars
    148          See also maven-remote-resources-plugin configuration below. 
    149     -->
    150     <resources>
    151       <!-- This is the default setting from the super-pom -->
    152       <resource>
    153         <directory>src/main/resources</directory>
    154       </resource>
    155       <!-- hack to ensure the N&L appear in jars -->
    156       <resource>
    157         <directory>${basedir}</directory>
    158         <targetPath>META-INF</targetPath>
    159         <includes>
    160           <include>NOTICE.txt</include>
    161           <include>LICENSE.txt</include>
    162         </includes>
    163       </resource>
    164     </resources>
    165     <!-- ensure test jars also get NOTICE & LICENSE files -->
    166     <testResources>
    167       <!-- This is the default setting from the super-pom -->
    168       <testResource>
    169         <directory>src/test/resources</directory>
    170       </testResource>
    171       <!-- hack to ensure the N&L appear in jars -->
    172       <testResource>
    173         <directory>${basedir}</directory>
    174         <targetPath>META-INF</targetPath>
    175         <includes>
    176           <include>NOTICE.txt</include>
    177           <include>LICENSE.txt</include>
    178         </includes>
    179       </testResource>
    180     </testResources>
    181     <pluginManagement>
    182       <plugins>
    183         <!-- org.apache.maven.plugins, alpha order by artifact id -->
    184         <plugin>
    185           <groupId>org.apache.maven.plugins</groupId>
    186           <artifactId>maven-antrun-plugin</artifactId>
    187           <version>1.6</version>
    188         </plugin>
    189         <plugin>
    190           <groupId>org.apache.maven.plugins</groupId>
    191           <artifactId>maven-assembly-plugin</artifactId>
    192           <version>2.2.1</version>
    193         </plugin>
    194         <plugin>
    195           <groupId>org.apache.maven.plugins</groupId>
    196           <artifactId>maven-clean-plugin</artifactId>
    197           <version>2.4.1</version>
    198         </plugin>
    199         <plugin>
    200           <groupId>org.apache.maven.plugins</groupId>
    201           <artifactId>maven-compiler-plugin</artifactId>
    202           <version>2.3.2</version>
    203           <configuration>
    204             <source>${maven.compile.source}</source>
    205             <target>${maven.compile.target}</target>
    206             <encoding>${commons.encoding}</encoding>
    207             <fork>${commons.compiler.fork}</fork>
    208             <compilerVersion>${commons.compiler.compilerVersion}</compilerVersion>
    209             <executable>${commons.compiler.javac}</executable>
    210           </configuration>
    211         </plugin>
    212         <plugin>
    213           <groupId>org.apache.maven.plugins</groupId>
    214           <artifactId>maven-deploy-plugin</artifactId>
    215           <version>2.7</version>
    216         </plugin>
    217         <plugin>
    218           <groupId>org.apache.maven.plugins</groupId>
    219           <artifactId>maven-gpg-plugin</artifactId>
    220           <version>1.4</version>
    221         </plugin>
    222         <plugin>
    223           <groupId>org.apache.maven.plugins</groupId>
    224           <artifactId>maven-install-plugin</artifactId>
    225           <version>2.3.1</version>
    226         </plugin>
    227         <plugin>
    228           <groupId>org.apache.maven.plugins</groupId>
    229           <artifactId>maven-jar-plugin</artifactId>
    230           <version>2.3.2</version>
    231         </plugin>
    232         <plugin>
    233           <groupId>org.apache.maven.plugins</groupId>
    234           <artifactId>maven-javadoc-plugin</artifactId>
    235           <version>${commons.javadoc.version}</version>
    236           <configuration>
    237             <!-- keep only errors and warnings -->
    238             <quiet>true</quiet>
    239             <encoding>${commons.encoding}</encoding>
    240             <docEncoding>${commons.docEncoding}</docEncoding>
    241             <links>
    242               <link>${commons.javadoc.java.link}</link>
    243               <link>${commons.javadoc.javaee.link}</link>
    244             </links>
    245             <archive>
    246               <manifest>
    247                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    248                 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    249               </manifest>
    250             </archive>
    251           </configuration>
    252         </plugin>
    253         <plugin>
    254           <groupId>org.apache.maven.plugins</groupId>
    255           <artifactId>maven-release-plugin</artifactId>
    256           <version>2.2.1</version>
    257         </plugin>
    258         <plugin>
    259           <!-- TODO see above - find better way to add N&L files to jars and test jars -->
    260           <groupId>org.apache.maven.plugins</groupId>
    261           <artifactId>maven-remote-resources-plugin</artifactId>
    262           <configuration>
    263             <!--
    264                 apache parent pom automatically adds "LICENSE" and "NOTICE" files
    265                 to jars - duplicating the "LICENSE.txt" and "NOTICE.txt"
    266                 files that components already have.
    267              -->
    268             <skip>true</skip>
    269           </configuration>
    270         </plugin>
    271         <plugin>
    272           <groupId>org.apache.maven.plugins</groupId>
    273           <artifactId>maven-resources-plugin</artifactId>
    274           <version>2.5</version>
    275         </plugin>
    276         <plugin>
    277           <groupId>org.apache.maven.plugins</groupId>
    278           <artifactId>maven-site-plugin</artifactId>
    279           <version>3.0</version>
    280         </plugin>
    281         <plugin>
    282           <groupId>org.apache.maven.plugins</groupId>
    283           <artifactId>maven-source-plugin</artifactId>
    284           <version>2.1.2</version>
    285           <configuration>
    286             <archive>
    287               <manifest>
    288                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    289                 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    290               </manifest>
    291             </archive>
    292           </configuration>
    293         </plugin>
    294         <plugin>
    295           <groupId>org.apache.maven.plugins</groupId>
    296           <artifactId>maven-surefire-plugin</artifactId>
    297           <version>${commons.surefire.version}</version>
    298         </plugin>
    299         <!-- Other plugins, alpha order by groupId and artifactId -->
    300         <plugin>
    301           <groupId>org.apache.commons</groupId>
    302           <artifactId>commons-build-plugin</artifactId>
    303           <version>1.3</version>
    304           <configuration>
    305             <commons.release.name>${commons.release.name}</commons.release.name>
    306           </configuration>
    307         </plugin>
    308         <plugin>
    309           <groupId>org.apache.felix</groupId>
    310           <artifactId>maven-bundle-plugin</artifactId>
    311           <!-- N.B. 2.3.5 does not work on Java 5; see profile java-1.5-detected for the workround -->
    312           <version>2.3.5</version>
    313           <inherited>true</inherited>
    314         </plugin>
    315         <plugin>
    316           <groupId>org.codehaus.mojo</groupId>
    317           <artifactId>buildnumber-maven-plugin</artifactId>
    318           <version>1.0</version>
    319         </plugin>
    320       </plugins>
    321     </pluginManagement>
    322     <plugins>
    323       <!-- org.apache.maven.plugins, alpha order by artifact id -->
    324       <plugin>
    325         <!--
    326           - Copy LICENSE.txt and NOTICE.txt so that they are included
    327           - in the -javadoc jar file for the component.
    328           -->
    329         <groupId>org.apache.maven.plugins</groupId>
    330         <artifactId>maven-antrun-plugin</artifactId>
    331         <executions>
    332           <execution>
    333             <id>javadoc.resources</id>
    334             <phase>generate-sources</phase>
    335             <goals>
    336               <goal>run</goal>
    337             </goals>
    338             <configuration>
    339               <target>
    340                 <copy todir="${project.build.directory}/apidocs/META-INF">
    341                   <fileset dir="${basedir}">
    342                     <include name="LICENSE.txt" />
    343                     <include name="NOTICE.txt" />
    344                   </fileset>
    345                 </copy>
    346               </target>
    347             </configuration>
    348           </execution>
    349         </executions>
    350       </plugin>
    351       <plugin>
    352         <groupId>org.apache.maven.plugins</groupId>
    353         <artifactId>maven-compiler-plugin</artifactId>
    354       </plugin>
    355       <plugin>
    356         <groupId>org.apache.maven.plugins</groupId>
    357         <artifactId>maven-jar-plugin</artifactId>
    358         <configuration>
    359           <archive>
    360             <manifestFile>${commons.manifestfile}</manifestFile>
    361             <manifestEntries>
    362               <Specification-Title>${project.name}</Specification-Title>
    363               <Specification-Version>${project.version}</Specification-Version>
    364               <Specification-Vendor>${project.organization.name}</Specification-Vendor>
    365               <Implementation-Title>${project.name}</Implementation-Title>
    366               <Implementation-Version>${project.version}</Implementation-Version>
    367               <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
    368               <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
    369               <Implementation-Build>${implementation.build}</Implementation-Build>
    370               <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
    371               <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
    372             </manifestEntries>
    373           </archive>
    374         </configuration>
    375       </plugin>
    376       <plugin>
    377         <groupId>org.apache.maven.plugins</groupId>
    378         <artifactId>maven-surefire-plugin</artifactId>
    379         <configuration>
    380           <jvm>${commons.surefire.java}</jvm>
    381         </configuration>
    382       </plugin>
    383       <!-- Other plugins, alpha order by groupId and artifactId -->
    384       <plugin>
    385         <groupId>org.apache.commons</groupId>
    386         <artifactId>commons-build-plugin</artifactId>
    387       </plugin>
    388       <plugin>
    389         <groupId>org.apache.felix</groupId>
    390         <artifactId>maven-bundle-plugin</artifactId>
    391         <configuration>
    392           <!-- 
    393             dummy entry to stop bundle plugin from picking up jar config and reporting
    394             WARNING: Duplicate name in Manifest
    395             See http://markmail.org/message/mpkl24wk3jrjhhjg 
    396           -->
    397           <archive> 
    398             <forced>true</forced> 
    399           </archive>
    400           <excludeDependencies>true</excludeDependencies>
    401           <manifestLocation>target/osgi</manifestLocation>
    402           <instructions>
    403             <!-- stops the "uses" clauses being added to "Export-Package" manifest entry -->
    404             <_nouses>true</_nouses>
    405             <!-- Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd -->
    406             <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME</_removeheaders>
    407             <Bundle-SymbolicName>${commons.osgi.symbolicName}</Bundle-SymbolicName>
    408             <Export-Package>${commons.osgi.export}</Export-Package>
    409             <Private-Package>${commons.osgi.private}</Private-Package>
    410             <Import-Package>${commons.osgi.import}</Import-Package>
    411             <DynamicImport-Package>${commons.osgi.dynamicImport}</DynamicImport-Package>
    412             <Bundle-DocURL>${project.url}</Bundle-DocURL>
    413           </instructions>
    414         </configuration>
    415         <executions>
    416           <execution>
    417             <id>bundle-manifest</id>
    418             <phase>process-classes</phase>
    419             <goals>
    420               <goal>manifest</goal>
    421             </goals>
    422           </execution>
    423         </executions>
    424       </plugin>
    425       <!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check -->
    426       <plugin>
    427         <groupId>org.apache.rat</groupId>
    428         <artifactId>apache-rat-plugin</artifactId>
    429         <version>${commons.rat.version}</version>
    430       </plugin>
    431       <plugin>
    432         <groupId>org.codehaus.mojo</groupId>
    433         <artifactId>buildnumber-maven-plugin</artifactId>
    434         <executions>
    435           <execution>
    436             <phase>validate</phase>
    437             <goals>
    438               <goal>create</goal>
    439             </goals>
    440           </execution>
    441         </executions>
    442         <configuration>
    443           <!-- Use committed revision so it does not change every time svn update is run -->
    444           <useLastCommittedRevision>true</useLastCommittedRevision>
    445           <!-- default revision number if unavailable -->
    446           <revisionOnScmFailure>??????</revisionOnScmFailure>
    447           <!-- svnjava works even if an svn command-line client is not on the path -->
    448           <providerImplementations>
    449             <svn>javasvn</svn>
    450           </providerImplementations>
    451         </configuration>
    452       </plugin>
    453     </plugins>
    454   </build>
    455 
    456   <reporting>
    457     <!-- N.B. plugins defined here in the <reporting> section ignore what's defined in <pluginManagement>
    458          in the <build> section above, so we have to define the versions here. -->
    459     <plugins>
    460       <!-- org.apache.maven.plugins, alpha order by artifact id -->
    461       <plugin>
    462         <groupId>org.apache.maven.plugins</groupId>
    463         <artifactId>maven-javadoc-plugin</artifactId>
    464         <version>${commons.javadoc.version}</version>
    465         <configuration> 
    466           <!-- keep only errors and warnings -->
    467           <quiet>true</quiet>
    468           <source>${maven.compile.source}</source>
    469           <encoding>${commons.encoding}</encoding>
    470           <docEncoding>${commons.docEncoding}</docEncoding>
    471           <linksource>true</linksource>
    472           <links>
    473             <link>${commons.javadoc.java.link}</link>
    474             <link>${commons.javadoc.javaee.link}</link>
    475           </links>
    476         </configuration> 
    477       </plugin>
    478       <plugin>
    479         <groupId>org.apache.maven.plugins</groupId>
    480         <artifactId>maven-jxr-plugin</artifactId>
    481         <version>${commons.jxr.version}</version>
    482         <configuration> 
    483           <aggregate>false</aggregate>
    484         </configuration> 
    485       </plugin>
    486       <plugin>
    487         <groupId>org.apache.maven.plugins</groupId>
    488         <artifactId>maven-project-info-reports-plugin</artifactId>
    489         <version>${commons.project-info.version}</version>
    490       </plugin>
    491       <plugin>
    492         <groupId>org.apache.maven.plugins</groupId>
    493         <artifactId>maven-site-plugin</artifactId>
    494         <version>3.0</version>
    495         <configuration>
    496           <!-- Exclude the navigation file for Maven 1 sites
    497                and the changes file used by the changes-plugin,
    498                as they interfere with the site generation. -->
    499           <moduleExcludes>
    500             <xdoc>navigation.xml,changes.xml</xdoc>
    501           </moduleExcludes>
    502         </configuration>
    503       </plugin>
    504       <plugin>
    505         <groupId>org.apache.maven.plugins</groupId>
    506         <artifactId>maven-surefire-report-plugin</artifactId>
    507         <version>${commons.surefire.version}</version>
    508       </plugin>
    509       <!-- Other plugins, alpha order by groupId and artifactId -->
    510       <plugin>
    511         <groupId>org.apache.rat</groupId>
    512         <artifactId>apache-rat-plugin</artifactId>
    513         <version>${commons.rat.version}</version>
    514       </plugin>
    515       <plugin>
    516         <groupId>org.codehaus.mojo</groupId>
    517         <artifactId>jdepend-maven-plugin</artifactId>
    518         <version>2.0-beta-2</version>
    519       </plugin>
    520       <plugin>
    521           <groupId>org.codehaus.mojo</groupId>
    522           <artifactId>clirr-maven-plugin</artifactId>
    523           <version>${commons.clirr.version}</version>
    524           <configuration>
    525               <minSeverity>${minSeverity}</minSeverity>
    526           </configuration>
    527       </plugin>
    528     </plugins>
    529   </reporting>
    530 
    531   <profiles>
    532 
    533     <profile>
    534       <id>ci</id>
    535       <distributionManagement>
    536         <repository>
    537           <id>apache.snapshots</id>
    538           <name>Apache Development Snapshot Repository</name>
    539           <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
    540         </repository>
    541         <snapshotRepository>
    542           <id>apache.snapshots</id>
    543           <name>Apache Development Snapshot Repository</name>
    544           <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
    545         </snapshotRepository>
    546       </distributionManagement>
    547     </profile>
    548 
    549     <profile>
    550       <id>release</id>
    551       <build>
    552         <plugins>
    553           <!-- We want to sign the artifact, the POM, and all attached artifacts -->
    554           <plugin>
    555             <artifactId>maven-gpg-plugin</artifactId>
    556             <configuration>
    557               <passphrase>${gpg.passphrase}</passphrase>
    558             </configuration>
    559             <executions>
    560               <execution>
    561                 <id>sign-artifacts</id>
    562                 <phase>verify</phase>
    563                 <goals>
    564                   <goal>sign</goal>
    565                 </goals>
    566               </execution>
    567             </executions>
    568           </plugin>
    569           <plugin>
    570             <artifactId>maven-install-plugin</artifactId>
    571             <configuration>
    572               <createChecksum>true</createChecksum>
    573             </configuration>
    574           </plugin>
    575           <plugin>
    576             <artifactId>maven-source-plugin</artifactId>
    577             <executions>
    578               <execution>
    579                 <id>create-source-jar</id>
    580                 <goals>
    581                   <goal>jar</goal>
    582                 </goals>
    583                 <phase>package</phase>
    584               </execution>
    585             </executions>
    586           </plugin>
    587           <plugin>
    588             <artifactId>maven-release-plugin</artifactId>
    589             <configuration>
    590               <!-- Pass these arguments to the deploy plugin. -->
    591               <arguments>-Prelease</arguments>
    592             </configuration>
    593           </plugin>
    594           <plugin>
    595             <artifactId>maven-javadoc-plugin</artifactId>
    596             <executions>
    597               <execution>
    598                 <id>create-javadoc-jar</id>
    599                 <goals>
    600                   <goal>javadoc</goal>
    601                   <goal>jar</goal>
    602                 </goals>
    603                 <phase>package</phase>
    604               </execution>
    605             </executions>
    606             <configuration>
    607               <source>${maven.compile.source}</source>
    608             </configuration>
    609           </plugin>
    610           <plugin>
    611             <artifactId>maven-assembly-plugin</artifactId>
    612             <executions>
    613               <execution>
    614                 <goals>
    615                   <goal>single</goal>
    616                 </goals>
    617                 <phase>package</phase>
    618               </execution>
    619             </executions>
    620           </plugin>
    621         </plugins>
    622       </build>
    623     </profile>
    624 
    625     <profile>
    626       <id>rc</id>
    627       <distributionManagement>
    628         <repository>
    629           <id>apache.snapshots</id>
    630           <name>Apache Development Snapshot Repository</name>
    631           <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged</url>
    632         </repository>
    633       </distributionManagement>
    634       <build>
    635         <plugins>
    636           <!-- We want to sign the artifact, the POM, and all attached artifacts -->
    637           <plugin>
    638             <artifactId>maven-gpg-plugin</artifactId>
    639             <configuration>
    640               <passphrase>${gpg.passphrase}</passphrase>
    641             </configuration>
    642             <executions>
    643               <execution>
    644                 <id>sign-artifacts</id>
    645                 <phase>verify</phase>
    646                 <goals>
    647                   <goal>sign</goal>
    648                 </goals>
    649               </execution>
    650             </executions>
    651           </plugin>
    652           <plugin>
    653             <artifactId>maven-install-plugin</artifactId>
    654             <configuration>
    655               <createChecksum>true</createChecksum>
    656             </configuration>
    657           </plugin>
    658           <plugin>
    659             <artifactId>maven-source-plugin</artifactId>
    660             <executions>
    661               <execution>
    662                 <id>create-source-jar</id>
    663                 <goals>
    664                   <goal>jar</goal>
    665                 </goals>
    666                 <phase>package</phase>
    667               </execution>
    668             </executions>
    669           </plugin>
    670           <plugin>
    671             <artifactId>maven-release-plugin</artifactId>
    672             <configuration>
    673               <!-- Pass these arguments to the deploy plugin. -->
    674               <arguments>-Prc</arguments>
    675             </configuration>
    676           </plugin>
    677           <plugin>
    678             <artifactId>maven-javadoc-plugin</artifactId>
    679             <executions>
    680               <execution>
    681                 <id>create-javadoc-jar</id>
    682                 <goals>
    683                   <goal>javadoc</goal>
    684                   <goal>jar</goal>
    685                 </goals>
    686                 <phase>package</phase>
    687               </execution>
    688             </executions>
    689             <configuration>
    690               <source>${maven.compile.source}</source>
    691             </configuration>
    692           </plugin>
    693           <plugin>
    694             <artifactId>maven-assembly-plugin</artifactId>
    695             <executions>
    696               <execution>
    697                 <goals>
    698                   <goal>single</goal>
    699                 </goals>
    700                 <phase>package</phase>
    701               </execution>
    702             </executions>
    703           </plugin>
    704         </plugins>
    705       </build>
    706     </profile>
    707 
    708     <profile>
    709       <id>apache-release</id>
    710       <build>
    711         <plugins>
    712           <plugin>
    713             <artifactId>maven-release-plugin</artifactId>
    714             <configuration>
    715                 <releaseProfiles>apache-release</releaseProfiles>
    716             </configuration>
    717           </plugin>
    718           <plugin>
    719             <groupId>org.apache.maven.plugins</groupId>
    720             <artifactId>maven-source-plugin</artifactId>
    721             <executions>
    722               <execution>
    723                 <id>attach-test-sources</id>
    724                 <goals>
    725                   <goal>test-jar</goal>
    726                 </goals>
    727               </execution>
    728             </executions>
    729           </plugin>
    730           <plugin>
    731             <artifactId>maven-install-plugin</artifactId>
    732             <configuration>
    733               <createChecksum>true</createChecksum>
    734             </configuration>
    735           </plugin>
    736           <plugin>
    737             <groupId>org.apache.maven.plugins</groupId>
    738             <artifactId>maven-jar-plugin</artifactId>
    739             <executions>
    740               <execution>
    741                 <goals>
    742                   <goal>test-jar</goal>
    743                 </goals>
    744               </execution>
    745             </executions>
    746           </plugin>          
    747         </plugins>
    748       </build>
    749     </profile>
    750 
    751     <!--
    752        Profile for running the build using JDK 1.3
    753        (JAVA_1_3_HOME needs to be defined, e.g. in settings.xml or an environment variable)
    754       -->
    755     <profile>
    756       <id>java-1.3</id>
    757       <properties>
    758         <commons.compiler.fork>true</commons.compiler.fork>
    759         <commons.compiler.compilerVersion>1.3</commons.compiler.compilerVersion>
    760         <commons.compiler.javac>${JAVA_1_3_HOME}/bin/javac</commons.compiler.javac>
    761         <commons.surefire.java>${JAVA_1_3_HOME}/bin/java</commons.surefire.java>
    762       </properties>
    763     </profile>
    764 
    765     <!--
    766        Profile for running the build using JDK 1.4
    767        (JAVA_1_4_HOME needs to be defined, e.g. in settings.xml or an environment variable)
    768       -->
    769     <profile>
    770       <id>java-1.4</id>
    771       <properties>
    772         <commons.compiler.fork>true</commons.compiler.fork>
    773         <commons.compiler.compilerVersion>1.4</commons.compiler.compilerVersion>
    774         <commons.compiler.javac>${JAVA_1_4_HOME}/bin/javac</commons.compiler.javac>
    775         <commons.surefire.java>${JAVA_1_4_HOME}/bin/java</commons.surefire.java>
    776       </properties>
    777     </profile>
    778 
    779     <!--
    780        Profile for running the build using JDK 1.5
    781        (JAVA_1_5_HOME needs to be defined, e.g. in settings.xml or an environment variable)
    782       -->
    783     <profile>
    784       <id>java-1.5</id>
    785       <properties>
    786         <commons.compiler.fork>true</commons.compiler.fork>
    787         <commons.compiler.compilerVersion>1.5</commons.compiler.compilerVersion>
    788         <commons.compiler.javac>${JAVA_1_5_HOME}/bin/javac</commons.compiler.javac>
    789         <commons.surefire.java>${JAVA_1_5_HOME}/bin/java</commons.surefire.java>
    790       </properties>
    791     </profile>
    792 
    793     <!--
    794        Profile for running the build using JDK 1.6
    795        (JAVA_1_6_HOME needs to be defined, e.g. in settings.xml or an environment variable)
    796       -->
    797     <profile>
    798       <id>java-1.6</id>
    799       <properties>
    800         <commons.compiler.fork>true</commons.compiler.fork>
    801         <commons.compiler.compilerVersion>1.6</commons.compiler.compilerVersion>
    802         <commons.compiler.javac>${JAVA_1_6_HOME}/bin/javac</commons.compiler.javac>
    803         <commons.surefire.java>${JAVA_1_6_HOME}/bin/java</commons.surefire.java>
    804       </properties>
    805     </profile>
    806 
    807     <!-- N.B. when adding new java profiles, be sure to update 
    808          the _removeheaders list in the maven_bundle_plugin configuration -->
    809 
    810     <!-- 
    811      | Profile to allow testing of deploy phase
    812      | e.g.
    813      | mvn deploy -Ptest-deploy -Prelease -Dgpg.skip
    814      -->
    815     <profile>
    816       <id>test-deploy</id>
    817       <properties>
    818         <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
    819       </properties>
    820     </profile>
    821    
    822     <!--
    823       Profile to build all Commons "proper" components.
    824 
    825       The trunks of all "proper" components can be checked out using:
    826           https://svn.apache.org/repos/asf/commons/trunks-proper/
    827 
    828       This profile is a convenience which can be used, for example, to build all the component sites:
    829           mvn -Ptrunks-proper site
    830 
    831       or, to clean up:
    832           mvn -Ptrunks-proper clean
    833 
    834       see http://issues.apache.org/jira/browse/COMMONSSITE-30
    835       -->
    836     <profile>
    837       <id>trunks-proper</id>
    838       <modules>
    839         <module>../beanutils</module>
    840         <module>../betwixt</module>
    841         <module>../chain</module>
    842         <module>../cli</module>
    843         <module>../codec</module>
    844         <module>../collections</module>
    845         <module>../compress</module>
    846         <module>../configuration</module>
    847         <module>../daemon</module>
    848         <module>../dbcp</module>
    849         <module>../dbutils</module>
    850         <module>../digester</module>
    851         <module>../discovery</module>
    852         <module>../el</module>
    853         <module>../email</module>
    854         <module>../exec</module>
    855         <module>../fileupload</module>
    856         <module>../io</module>
    857         <module>../jci</module>
    858         <module>../jexl</module>
    859         <module>../jxpath</module>
    860         <module>../lang</module>
    861         <module>../launcher</module>
    862         <module>../logging</module>
    863         <module>../math</module>
    864         <module>../modeler</module>
    865         <module>../net</module>
    866         <module>../pool</module>
    867         <module>../primitives</module>
    868         <module>../proxy</module>
    869         <module>../sanselan</module>
    870         <module>../scxml</module>
    871         <module>../validator</module>
    872         <module>../vfs</module>
    873       </modules>
    874     </profile>
    875 
    876     <!-- 
    877         Configure site plugin to support both Maven2 and Maven3, see:
    878         http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Using_the_same_version_of_maven-site-plugin_for_both_Maven_2_and_Maven_3
    879     -->
    880     <profile>
    881       <id>maven-3</id>
    882       <activation>
    883         <file>
    884           <!--  The basedir expression is only recognized by Maven 3.x (see MNG-2363) -->
    885           <exists>${basedir}</exists>
    886         </file>
    887       </activation>
    888       <build>
    889         <plugins>
    890           <plugin>
    891             <artifactId>maven-site-plugin</artifactId>
    892             <executions>
    893               <execution>
    894                 <id>attach-descriptor</id>
    895                 <goals>
    896                   <goal>attach-descriptor</goal>
    897                 </goals>
    898               </execution>
    899             </executions>
    900           </plugin>
    901         </plugins>
    902       </build>
    903     </profile>
    904     
    905     <profile>
    906       <!-- This profile detects Java 1.5 -->
    907       <id>java-1.5-detected</id>
    908       <activation>
    909         <jdk>1.5</jdk>
    910       </activation>
    911       <build>
    912         <plugins>
    913           <!-- workround for FELIX-3037 which applies to bundle 2.3.5 -->
    914           <plugin>
    915             <!-- version 2.3.5 depends on bndlib 1.43.0 which requires Java 6; fix this -->
    916             <groupId>org.apache.felix</groupId>
    917             <artifactId>maven-bundle-plugin</artifactId>
    918             <dependencies>
    919               <dependency>
    920                 <groupId>biz.aQute</groupId>
    921                 <artifactId>bndlib</artifactId>
    922                 <!-- 1.43.0 requires Java 6; use previous version which works with Java 5--> 
    923                 <version>1.15.0</version>
    924               </dependency>
    925             </dependencies>
    926           </plugin>
    927         </plugins>
    928       </build>
    929     </profile>
    930 
    931     <profile>
    932       <!-- 
    933           Generate release notes in top-level directory from src/changes/changes.xml
    934           Usage:
    935           mvn changes:announcement-generate -Prelease-notes
    936           
    937           Requires file src/changes/release-notes.vm.
    938           A sample template is available from:
    939           https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm
    940        -->
    941       <id>release-notes</id>
    942       <build>
    943         <plugins>
    944            <plugin>
    945             <groupId>org.apache.maven.plugins</groupId>
    946             <artifactId>maven-changes-plugin</artifactId>
    947             <version>${commons.changes.version}</version>
    948             <configuration>
    949               <template>release-notes.vm</template>
    950               <templateDirectory>src/changes</templateDirectory>
    951               <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
    952               <outputDirectory>.</outputDirectory>
    953               <announcementFile>RELEASE-NOTES.txt</announcementFile>
    954               <announceParameters>
    955                 <releaseVersion>${commons.release.version}</releaseVersion>
    956               </announceParameters>
    957             </configuration>
    958             <executions>
    959               <execution>
    960                 <id>create-release-notes</id>
    961                 <phase>generate-resources</phase>
    962                 <goals>
    963                   <goal>announcement-generate</goal>
    964                 </goals>
    965               </execution>
    966             </executions>
    967           </plugin>
    968         </plugins>
    969       </build>      
    970     </profile>
    971   </profiles>
    972 
    973   <properties>
    974     <!-- configuration bits for cutting a release candidate, must be overridden by components -->
    975     <!-- must agree with project.version above -->
    976     <commons.release.version>22</commons.release.version>
    977     <commons.rc.version>RC1</commons.rc.version>
    978 
    979     <!-- Default configuration for compiler source and target JVM -->
    980     <maven.compile.source>1.3</maven.compile.source>
    981     <maven.compile.target>1.3</maven.compile.target>
    982 
    983     <!-- compiler and surefire plugin settings for "java" profiles -->
    984     <commons.compiler.fork>false</commons.compiler.fork>
    985     <commons.compiler.compilerVersion />
    986     <commons.compiler.javac />
    987     <commons.surefire.java />
    988     
    989     <!-- plugin versions (allows same value in reporting and build sections) -->
    990     <commons.surefire.version>2.9</commons.surefire.version>
    991     <commons.surefire-report.version>2.9</commons.surefire-report.version>
    992     <commons.javadoc.version>2.8</commons.javadoc.version>
    993     <commons.rat.version>0.7</commons.rat.version>
    994     <commons.changes.version>2.6</commons.changes.version>
    995     <commons.clirr.version>2.3</commons.clirr.version>
    996     <commons.jxr.version>2.3</commons.jxr.version>
    997     <commons.project-info.version>2.4</commons.project-info.version>
    998 
    999 
   1000     <!-- Default values for the download-page generation by commons-build-plugin -->
   1001     <commons.release.name>${project.artifactId}-${commons.release.version}</commons.release.name>
   1002     <commons.release.desc />
   1003     <commons.binary.suffix>-bin</commons.binary.suffix>
   1004     <commons.release.2.name>${project.artifactId}-${commons.release.2.version}</commons.release.2.name>
   1005     <commons.release.2.desc />
   1006     <commons.release.2.binary.suffix>-bin</commons.release.2.binary.suffix>
   1007 
   1008     <!-- Commons Component Id -->
   1009     <commons.componentid>${project.artifactId}</commons.componentid>
   1010 
   1011     <!-- The RC version used in the staging repository URL. -->
   1012     <commons.rc.version>RC1</commons.rc.version>
   1013 
   1014     <!-- Configuration properties for the OSGi maven-bundle-plugin -->
   1015     <commons.osgi.symbolicName>org.apache.commons.${commons.componentid}</commons.osgi.symbolicName>
   1016     <commons.osgi.export>org.apache.commons.*;version=${project.version};-noimport:=true</commons.osgi.export>
   1017     <commons.osgi.import>*</commons.osgi.import>
   1018     <commons.osgi.dynamicImport />
   1019     <commons.osgi.private />
   1020 
   1021     <!-- location of any manifest file used by maven-jar-plugin -->
   1022     <commons.manifestfile>target/osgi/MANIFEST.MF</commons.manifestfile>
   1023 
   1024     <!--
   1025       Make the deployment protocol pluggable. This allows to switch to
   1026       other protocols like scpexe, which some users prefer over scp.
   1027     -->
   1028     <commons.deployment.protocol>scp</commons.deployment.protocol>
   1029 
   1030     <!--
   1031       Encoding of Java source files: Make sure, that the compiler and
   1032       the javadoc generator use the right encoding. Subprojects may
   1033       overwrite this, if they are using another encoding.
   1034     -->
   1035     <commons.encoding>iso-8859-1</commons.encoding>
   1036     <commons.docEncoding>${commons.encoding}</commons.docEncoding>
   1037     <!-- Define encoding for filtering -->
   1038     <project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding>
   1039     <project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding>
   1040 
   1041     <!-- Javadoc link to Java API.  Default is Java 1.6; components can override to other versions -->
   1042     <commons.javadoc.java.link>http://download.oracle.com/javase/6/docs/api/</commons.javadoc.java.link>
   1043     <commons.javadoc.javaee.link>http://download.oracle.com/javaee/6/api/</commons.javadoc.javaee.link>
   1044 
   1045     <!-- build meta inf -->
   1046     <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format>
   1047     <implementation.build>${scmBranch}@r${buildNumber}; ${maven.build.timestamp}</implementation.build>
   1048 
   1049     <!-- Allow Clirr severity to be overriden by the command-line option -DminSeverity=level -->
   1050     <minSeverity>info</minSeverity>
   1051   </properties>
   1052 
   1053 </project>
   1054