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