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>4</version>
26  </parent>
27  <groupId>org.apache.commons</groupId>
28  <artifactId>commons-parent</artifactId>
29  <packaging>pom</packaging>
30  <!-- TODO: dummy version. In Maven 2.1, this will be auto-versioned being a generic parent -->
31  <version>11</version>
32  <name>Commons Parent</name>
33  <url>http://commons.apache.org/</url>
34  <inceptionYear>2001</inceptionYear>
35
36  <ciManagement>
37    <system>continuum</system>
38    <url>http://vmbuild.apache.org/continuum/</url>
39  </ciManagement>
40
41  <distributionManagement>
42    <!--
43      This POM's parent POM (the Apache root POM) provides repositories. Unfortunately,
44      this allows for accidental deployments. So we disable them here by providing
45      a dummy repository. Use "mvn -Prc deploy" (Apache snapshot repository) or
46      "mvn -Prelease deploy" (Apache release repository), if you really want to deploy.
47    -->
48    <repository>
49      <id>dummy</id>
50      <name>Dummy to avoid accidental deploys</name>
51      <url />
52    </repository>
53  </distributionManagement>
54
55  <!--
56    This section *must* be overwritten by subprojects. It is only to allow
57    a release of the commons-parent POM.
58  -->
59  <scm>
60    <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-11</connection>
61    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-11</developerConnection>
62    <url>http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-11</url>
63  </scm>
64
65  <mailingLists>
66    <mailingList>
67      <name>Commons User List</name>
68      <subscribe>user-subscribe@commons.apache.org</subscribe>
69      <unsubscribe>user-unsubscribe@commons.apache.org</unsubscribe>
70      <post>user@commons.apache.org</post>
71      <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive>
72      <otherArchives>
73        <otherArchive>http://markmail.org/list/org.apache.commons.users/</otherArchive>
74        <otherArchive>http://www.nabble.com/Commons---User-f319.html</otherArchive>
75        <otherArchive>http://www.mail-archive.com/user@commons.apache.org/</otherArchive>
76        <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.user</otherArchive>
77      </otherArchives>
78    </mailingList>
79    <mailingList>
80      <name>Commons Dev List</name>
81      <subscribe>dev-subscribe@commons.apache.org</subscribe>
82      <unsubscribe>dev-unsubscribe@commons.apache.org</unsubscribe>
83      <post>dev@commons.apache.org</post>
84      <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
85      <otherArchives>
86        <otherArchive>http://markmail.org/list/org.apache.commons.dev/</otherArchive>
87        <otherArchive>http://www.nabble.com/Commons---Dev-f317.html</otherArchive>
88        <otherArchive>http://www.mail-archive.com/dev@commons.apache.org/</otherArchive>
89        <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.devel</otherArchive>
90      </otherArchives>
91    </mailingList>
92    <mailingList>
93      <name>Commons Issues List</name>
94      <subscribe>issues-subscribe@commons.apache.org</subscribe>
95      <unsubscribe>issues-unsubscribe@commons.apache.org</unsubscribe>
96      <post>issues@commons.apache.org</post>
97      <archive>http://mail-archives.apache.org/mod_mbox/commons-issues/</archive>
98      <otherArchives>
99        <otherArchive>http://markmail.org/list/org.apache.commons.issues/</otherArchive>
100        <otherArchive>http://www.nabble.com/Commons---Issues-f25499.html</otherArchive>
101        <otherArchive>http://www.mail-archive.com/issues@commons.apache.org/</otherArchive>
102      </otherArchives>
103    </mailingList>
104    <mailingList>
105      <name>Commons Commits List</name>
106      <subscribe>commits-subscribe@commons.apache.org</subscribe>
107      <unsubscribe>commits-unsubscribe@commons.apache.org</unsubscribe>
108      <post>commits@commons.apache.org</post>
109      <archive>http://mail-archives.apache.org/mod_mbox/commons-commits/</archive>
110      <otherArchives>
111        <otherArchive>http://markmail.org/list/org.apache.commons.commits/</otherArchive>
112        <otherArchive>http://www.mail-archive.com/commits@commons.apache.org/</otherArchive>
113      </otherArchives>
114    </mailingList>
115  </mailingLists>
116  <build>
117    <resources>
118      <resource>
119        <directory>${basedir}</directory>
120        <targetPath>META-INF</targetPath>
121        <includes>
122          <include>NOTICE.txt</include>
123          <include>LICENSE.txt</include>
124        </includes>
125      </resource>
126    </resources>
127    <pluginManagement>
128      <plugins>
129        <plugin>
130          <groupId>org.apache.maven.plugins</groupId>
131          <artifactId>maven-gpg-plugin</artifactId>
132          <version>1.0-alpha-3</version>
133        </plugin>
134        <plugin>
135          <groupId>org.apache.maven.plugins</groupId>
136          <artifactId>maven-install-plugin</artifactId>
137          <version>2.2</version>
138        </plugin>
139        <plugin>
140          <groupId>org.apache.maven.plugins</groupId>
141          <artifactId>maven-jar-plugin</artifactId>
142          <version>2.2</version>
143        </plugin>
144        <plugin>
145          <groupId>org.apache.maven.plugins</groupId>
146          <artifactId>maven-source-plugin</artifactId>
147          <version>2.0.4</version>
148        </plugin>
149        <plugin>
150          <groupId>org.apache.maven.plugins</groupId>
151          <artifactId>maven-surefire-plugin</artifactId>
152          <version>2.4.3</version>
153        </plugin>
154        <plugin>
155          <groupId>org.apache.maven.plugins</groupId>
156          <artifactId>maven-assembly-plugin</artifactId>
157          <version>2.2-beta-1</version>
158        </plugin>
159        <plugin>
160          <groupId>org.apache.maven.plugins</groupId>
161          <artifactId>maven-release-plugin</artifactId>
162          <version>2.0-beta-7</version>
163        </plugin>
164        <plugin>
165          <groupId>org.apache.maven.plugins</groupId>
166          <artifactId>maven-javadoc-plugin</artifactId>
167          <version>2.4</version>
168          <configuration>
169            <encoding>${commons.encoding}</encoding>
170            <docEncoding>${commons.docEncoding}</docEncoding>
171          </configuration>
172        </plugin>
173        <plugin>
174          <groupId>org.apache.maven.plugins</groupId>
175          <artifactId>maven-compiler-plugin</artifactId>
176          <version>2.0.2</version>
177          <configuration>
178            <source>${maven.compile.source}</source>
179            <target>${maven.compile.target}</target>
180            <encoding>${commons.encoding}</encoding>
181          </configuration>
182        </plugin>
183        <plugin>
184          <groupId>org.apache.maven.plugins</groupId>
185          <artifactId>maven-antrun-plugin</artifactId>
186          <version>1.1</version>
187        </plugin>
188        <plugin>
189          <groupId>org.apache.felix</groupId>
190          <artifactId>maven-bundle-plugin</artifactId>
191          <version>1.4.0</version>
192          <inherited>true</inherited>
193        </plugin>
194        <plugin>
195          <groupId>org.apache.commons</groupId>
196          <artifactId>commons-build-plugin</artifactId>
197          <version>1.1</version>
198          <configuration>
199            <commons.release.name>${commons.release.name}</commons.release.name>
200          </configuration>
201        </plugin>
202      </plugins>
203    </pluginManagement>
204    <plugins>
205      <!-- TODO: later use toolchain support to do compilation on an external JDK 1.3+ compiler -->
206      <plugin>
207        <artifactId>maven-compiler-plugin</artifactId>
208      </plugin>
209      <plugin>
210        <artifactId>maven-jar-plugin</artifactId>
211        <configuration>
212          <archive>
213            <manifestFile>${commons.manifestfile}</manifestFile>
214            <manifestEntries>
215              <Specification-Title>${project.name}</Specification-Title>
216              <Specification-Version>${project.version}</Specification-Version>
217              <Specification-Vendor>${project.organization.name}</Specification-Vendor>
218              <Implementation-Title>${project.name}</Implementation-Title>
219              <Implementation-Version>${project.version}</Implementation-Version>
220              <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
221              <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
222              <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
223              <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
224            </manifestEntries>
225          </archive>
226        </configuration>
227      </plugin>
228      <plugin>
229        <groupId>org.apache.felix</groupId>
230        <artifactId>maven-bundle-plugin</artifactId>
231        <configuration>
232          <excludeDependencies>true</excludeDependencies>
233          <manifestLocation>target/osgi</manifestLocation>
234          <instructions>
235            <!-- stops the "uses" clauses being added to "Export-Package" manifest entry -->
236            <_nouses>true</_nouses>
237            <Bundle-SymbolicName>${commons.osgi.symbolicName}</Bundle-SymbolicName>
238            <Export-Package>${commons.osgi.export}</Export-Package>
239            <Private-Package>${commons.osgi.private}</Private-Package>
240            <Import-Package>${commons.osgi.import}</Import-Package>
241            <DynamicImport-Package>${commons.osgi.dynamicImport}</DynamicImport-Package>
242            <Bundle-DocURL>${project.url}</Bundle-DocURL>
243          </instructions>
244        </configuration>
245        <executions>
246          <execution>
247            <id>bundle-manifest</id>
248            <phase>process-classes</phase>
249            <goals>
250              <goal>manifest</goal>
251            </goals>
252          </execution>
253        </executions>
254      </plugin>
255      <plugin>
256        <artifactId>maven-idea-plugin</artifactId>
257        <configuration>
258          <jdkLevel>${maven.compile.source}</jdkLevel>
259        </configuration>
260      </plugin>
261      <plugin>
262        <!--
263          - Copy LICENSE.txt and NOTICE.txt so that they are included
264          - in the -javadoc jar file for the component.
265          -->
266        <groupId>org.apache.maven.plugins</groupId>
267        <artifactId>maven-antrun-plugin</artifactId>
268        <executions>
269          <execution>
270            <id>javadoc.resources</id>
271            <phase>generate-sources</phase>
272            <goals>
273              <goal>run</goal>
274            </goals>
275            <configuration>
276              <tasks>
277                <copy todir="${project.build.directory}/apidocs/META-INF">
278                  <fileset dir="${basedir}">
279                    <include name="LICENSE.txt" />
280                    <include name="NOTICE.txt" />
281                  </fileset>
282                </copy>
283              </tasks>
284            </configuration>
285          </execution>
286        </executions>
287      </plugin>
288      <plugin>
289        <groupId>org.apache.commons</groupId>
290        <artifactId>commons-build-plugin</artifactId>
291      </plugin>
292    </plugins>
293  </build>
294
295  <reporting>
296    <plugins>
297      <plugin>
298        <groupId>org.apache.maven.plugins</groupId>
299        <artifactId>maven-project-info-reports-plugin</artifactId>
300        <version>2.0.1</version>
301      </plugin>
302      <plugin>
303        <groupId>org.apache.maven.plugins</groupId>
304        <artifactId>maven-javadoc-plugin</artifactId>
305        <version>2.4</version>
306        <configuration>
307          <aggregate>false</aggregate>
308          <source>${maven.compile.source}</source>
309          <encoding>${commons.encoding}</encoding>
310          <docEncoding>${commons.docEncoding}</docEncoding>
311          <linksource>true</linksource>
312          <links>
313            <link>http://java.sun.com/javase/6/docs/api/</link>
314          </links>
315        </configuration>
316      </plugin>
317      <plugin>
318        <groupId>org.apache.maven.plugins</groupId>
319        <artifactId>maven-jxr-plugin</artifactId>
320        <version>2.1</version>
321        <configuration>
322          <aggregate>false</aggregate>
323        </configuration>
324      </plugin>
325      <plugin>
326        <groupId>org.apache.maven.plugins</groupId>
327        <artifactId>maven-site-plugin</artifactId>
328        <version>2.0-beta-6</version>
329        <configuration>
330          <!-- Exclude the navigation file for Maven 1 sites
331               and the changes file used by the changes-plugin,
332               as they interfere with the site generation. -->
333          <moduleExcludes>
334            <xdoc>navigation.xml,changes.xml</xdoc>
335          </moduleExcludes>
336        </configuration>
337      </plugin>
338      <plugin>
339        <groupId>org.apache.maven.plugins</groupId>
340        <artifactId>maven-surefire-report-plugin</artifactId>
341        <version>2.4.3</version>
342      </plugin>
343      <plugin>
344        <groupId>org.codehaus.mojo</groupId>
345        <artifactId>jdepend-maven-plugin</artifactId>
346        <version>2.0-beta-1</version>
347      </plugin>
348      <plugin>
349        <groupId>org.codehaus.mojo</groupId>
350        <artifactId>rat-maven-plugin</artifactId>
351        <version>1.0-alpha-3</version>
352      </plugin>
353    </plugins>
354  </reporting>
355
356  <profiles>
357    <profile>
358      <id>ci</id>
359      <distributionManagement>
360        <repository>
361          <id>apache.snapshots</id>
362          <name>Apache Development Snapshot Repository</name>
363          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
364        </repository>
365        <snapshotRepository>
366          <id>apache.snapshots</id>
367          <name>Apache Development Snapshot Repository</name>
368          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
369        </snapshotRepository>
370      </distributionManagement>
371    </profile>
372
373    <profile>
374      <id>release</id>
375      <distributionManagement>
376        <repository>
377          <id>apache.releases</id>
378          <name>Apache Release Distribution Repository</name>
379          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
380        </repository>
381      </distributionManagement>
382      <build>
383        <plugins>
384          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
385          <plugin>
386            <artifactId>maven-gpg-plugin</artifactId>
387            <configuration>
388              <passphrase>${gpg.passphrase}</passphrase>
389            </configuration>
390            <executions>
391              <execution>
392                <id>sign-artifacts</id>
393                <phase>verify</phase>
394                <goals>
395                  <goal>sign</goal>
396                </goals>
397              </execution>
398            </executions>
399          </plugin>
400          <plugin>
401            <artifactId>maven-install-plugin</artifactId>
402            <configuration>
403              <createChecksum>true</createChecksum>
404            </configuration>
405          </plugin>
406          <plugin>
407            <artifactId>maven-source-plugin</artifactId>
408            <executions>
409              <execution>
410                <id>create-source-jar</id>
411                <goals>
412                  <goal>jar</goal>
413                </goals>
414                <phase>package</phase>
415              </execution>
416            </executions>
417          </plugin>
418          <plugin>
419            <artifactId>maven-release-plugin</artifactId>
420            <configuration>
421              <!-- Pass these arguments to the deploy plugin. -->
422              <arguments>-Prelease</arguments>
423            </configuration>
424          </plugin>
425          <plugin>
426            <artifactId>maven-javadoc-plugin</artifactId>
427            <executions>
428              <execution>
429                <id>create-javadoc-jar</id>
430                <goals>
431                  <goal>jar</goal>
432                </goals>
433                <phase>package</phase>
434                <configuration>
435                  <source>${maven.compile.source}</source>
436                </configuration>
437              </execution>
438            </executions>
439          </plugin>
440        </plugins>
441      </build>
442    </profile>
443
444    <profile>
445      <id>rc</id>
446      <distributionManagement>
447        <repository>
448          <id>apache.snapshots</id>
449          <name>Apache Development Snapshot Repository</name>
450          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged</url>
451        </repository>
452        <snapshotRepository>
453          <id>apache.snapshots</id>
454          <name>Apache Development Snapshot Repository</name>
455          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
456        </snapshotRepository>
457      </distributionManagement>
458      <build>
459        <plugins>
460          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
461          <plugin>
462            <artifactId>maven-gpg-plugin</artifactId>
463            <configuration>
464              <passphrase>${gpg.passphrase}</passphrase>
465            </configuration>
466            <executions>
467              <execution>
468                <id>sign-artifacts</id>
469                <phase>verify</phase>
470                <goals>
471                  <goal>sign</goal>
472                </goals>
473              </execution>
474            </executions>
475          </plugin>
476          <plugin>
477            <artifactId>maven-install-plugin</artifactId>
478            <configuration>
479              <createChecksum>true</createChecksum>
480            </configuration>
481          </plugin>
482          <plugin>
483            <artifactId>maven-site-plugin</artifactId>
484            <executions>
485              <execution>
486                <goals>
487                  <goal>site</goal>
488                </goals>
489                <phase>package</phase>
490              </execution>
491            </executions>
492          </plugin>
493          <plugin>
494            <artifactId>maven-source-plugin</artifactId>
495            <executions>
496              <execution>
497                <id>create-source-jar</id>
498                <goals>
499                  <goal>jar</goal>
500                </goals>
501                <phase>package</phase>
502              </execution>
503            </executions>
504          </plugin>
505          <plugin>
506            <artifactId>maven-release-plugin</artifactId>
507            <configuration>
508              <!-- Pass these arguments to the deploy plugin. -->
509              <arguments>-Prc</arguments>
510            </configuration>
511          </plugin>
512          <plugin>
513            <artifactId>maven-javadoc-plugin</artifactId>
514            <executions>
515              <execution>
516                <id>create-javadoc-jar</id>
517                <goals>
518                  <goal>jar</goal>
519                </goals>
520                <phase>package</phase>
521                <configuration>
522                  <source>${maven.compile.source}</source>
523                </configuration>
524              </execution>
525            </executions>
526          </plugin>
527          <plugin>
528            <artifactId>maven-assembly-plugin</artifactId>
529            <executions>
530              <execution>
531                <goals>
532                  <goal>attached</goal>
533                </goals>
534                <phase>package</phase>
535              </execution>
536            </executions>
537          </plugin>
538        </plugins>
539      </build>
540    </profile>
541
542    <!--
543      Profile to build all Commons "proper" components.
544
545      The trunks of all "proper" components can be checked out using:
546          https://svn.apache.org/repos/asf/commons/trunks-proper/
547
548      This profile is a convience which can be used, for example, to build all the component sites:
549          mvn -Ptrunks-proper site
550
551      or, to clean up:
552          mvn -Ptrunks-proper clean
553
554      see http://issues.apache.org/jira/browse/COMMONSSITE-30
555      -->
556    <profile>
557      <id>trunks-proper</id>
558      <modules>
559        <module>../beanutils</module>
560        <module>../betwixt</module>
561        <module>../chain</module>
562        <module>../cli</module>
563        <module>../codec</module>
564        <module>../collections</module>
565        <module>../configuration</module>
566        <module>../daemon</module>
567        <module>../dbcp</module>
568        <module>../dbutils</module>
569        <module>../digester</module>
570        <module>../discovery</module>
571        <module>../el</module>
572        <module>../email</module>
573        <module>../exec</module>
574        <module>../fileupload</module>
575        <module>../io</module>
576        <module>../jci</module>
577        <module>../jexl</module>
578        <module>../jxpath</module>
579        <module>../lang</module>
580        <module>../launcher</module>
581        <module>../logging</module>
582        <module>../math</module>
583        <module>../modeler</module>
584        <module>../net</module>
585        <module>../pool</module>
586        <module>../primitives</module>
587        <module>../proxy</module>
588        <module>../scxml</module>
589        <module>../transaction</module>
590        <module>../validator</module>
591        <module>../vfs</module>
592      </modules>
593    </profile>
594  </profiles>
595
596  <properties>
597
598    <!-- Default configuration for compiler source and target JVM -->
599    <maven.compile.source>1.3</maven.compile.source>
600    <maven.compile.target>1.3</maven.compile.target>
601
602    <!-- Default values for the download-page generation by commons-build-plugin -->
603    <commons.release.name>${project.artifactId}-${commons.release.version}</commons.release.name>
604    <commons.binary.suffix>-bin</commons.binary.suffix>
605
606    <!-- Commons Component Id -->
607    <commons.componentid>${project.artifactId}</commons.componentid>
608
609    <!-- The RC version used in the staging repository URL. -->
610    <commons.rc.version>RC1</commons.rc.version>
611
612    <!-- Configuration properties for the OSGi maven-bundle-plugin -->
613    <commons.osgi.symbolicName>org.apache.commons.${commons.componentid}</commons.osgi.symbolicName>
614    <commons.osgi.export>org.apache.commons.*;version=${pom.version}</commons.osgi.export>
615    <commons.osgi.import>*</commons.osgi.import>
616    <commons.osgi.dynamicImport />
617    <commons.osgi.private />
618
619    <!-- location of any manifest file used by maven-jar-plugin -->
620    <commons.manifestfile>target/osgi/MANIFEST.MF</commons.manifestfile>
621
622    <!--
623      Make the deployment protocol pluggable. This allows to switch to
624      other protocols like scpexe, which some users prefer over scp.
625    -->
626    <commons.deployment.protocol>scp</commons.deployment.protocol>
627
628    <!--
629      Encoding of Java source files: Make sure, that the compiler and
630      the javadoc generator use the right encoding. Subprojects may
631      overwrite this, if they are using another encoding.
632    -->
633    <commons.encoding>iso-8859-1</commons.encoding>
634    <commons.docEncoding>${commons.encoding}</commons.docEncoding>
635
636  </properties>
637
638</project>
639