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/xsd/maven-4.0.0.xsd"> 21 <modelVersion>4.0.0</modelVersion> 22 <parent> 23 <groupId>org.apache</groupId> 24 <artifactId>apache</artifactId> 25 <version>16</version> 26 </parent> 27 <groupId>org.apache.commons</groupId> 28 <artifactId>commons-parent</artifactId> 29 <packaging>pom</packaging> 30 <version>39</version> 31 <name>Apache Commons Parent</name> 32 <url>http://commons.apache.org/</url> 33 <description>The Apache Commons Parent POM provides common settings for all Apache Commons components.</description> 34 35 <!-- 36 Version 39: 37 38 - Update Compiler Plugin : 3.2 -> 3.3 39 - Update Build Helper Plugin : 1.8 -> 1.9.1 40 - Update Release Plugin : 2.5.1 -> 2.5.2 41 - Update Javadoc Plugin : 2.10.2 -> 2.10.3 42 - Update Jacoco 0.7.4.201502262128 -> 0.7.5.201505241946 43 - Move assembly to standard location. src/main => src/assembly/src.xml 44 - Update animal-sniffer Plugin : 1.13 -> 1.14 (for java 7+ builds) supporting Java8 45 - dropped the trunks-proper profile 46 47 --> 48 49 <!-- Maven versions plugin reports an error if this is omitted --> 50 <prerequisites> 51 <maven>3.0.1</maven> 52 </prerequisites> 53 54 <ciManagement> 55 <system>continuum</system> 56 <url>https://continuum-ci.apache.org/</url> 57 </ciManagement> 58 59 <!-- 60 In release 31, the maven.compile.* properties were corrected to maven.compiler.* 61 [See COMMONSSITE-69] 62 If updating from a previous version, please check the property definitions 63 64 Starting with version 22, the RAT plugin has changed Maven group and id, so any existing configuration 65 needs to be updated. 66 To fix component POMs, please change any occurrences of: 67 <groupId>org.codehaus.mojo</groupId> 68 <artifactId>rat-maven-plugin</artifactId> 69 to the new values: 70 <groupId>org.apache.rat</groupId> 71 <artifactId>apache-rat-plugin</artifactId> 72 73 Site deployment 74 =============== 75 Cannot define this here at present, see https://issues.apache.org/jira/browse/COMMONSSITE-26. 76 77 The following should be added to the component POM: 78 79 <distributionManagement> 80 <site> 81 <id>commons.site</id> 82 <name>Apache Commons Site SVN</name> 83 <url>scm:svn:${commons.scmPubUrl}</url> 84 </site> 85 </distributionManagement> 86 87 Alternatively you can map the component's existing site id to the 88 commons.scmPubServer property. 89 90 Coverage tool selection 91 ======================= 92 Starting with release 30, there are optional profiles for both Cobertura and JaCoCo. 93 These can be enabled independently on the command-line: 94 95 mvn site -Pcobertura -Pjacoco 96 97 Or the component can define a default coverage tool by creating either (or both) of the following files: 98 99 src/site/resources/profile.cobertura 100 src/site/resources/profile.jacoco 101 102 These can later be overridden by cancelling the profile: 103 104 mvn site -P!jacoco 105 106 --> 107 108 <!-- 109 This section *must* be overwritten by subprojects. It is only to allow 110 a release of the commons-parent POM. 111 --> 112 <scm> 113 <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-39</connection> 114 <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-39</developerConnection> 115 <url>http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-39</url> 116 </scm> 117 118 <mailingLists> 119 <!-- N.B. commons-site now uses the Apache POM so has its own copy of the mailing list definitions --> 120 <!-- 121 Components should normally override the default mailing list report by using the comnand 122 mvn commons:mail-page 123 This generates the file src/site/xdoc/mail-lists.xml which when processed will replace the PIR version. 124 --> 125 <!-- Changes to this list should be synchronised with the commons build plugin --> 126 <mailingList> 127 <name>Commons User List</name> 128 <subscribe>user-subscribe (a] commons.apache.org</subscribe> 129 <unsubscribe>user-unsubscribe (a] commons.apache.org</unsubscribe> 130 <post>user (a] commons.apache.org</post> 131 <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive> 132 <otherArchives> 133 <otherArchive>http://markmail.org/list/org.apache.commons.users/</otherArchive> 134 <otherArchive>http://old.nabble.com/Commons---User-f319.html</otherArchive> 135 <otherArchive>http://www.mail-archive.com/user@commons.apache.org/</otherArchive> 136 <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.user</otherArchive> 137 </otherArchives> 138 </mailingList> 139 <mailingList> 140 <name>Commons Dev List</name> 141 <subscribe>dev-subscribe (a] commons.apache.org</subscribe> 142 <unsubscribe>dev-unsubscribe (a] commons.apache.org</unsubscribe> 143 <post>dev (a] commons.apache.org</post> 144 <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive> 145 <otherArchives> 146 <otherArchive>http://markmail.org/list/org.apache.commons.dev/</otherArchive> 147 <otherArchive>http://old.nabble.com/Commons---Dev-f317.html</otherArchive> 148 <otherArchive>http://www.mail-archive.com/dev@commons.apache.org/</otherArchive> 149 <otherArchive>http://news.gmane.org/gmane.comp.jakarta.commons.devel</otherArchive> 150 </otherArchives> 151 </mailingList> 152 <mailingList> 153 <name>Commons Issues List</name> 154 <subscribe>issues-subscribe (a] commons.apache.org</subscribe> 155 <unsubscribe>issues-unsubscribe (a] commons.apache.org</unsubscribe> 156 <archive>http://mail-archives.apache.org/mod_mbox/commons-issues/</archive> 157 <otherArchives> 158 <otherArchive>http://markmail.org/list/org.apache.commons.issues/</otherArchive> 159 <otherArchive>http://old.nabble.com/Commons---Issues-f25499.html</otherArchive> 160 <otherArchive>http://www.mail-archive.com/issues@commons.apache.org/</otherArchive> 161 </otherArchives> 162 </mailingList> 163 <mailingList> 164 <name>Commons Commits List</name> 165 <subscribe>commits-subscribe (a] commons.apache.org</subscribe> 166 <unsubscribe>commits-unsubscribe (a] commons.apache.org</unsubscribe> 167 <archive>http://mail-archives.apache.org/mod_mbox/commons-commits/</archive> 168 <otherArchives> 169 <otherArchive>http://markmail.org/list/org.apache.commons.commits/</otherArchive> 170 <otherArchive>http://www.mail-archive.com/commits@commons.apache.org/</otherArchive> 171 </otherArchives> 172 </mailingList> 173 <mailingList> 174 <name>Apache Announce List</name> 175 <subscribe>announce-subscribe (a] apache.org</subscribe> 176 <unsubscribe>announce-unsubscribe (a] apache.org</unsubscribe> 177 <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive> 178 <otherArchives> 179 <otherArchive>http://markmail.org/list/org.apache.announce/</otherArchive> 180 <otherArchive>http://old.nabble.com/Apache-News-and-Announce-f109.html</otherArchive> 181 <otherArchive>http://www.mail-archive.com/announce@apache.org/</otherArchive> 182 <otherArchive>http://news.gmane.org/gmane.comp.apache.announce</otherArchive> 183 </otherArchives> 184 </mailingList> 185 </mailingLists> 186 <build> 187 <!-- TODO find a better way to add N&L files to jars and test jars 188 See also maven-remote-resources-plugin configuration below. 189 --> 190 <resources> 191 <!-- This is the default setting from the super-pom --> 192 <resource> 193 <directory>src/main/resources</directory> 194 </resource> 195 <!-- hack to ensure the N&L appear in jars --> 196 <resource> 197 <directory>${basedir}</directory> 198 <targetPath>META-INF</targetPath> 199 <includes> 200 <include>NOTICE.txt</include> 201 <include>LICENSE.txt</include> 202 </includes> 203 </resource> 204 </resources> 205 <!-- ensure test jars also get NOTICE & LICENSE files --> 206 <testResources> 207 <!-- This is the default setting from the super-pom --> 208 <testResource> 209 <directory>src/test/resources</directory> 210 </testResource> 211 <!-- hack to ensure the N&L appear in jars --> 212 <testResource> 213 <directory>${basedir}</directory> 214 <targetPath>META-INF</targetPath> 215 <includes> 216 <include>NOTICE.txt</include> 217 <include>LICENSE.txt</include> 218 </includes> 219 </testResource> 220 </testResources> 221 <pluginManagement> 222 <plugins> 223 <!-- org.apache.maven.plugins, alpha order by artifact id --> 224 <plugin> 225 <groupId>org.apache.maven.plugins</groupId> 226 <artifactId>maven-antrun-plugin</artifactId> 227 <version>1.8</version> 228 </plugin> 229 <plugin> 230 <groupId>org.apache.maven.plugins</groupId> 231 <artifactId>maven-assembly-plugin</artifactId> 232 <version>2.5.5</version> 233 </plugin> 234 <plugin> 235 <groupId>org.apache.maven.plugins</groupId> 236 <artifactId>maven-clean-plugin</artifactId> 237 <version>2.6.1</version> 238 </plugin> 239 <plugin> 240 <groupId>org.apache.maven.plugins</groupId> 241 <artifactId>maven-compiler-plugin</artifactId> 242 <version>${commons.compiler.version}</version> 243 <configuration> 244 <source>${maven.compiler.source}</source> 245 <target>${maven.compiler.target}</target> 246 <encoding>${commons.encoding}</encoding> 247 <!-- 248 fork is set true by the java-1.x profiles 249 This allows the use of a different version of the compiler from the 250 JDK being used to run Maven 251 --> 252 <fork>${commons.compiler.fork}</fork> 253 <!-- the following are only needed if fork is true --> 254 <compilerVersion>${commons.compiler.compilerVersion}</compilerVersion> 255 <executable>${commons.compiler.javac}</executable> 256 </configuration> 257 </plugin> 258 <plugin> 259 <groupId>org.apache.maven.plugins</groupId> 260 <artifactId>maven-deploy-plugin</artifactId> 261 <version>2.8.2</version> 262 </plugin> 263 <!-- Apache parent includes docck --> 264 <plugin> 265 <groupId>org.apache.maven.plugins</groupId> 266 <artifactId>maven-gpg-plugin</artifactId> 267 <version>1.6</version> 268 </plugin> 269 <plugin> 270 <groupId>org.apache.maven.plugins</groupId> 271 <artifactId>maven-install-plugin</artifactId> 272 <version>2.5.2</version> 273 </plugin> 274 <!-- Apache parent: invoker --> 275 <plugin> 276 <groupId>org.apache.maven.plugins</groupId> 277 <artifactId>maven-jar-plugin</artifactId> 278 <version>2.6</version> 279 </plugin> 280 <plugin> 281 <groupId>org.apache.maven.plugins</groupId> 282 <artifactId>maven-javadoc-plugin</artifactId> 283 <version>${commons.javadoc.version}</version> 284 <configuration> 285 <!-- keep only errors and warnings --> 286 <quiet>true</quiet> 287 <encoding>${commons.encoding}</encoding> 288 <docEncoding>${commons.docEncoding}</docEncoding> 289 <notimestamp>true</notimestamp> 290 <links> 291 <link>${commons.javadoc.java.link}</link> 292 <link>${commons.javadoc.javaee.link}</link> 293 </links> 294 <archive> 295 <manifest> 296 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 297 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 298 </manifest> 299 </archive> 300 </configuration> 301 </plugin> 302 <plugin> 303 <groupId>org.apache.maven.plugins</groupId> 304 <artifactId>maven-release-plugin</artifactId> 305 <version>2.5.2</version> 306 </plugin> 307 <plugin> 308 <!-- TODO see above - find better way to add N&L files to jars and test jars --> 309 <groupId>org.apache.maven.plugins</groupId> 310 <artifactId>maven-remote-resources-plugin</artifactId> 311 <!-- override old version from Apache pom 13 --> 312 <version>1.5</version> 313 <configuration> 314 <!-- 315 Apache parent POM automatically adds "LICENSE" and "NOTICE" files 316 to jars - duplicating the "LICENSE.txt" and "NOTICE.txt" 317 files that components already have. 318 --> 319 <skip>true</skip> 320 </configuration> 321 </plugin> 322 <plugin> 323 <groupId>org.apache.maven.plugins</groupId> 324 <artifactId>maven-resources-plugin</artifactId> 325 <version>2.7</version> 326 </plugin> 327 <!-- Apache parent: scm --> 328 <plugin> 329 <groupId>org.apache.maven.plugins</groupId> 330 <artifactId>maven-site-plugin</artifactId> 331 <version>${commons.site-plugin.version}</version> 332 <configuration> 333 <!-- don't deploy site with maven-site-plugin --> 334 <skipDeploy>true</skipDeploy> 335 </configuration> 336 <dependencies> 337 <dependency> 338 <!-- add support for ssh/scp --> 339 <groupId>org.apache.maven.wagon</groupId> 340 <artifactId>wagon-ssh</artifactId> 341 <version>${commons.wagon-ssh.version}</version> 342 </dependency> 343 </dependencies> 344 <executions> 345 <execution> 346 <id>attach-descriptor</id> 347 <goals> 348 <goal>attach-descriptor</goal> 349 </goals> 350 </execution> 351 </executions> 352 </plugin> 353 <plugin> 354 <groupId>org.apache.maven.plugins</groupId> 355 <artifactId>maven-source-plugin</artifactId> 356 <version>2.4</version> 357 <configuration> 358 <archive> 359 <manifest> 360 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 361 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 362 </manifest> 363 </archive> 364 </configuration> 365 </plugin> 366 <plugin> 367 <groupId>org.apache.maven.plugins</groupId> 368 <artifactId>maven-surefire-plugin</artifactId> 369 <version>${commons.surefire.version}</version> 370 </plugin> 371 <!-- Other plugins, alpha order by groupId and artifactId --> 372 <plugin> 373 <groupId>org.apache.commons</groupId> 374 <artifactId>commons-build-plugin</artifactId> 375 <version>1.4</version> 376 <configuration> 377 <commons.release.name>${commons.release.name}</commons.release.name> 378 </configuration> 379 </plugin> 380 <plugin> 381 <groupId>org.apache.felix</groupId> 382 <artifactId>maven-bundle-plugin</artifactId> 383 <version>2.5.3</version> 384 <inherited>true</inherited> 385 </plugin> 386 <plugin> 387 <groupId>org.apache.rat</groupId> 388 <artifactId>apache-rat-plugin</artifactId> 389 <version>${commons.rat.version}</version> 390 </plugin> 391 <plugin> 392 <groupId>org.codehaus.mojo</groupId> 393 <artifactId>build-helper-maven-plugin</artifactId> 394 <version>1.9.1</version> 395 </plugin> 396 <plugin> 397 <groupId>org.codehaus.mojo</groupId> 398 <artifactId>buildnumber-maven-plugin</artifactId> 399 <version>1.3</version> 400 </plugin> 401 <plugin> 402 <groupId>org.codehaus.mojo</groupId> 403 <artifactId>clirr-maven-plugin</artifactId> 404 <version>${commons.clirr.version}</version> 405 <configuration> 406 <minSeverity>${minSeverity}</minSeverity> 407 </configuration> 408 </plugin> 409 <!-- Apache parent: plexus & modello --> 410 </plugins> 411 </pluginManagement> 412 <plugins> 413 <!-- org.apache.maven.plugins, alpha order by artifact id --> 414 <plugin> 415 <!-- Parent POM is released, so needs source archive for ASF mirrors --> 416 <artifactId>maven-assembly-plugin</artifactId> 417 <configuration> 418 <descriptors> 419 <descriptor>src/assembly/src.xml</descriptor> 420 </descriptors> 421 <tarLongFileMode>gnu</tarLongFileMode> 422 </configuration> 423 </plugin> 424 <plugin> 425 <!-- 426 - Copy LICENSE.txt and NOTICE.txt so that they are included 427 - in the -javadoc jar file for the component. 428 --> 429 <groupId>org.apache.maven.plugins</groupId> 430 <artifactId>maven-antrun-plugin</artifactId> 431 <executions> 432 <execution> 433 <id>javadoc.resources</id> 434 <phase>generate-sources</phase> 435 <goals> 436 <goal>run</goal> 437 </goals> 438 <configuration> 439 <target> 440 <copy todir="${project.build.directory}/apidocs/META-INF"> 441 <fileset dir="${basedir}"> 442 <include name="LICENSE.txt" /> 443 <include name="NOTICE.txt" /> 444 </fileset> 445 </copy> 446 </target> 447 </configuration> 448 </execution> 449 </executions> 450 </plugin> 451 <plugin> 452 <groupId>org.apache.maven.plugins</groupId> 453 <artifactId>maven-compiler-plugin</artifactId> 454 </plugin> 455 <!-- Unfortunately the much simpler 456 <prerequisites><maven>3.0</maven></prerequisites> 457 is not inherited so we have to use the enforcer plugin 458 --> 459 <plugin> 460 <inherited>true</inherited> 461 <groupId>org.apache.maven.plugins</groupId> 462 <artifactId>maven-enforcer-plugin</artifactId> 463 <version>1.3.1</version> 464 <executions> 465 <execution> 466 <id>enforce-maven-3</id> 467 <goals> 468 <goal>enforce</goal> 469 </goals> 470 <configuration> 471 <rules> 472 <requireMavenVersion> 473 <version>3.0.0</version> 474 </requireMavenVersion> 475 </rules> 476 <fail>true</fail> 477 </configuration> 478 </execution> 479 </executions> 480 </plugin> 481 <plugin> 482 <groupId>org.apache.maven.plugins</groupId> 483 <artifactId>maven-jar-plugin</artifactId> 484 <configuration> 485 <archive> 486 <manifestFile>${commons.manifestfile}</manifestFile> 487 <manifestEntries> 488 <Specification-Title>${project.name}</Specification-Title> 489 <Specification-Version>${project.version}</Specification-Version> 490 <Specification-Vendor>${project.organization.name}</Specification-Vendor> 491 <Implementation-Title>${project.name}</Implementation-Title> 492 <Implementation-Version>${project.version}</Implementation-Version> 493 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> 494 <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id> 495 <Implementation-Build>${implementation.build}</Implementation-Build> 496 <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> 497 <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> 498 </manifestEntries> 499 </archive> 500 </configuration> 501 </plugin> 502 <plugin> 503 <groupId>org.apache.maven.plugins</groupId> 504 <artifactId>maven-surefire-plugin</artifactId> 505 <configuration> 506 <!-- 507 commons.surefire.java is normally empty. 508 It is defined by the java-1.x profiles to change the JVM used by Surefire 509 --> 510 <jvm>${commons.surefire.java}</jvm> 511 </configuration> 512 </plugin> 513 <!-- Other plugins, alpha order by groupId and artifactId --> 514 <plugin> 515 <groupId>org.apache.commons</groupId> 516 <artifactId>commons-build-plugin</artifactId> 517 </plugin> 518 <plugin> 519 <groupId>org.apache.felix</groupId> 520 <artifactId>maven-bundle-plugin</artifactId> 521 <configuration> 522 <!-- 523 dummy entry to stop bundle plugin from picking up jar config and reporting 524 WARNING: Duplicate name in Manifest 525 See http://markmail.org/message/mpkl24wk3jrjhhjg 526 --> 527 <archive> 528 <forced>true</forced> 529 </archive> 530 <excludeDependencies>${commons.osgi.excludeDependencies}</excludeDependencies> 531 <manifestLocation>${project.build.directory}/osgi</manifestLocation> 532 <instructions> 533 <!-- stops the "uses" clauses being added to "Export-Package" manifest entry --> 534 <_nouses>true</_nouses> 535 <!-- Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd --> 536 <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME,JAVA_1_9_HOME</_removeheaders> 537 <Bundle-SymbolicName>${commons.osgi.symbolicName}</Bundle-SymbolicName> 538 <Export-Package>${commons.osgi.export}</Export-Package> 539 <Private-Package>${commons.osgi.private}</Private-Package> 540 <Import-Package>${commons.osgi.import}</Import-Package> 541 <DynamicImport-Package>${commons.osgi.dynamicImport}</DynamicImport-Package> 542 <Bundle-DocURL>${project.url}</Bundle-DocURL> 543 </instructions> 544 </configuration> 545 <executions> 546 <execution> 547 <id>bundle-manifest</id> 548 <phase>process-classes</phase> 549 <goals> 550 <goal>manifest</goal> 551 </goals> 552 </execution> 553 </executions> 554 </plugin> 555 <!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check --> 556 <plugin> 557 <groupId>org.apache.rat</groupId> 558 <artifactId>apache-rat-plugin</artifactId> 559 <version>${commons.rat.version}</version> 560 <!-- Should agree with config in reporting section --> 561 <configuration> 562 <!-- 563 If you wish to override this list in the component (child) pom, ensure you use 564 <excludes combine.children="merge"> 565 so that the child pom entries replace the parent entries 566 --> 567 <excludes combine.children="append"> 568 <exclude>site-content/**</exclude> 569 <exclude>.checkstyle</exclude> 570 <exclude>.fbprefs</exclude> 571 <exclude>.pmd</exclude> 572 <exclude>src/site/resources/download_*.cgi</exclude> 573 <exclude>src/site/resources/profile.*</exclude> 574 </excludes> 575 </configuration> 576 </plugin> 577 578 <plugin> 579 <groupId>org.apache.maven.plugins</groupId> 580 <artifactId>maven-scm-publish-plugin</artifactId> 581 <version>${commons.scm-publish.version}</version> 582 <configuration> 583 <content>${project.reporting.outputDirectory}</content> 584 <pubScmUrl>scm:svn:${commons.scmPubUrl}</pubScmUrl> 585 <checkoutDirectory>${commons.scmPubCheckoutDirectory}</checkoutDirectory> 586 <serverId>${commons.scmPubServer}</serverId> 587 <tryUpdate>true</tryUpdate> 588 </configuration> 589 <executions> 590 <execution> 591 <id>scm-publish</id> 592 <phase>site-deploy</phase><!-- deploy site with maven-scm-publish-plugin --> 593 <goals> 594 <goal>publish-scm</goal> 595 </goals> 596 </execution> 597 </executions> 598 </plugin> 599 600 </plugins> 601 </build> 602 603 <reporting> 604 <!-- N.B. plugins defined here in the <reporting> section ignore what's defined in <pluginManagement> 605 in the <build> section above, so we have to define the versions here. --> 606 <plugins> 607 <!-- org.apache.maven.plugins, alpha order by artifact id --> 608 <plugin> 609 <groupId>org.apache.maven.plugins</groupId> 610 <artifactId>maven-changes-plugin</artifactId> 611 <version>${commons.changes.version}</version> 612 <configuration> 613 <xmlPath>${basedir}/src/changes/changes.xml</xmlPath> 614 <columnNames>Fix Version,Key,Component,Summary,Type,Resolution,Status</columnNames> 615 <!-- Sort cols in natural order when using JQL for JIRA 5.1 --> 616 <sortColumnNames>Fix Version DESC,Type,Key DESC</sortColumnNames> 617 <resolutionIds>Fixed</resolutionIds> 618 <statusIds>Resolved,Closed</statusIds> 619 <!-- Don't include sub-task --> 620 <typeIds>Bug,New Feature,Task,Improvement,Wish,Test</typeIds> 621 <!-- For JIRA >= 5.1 --> 622 <useJql>true</useJql> 623 <onlyCurrentVersion>${commons.changes.onlyCurrentVersion}</onlyCurrentVersion> 624 <maxEntries>${commons.changes.maxEntries}</maxEntries> 625 <runOnlyAtExecutionRoot>${commons.changes.runOnlyAtExecutionRoot}</runOnlyAtExecutionRoot> 626 </configuration> 627 <reportSets> 628 <reportSet> 629 <reports> 630 <report>changes-report</report> 631 <report>jira-report</report> 632 </reports> 633 </reportSet> 634 </reportSets> 635 </plugin> 636 <plugin> 637 <groupId>org.apache.maven.plugins</groupId> 638 <artifactId>maven-javadoc-plugin</artifactId> 639 <version>${commons.javadoc.version}</version> 640 <configuration> 641 <!-- keep only errors and warnings --> 642 <quiet>true</quiet> 643 <source>${maven.compiler.source}</source> 644 <encoding>${commons.encoding}</encoding> 645 <docencoding>${commons.docEncoding}</docencoding> 646 <notimestamp>true</notimestamp> 647 <linksource>true</linksource> 648 <!-- prevent svnpub to be too much noisy --> 649 <notimestamp>true</notimestamp> 650 <links> 651 <link>${commons.javadoc.java.link}</link> 652 <link>${commons.javadoc.javaee.link}</link> 653 </links> 654 </configuration> 655 <!-- Suppress test Javadocs --> 656 <reportSets> 657 <reportSet> 658 <id>default</id> 659 <reports> 660 <report>javadoc</report> 661 </reports> 662 </reportSet> 663 </reportSets> 664 </plugin> 665 <plugin> 666 <groupId>org.apache.maven.plugins</groupId> 667 <artifactId>maven-jxr-plugin</artifactId> 668 <version>${commons.jxr.version}</version> 669 </plugin> 670 <plugin> 671 <groupId>org.apache.maven.plugins</groupId> 672 <artifactId>maven-project-info-reports-plugin</artifactId> 673 <version>${commons.project-info.version}</version> 674 <!-- 675 Unfortunately it does not appear to be possible to override 676 reports configured in a parent POM. 677 See https://jira.codehaus.org/browse/MPIR-241 678 and https://issues.apache.org/jira/browse/MPOM-32 679 So we define here all those reports that are suitable for 680 all components. 681 Components can add extra reports if they wish, but cannot disable any. 682 --> 683 <reportSets> 684 <reportSet> 685 <reports> 686 <report>index</report> 687 <report>summary</report> 688 <report>modules</report> 689 <!-- <report>license</report> site must link to ASF page instead --> 690 <report>project-team</report> 691 <report>scm</report> 692 <report>issue-tracking</report> 693 <report>mailing-list</report> 694 <report>dependency-info</report> 695 <report>dependency-management</report> 696 <report>dependencies</report> 697 <report>dependency-convergence</report> 698 <report>cim</report> 699 <!-- <report>plugin-management</report> not very useful for end users --> 700 <!-- <report>plugins</report> not very useful for end users --> 701 <report>distribution-management</report> 702 </reports> 703 </reportSet> 704 </reportSets> 705 </plugin> 706 <plugin> 707 <groupId>org.apache.maven.plugins</groupId> 708 <artifactId>maven-site-plugin</artifactId> 709 <version>${commons.site-plugin.version}</version> 710 <configuration> 711 <!-- Exclude the navigation file for Maven 1 sites 712 and the changes file used by the changes-plugin, 713 as they interfere with the site generation. --> 714 <moduleExcludes> 715 <xdoc>navigation.xml,changes.xml</xdoc> 716 </moduleExcludes> 717 </configuration> 718 </plugin> 719 <plugin> 720 <groupId>org.apache.maven.plugins</groupId> 721 <artifactId>maven-surefire-report-plugin</artifactId> 722 <version>${commons.surefire-report.version}</version> 723 <configuration> 724 <aggregate>${commons.surefire-report.aggregate}</aggregate> 725 </configuration> 726 </plugin> 727 <!-- Other plugins, alpha order by groupId and artifactId --> 728 <plugin> 729 <groupId>org.apache.rat</groupId> 730 <artifactId>apache-rat-plugin</artifactId> 731 <version>${commons.rat.version}</version> 732 <!-- Should agree with config in build section --> 733 <configuration> 734 <!-- 735 If you wish to override this list in the component (child) pom, ensure you use 736 <excludes combine.children="merge"> 737 so that the child pom entries replace the parent entries 738 --> 739 <excludes combine.children="append"> 740 <exclude>site-content/**</exclude> 741 <exclude>.checkstyle</exclude> 742 <exclude>.fbprefs</exclude> 743 <exclude>.pmd</exclude> 744 <exclude>src/site/resources/download_*.cgi</exclude> 745 <exclude>src/site/resources/profile.*</exclude> 746 </excludes> 747 </configuration> 748 </plugin> 749 <plugin> 750 <groupId>org.codehaus.mojo</groupId> 751 <artifactId>clirr-maven-plugin</artifactId> 752 <version>${commons.clirr.version}</version> 753 <configuration> 754 <minSeverity>${minSeverity}</minSeverity> 755 </configuration> 756 </plugin> 757 <plugin> 758 <groupId>org.codehaus.mojo</groupId> 759 <artifactId>jdepend-maven-plugin</artifactId> 760 <version>${commons.jdepend.version}</version> 761 </plugin> 762 </plugins> 763 </reporting> 764 765 <profiles> 766 767 <profile> 768 <!-- 769 Make the version parts of the maven.compiler.target property 770 available as separate properties, so that they can be used to define 771 the java signature artifactId used by animal-sniffer etc. 772 --> 773 <id>parse-target-version</id> 774 <activation> 775 <property> 776 <!-- 777 This property should always be defined. 778 The intention is to ensure that the profile is always enabled. 779 (activeByDefault only applies if other profiles are not enabled) 780 --> 781 <name>user.home</name> 782 </property> 783 </activation> 784 <build> 785 <plugins> 786 <plugin> 787 <groupId>org.codehaus.mojo</groupId> 788 <artifactId>build-helper-maven-plugin</artifactId> 789 <executions> 790 <execution> 791 <id>parse-version</id> 792 <!-- default is: <phase>validate</phase> --> 793 <goals> 794 <goal>parse-version</goal> 795 </goals> 796 <configuration> 797 <propertyPrefix>javaTarget</propertyPrefix> 798 <versionString>${maven.compiler.target}</versionString> 799 </configuration> 800 </execution> 801 </executions> 802 </plugin> 803 </plugins> 804 </build> 805 </profile> 806 807 <!-- 808 Runs the Animal Sniffer plugin to check that generated code does not included references 809 to methods/classes etc that are not present in the standard Java runtime for the defined target version. 810 To bypass the checks, define "animal.sniffer.skip" as true, or create the file "src/site/resources/profile.noanimal" 811 --> 812 813 <profile> 814 <id>animal-sniffer</id> 815 <activation> 816 <!-- active unless the file is found --> 817 <file> 818 <missing>src/site/resources/profile.noanimal</missing> 819 </file> 820 </activation> 821 822 <properties> 823 <!-- define this as a property to allow command-line override --> 824 <animal-sniffer.signature>java${javaTarget.majorVersion}${javaTarget.minorVersion}</animal-sniffer.signature> 825 </properties> 826 827 <build> 828 <plugins> 829 830 <!-- Run the Animal Sniffer checks --> 831 <plugin> 832 <groupId>org.codehaus.mojo</groupId> 833 <artifactId>animal-sniffer-maven-plugin</artifactId> 834 <version>${commons.animal-sniffer.version}</version> 835 <executions> 836 <execution> 837 <id>checkAPIcompatibility</id> 838 <!-- default is: <phase>process-classes</phase> --> 839 <!-- Note: if the plugin is ever enhanced to check test classes 840 it will presumably need to be bound to process-test-classes instead 841 --> 842 <goals> 843 <goal>check</goal> 844 </goals> 845 </execution> 846 </executions> 847 <configuration> 848 <signature> 849 <groupId>org.codehaus.mojo.signature</groupId> 850 <artifactId>${animal-sniffer.signature}</artifactId> 851 <version>${commons.animal-sniffer.signature.version}</version> 852 </signature> 853 </configuration> 854 </plugin> 855 856 </plugins> 857 </build> 858 </profile> 859 860 <profile> 861 <id>jacoco</id> 862 <activation> 863 <!-- 864 N.B. in spite of what the Maven docs may say, 865 activation conditions are ORed together, see: 866 http://jira.codehaus.org/browse/MNG-4565 867 Fairly useless, but that's what was done in 868 http://jira.codehaus.org/browse/MNG-3106 869 870 So we cannot also check for Java 1.5+ 871 This should not be a problem now as the profile is optional. 872 Components that still target Java 1.4 or earlier 873 just need to ensure they don't use JaCoCo by default. 874 --> 875 <file> 876 <exists>src/site/resources/profile.jacoco</exists> 877 </file> 878 </activation> 879 <build> 880 <plugins> 881 <plugin> 882 <groupId>org.jacoco</groupId> 883 <artifactId>jacoco-maven-plugin</artifactId> 884 <version>${commons.jacoco.version}</version> 885 <!-- Note that since JaCoCo relies on an agent to perform tests, 886 it changes the surefire arguments line. If a component also 887 needs to change the argument line of maven-surefire-plugin, 888 then it must add ${argLine} property (which is set by JaCoCo) 889 in the argLine configuration element of maven-surefire-plugin 890 to preserve JaCoCo settings. --> 891 <executions> 892 <execution> 893 <id>prepare-agent</id> 894 <phase>process-test-classes</phase> 895 <goals> 896 <goal>prepare-agent</goal> 897 </goals> 898 </execution> 899 <execution> 900 <id>report</id> 901 <phase>site</phase> 902 <goals> 903 <goal>report</goal> 904 </goals> 905 </execution> 906 <execution> 907 <id>check</id> 908 <goals> 909 <goal>check</goal> 910 </goals> 911 <configuration> 912 <rules> 913 <rule> 914 <element>BUNDLE</element> 915 <limits> 916 <limit> 917 <counter>CLASS</counter> 918 <value>COVEREDRATIO</value> 919 <minimum>${commons.jacoco.classRatio}</minimum> 920 </limit> 921 <limit> 922 <counter>INSTRUCTION</counter> 923 <value>COVEREDRATIO</value> 924 <minimum>${commons.jacoco.instructionRatio}</minimum> 925 </limit> 926 <limit> 927 <counter>METHOD</counter> 928 <value>COVEREDRATIO</value> 929 <minimum>${commons.jacoco.methodRatio}</minimum> 930 </limit> 931 <limit> 932 <counter>BRANCH</counter> 933 <value>COVEREDRATIO</value> 934 <minimum>${commons.jacoco.branchRatio}</minimum> 935 </limit> 936 <limit> 937 <counter>LINE</counter> 938 <value>COVEREDRATIO</value> 939 <minimum>${commons.jacoco.lineRatio}</minimum> 940 </limit> 941 <limit> 942 <counter>COMPLEXITY</counter> 943 <value>COVEREDRATIO</value> 944 <minimum>${commons.jacoco.complexityRatio}</minimum> 945 </limit> 946 </limits> 947 </rule> 948 </rules> 949 <haltOnFailure>${commons.jacoco.haltOnFailure}</haltOnFailure> 950 </configuration> 951 </execution> 952 </executions> 953 </plugin> 954 </plugins> 955 </build> 956 <reporting> 957 <plugins> 958 <plugin> 959 <groupId>org.jacoco</groupId> 960 <artifactId>jacoco-maven-plugin</artifactId> 961 <version>${commons.jacoco.version}</version> 962 </plugin> 963 </plugins> 964 </reporting> 965 </profile> 966 967 <profile> 968 <id>cobertura</id> 969 <activation> 970 <file> 971 <exists>src/site/resources/profile.cobertura</exists> 972 </file> 973 </activation> 974 <reporting> 975 <plugins> 976 <plugin> 977 <groupId>org.codehaus.mojo</groupId> 978 <artifactId>cobertura-maven-plugin</artifactId> 979 <version>${commons.cobertura.version}</version> 980 </plugin> 981 </plugins> 982 </reporting> 983 </profile> 984 985 <!-- 986 Profile for Commons releases via Nexus. 987 Assembles artifacts, creates source and javadoc jars, signs them and adds hashes. 988 --> 989 <profile> 990 <id>release</id> 991 <build> 992 <plugins> 993 <!-- We want to sign the artifact, the POM, and all attached artifacts --> 994 <plugin> 995 <artifactId>maven-gpg-plugin</artifactId> 996 <configuration> 997 <passphrase>${gpg.passphrase}</passphrase> 998 </configuration> 999 <executions> 1000 <execution> 1001 <id>sign-artifacts</id> 1002 <phase>verify</phase> 1003 <goals> 1004 <goal>sign</goal> 1005 </goals> 1006 </execution> 1007 </executions> 1008 </plugin> 1009 <plugin> 1010 <artifactId>maven-install-plugin</artifactId> 1011 <configuration> 1012 <createChecksum>true</createChecksum> 1013 </configuration> 1014 </plugin> 1015 <plugin> 1016 <artifactId>maven-source-plugin</artifactId> 1017 <executions> 1018 <execution> 1019 <id>create-source-jar</id> 1020 <goals> 1021 <goal>jar</goal> 1022 <goal>test-jar</goal> 1023 </goals> 1024 </execution> 1025 </executions> 1026 </plugin> 1027 <plugin> 1028 <artifactId>maven-jar-plugin</artifactId> 1029 <executions> 1030 <execution> 1031 <goals> 1032 <goal>test-jar</goal> 1033 </goals> 1034 <configuration> 1035 <!-- Avoids an error when releasing the parent pom --> 1036 <skipIfEmpty>true</skipIfEmpty> 1037 </configuration> 1038 </execution> 1039 </executions> 1040 </plugin> 1041 <plugin> 1042 <artifactId>maven-release-plugin</artifactId> 1043 <configuration> 1044 <!-- Pass these arguments to the deploy plugin. --> 1045 <arguments>-Prelease</arguments> 1046 </configuration> 1047 </plugin> 1048 <plugin> 1049 <artifactId>maven-javadoc-plugin</artifactId> 1050 <executions> 1051 <execution> 1052 <id>create-javadoc-jar</id> 1053 <goals> 1054 <goal>javadoc</goal> 1055 <goal>jar</goal> 1056 </goals> 1057 <phase>package</phase> 1058 </execution> 1059 </executions> 1060 <configuration> 1061 <source>${maven.compiler.source}</source> 1062 </configuration> 1063 </plugin> 1064 <plugin> 1065 <artifactId>maven-assembly-plugin</artifactId> 1066 <inherited>true</inherited> 1067 <executions> 1068 <execution> 1069 <goals> 1070 <goal>single</goal> 1071 </goals> 1072 <phase>package</phase> 1073 </execution> 1074 </executions> 1075 </plugin> 1076 </plugins> 1077 </build> 1078 </profile> 1079 1080 <!-- 1081 profile to update the Apache parent pom profile of the same name 1082 to better suit the requirements of Apache Commons. 1083 [Requires further work] 1084 --> 1085 <profile> 1086 <id>apache-release</id> 1087 <build> 1088 <plugins> 1089 <plugin> 1090 <artifactId>maven-release-plugin</artifactId> 1091 <configuration> 1092 <releaseProfiles>apache-release</releaseProfiles> 1093 </configuration> 1094 </plugin> 1095 <plugin> 1096 <groupId>org.apache.maven.plugins</groupId> 1097 <artifactId>maven-source-plugin</artifactId> 1098 <executions> 1099 <execution> 1100 <id>attach-test-sources</id> 1101 <goals> 1102 <goal>test-jar</goal> 1103 </goals> 1104 </execution> 1105 </executions> 1106 </plugin> 1107 <plugin> 1108 <artifactId>maven-install-plugin</artifactId> 1109 <configuration> 1110 <createChecksum>true</createChecksum> 1111 </configuration> 1112 </plugin> 1113 <plugin> 1114 <groupId>org.apache.maven.plugins</groupId> 1115 <artifactId>maven-jar-plugin</artifactId> 1116 <executions> 1117 <execution> 1118 <goals> 1119 <goal>test-jar</goal> 1120 </goals> 1121 </execution> 1122 </executions> 1123 </plugin> 1124 </plugins> 1125 </build> 1126 </profile> 1127 1128 <!-- 1129 Profile for running the build using JDK 1.3 1130 (JAVA_1_3_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1131 --> 1132 <profile> 1133 <id>java-1.3</id> 1134 <properties> 1135 <commons.compiler.fork>true</commons.compiler.fork> 1136 <commons.compiler.compilerVersion>1.3</commons.compiler.compilerVersion> 1137 <commons.compiler.javac>${JAVA_1_3_HOME}/bin/javac</commons.compiler.javac> 1138 <commons.surefire.java>${JAVA_1_3_HOME}/bin/java</commons.surefire.java> 1139 </properties> 1140 </profile> 1141 1142 <!-- 1143 Profile for running the build using JDK 1.4 1144 (JAVA_1_4_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1145 --> 1146 <profile> 1147 <id>java-1.4</id> 1148 <properties> 1149 <commons.compiler.fork>true</commons.compiler.fork> 1150 <commons.compiler.compilerVersion>1.4</commons.compiler.compilerVersion> 1151 <commons.compiler.javac>${JAVA_1_4_HOME}/bin/javac</commons.compiler.javac> 1152 <commons.surefire.java>${JAVA_1_4_HOME}/bin/java</commons.surefire.java> 1153 <!-- later versions of surefire don't support Java 1.4 --> 1154 <commons.surefire.version>2.11</commons.surefire.version> 1155 </properties> 1156 </profile> 1157 1158 <!-- 1159 Profile for running the build using JDK 1.5 1160 (JAVA_1_5_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1161 --> 1162 <profile> 1163 <id>java-1.5</id> 1164 <properties> 1165 <commons.compiler.fork>true</commons.compiler.fork> 1166 <commons.compiler.compilerVersion>1.5</commons.compiler.compilerVersion> 1167 <commons.compiler.javac>${JAVA_1_5_HOME}/bin/javac</commons.compiler.javac> 1168 <commons.surefire.java>${JAVA_1_5_HOME}/bin/java</commons.surefire.java> 1169 </properties> 1170 </profile> 1171 1172 <!-- 1173 Profile for running the build using JDK 1.6 1174 (JAVA_1_6_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1175 --> 1176 <profile> 1177 <id>java-1.6</id> 1178 <properties> 1179 <commons.compiler.fork>true</commons.compiler.fork> 1180 <commons.compiler.compilerVersion>1.6</commons.compiler.compilerVersion> 1181 <commons.compiler.javac>${JAVA_1_6_HOME}/bin/javac</commons.compiler.javac> 1182 <commons.surefire.java>${JAVA_1_6_HOME}/bin/java</commons.surefire.java> 1183 </properties> 1184 </profile> 1185 1186 <!-- 1187 Profile for running the build using JDK 1.7 1188 (JAVA_1_7_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1189 --> 1190 <profile> 1191 <id>java-1.7</id> 1192 <properties> 1193 <commons.compiler.fork>true</commons.compiler.fork> 1194 <commons.compiler.compilerVersion>1.7</commons.compiler.compilerVersion> 1195 <commons.compiler.javac>${JAVA_1_7_HOME}/bin/javac</commons.compiler.javac> 1196 <commons.surefire.java>${JAVA_1_7_HOME}/bin/java</commons.surefire.java> 1197 </properties> 1198 </profile> 1199 1200 <!-- 1201 Profile for running the build using JDK 1.8 1202 (JAVA_1_8_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1203 --> 1204 <profile> 1205 <id>java-1.8</id> 1206 <properties> 1207 <commons.compiler.fork>true</commons.compiler.fork> 1208 <commons.compiler.compilerVersion>1.8</commons.compiler.compilerVersion> 1209 <commons.compiler.javac>${JAVA_1_8_HOME}/bin/javac</commons.compiler.javac> 1210 <commons.surefire.java>${JAVA_1_8_HOME}/bin/java</commons.surefire.java> 1211 </properties> 1212 </profile> 1213 1214 <!-- 1215 Profile for running the build using JDK 1.9 1216 (JAVA_1_9_HOME needs to be defined, e.g. in settings.xml or an environment variable) 1217 --> 1218 <profile> 1219 <id>java-1.9</id> 1220 <properties> 1221 <commons.compiler.fork>true</commons.compiler.fork> 1222 <commons.compiler.compilerVersion>1.9</commons.compiler.compilerVersion> 1223 <commons.compiler.javac>${JAVA_1_9_HOME}/bin/javac</commons.compiler.javac> 1224 <commons.surefire.java>${JAVA_1_9_HOME}/bin/java</commons.surefire.java> 1225 </properties> 1226 </profile> 1227 1228 <!-- N.B. when adding new java profiles, be sure to update 1229 the _removeheaders list in the maven_bundle_plugin configuration --> 1230 1231 <!-- 1232 | Profile to allow testing of deploy phase 1233 | e.g. 1234 | mvn deploy -Ptest-deploy -Prelease -Dgpg.skip 1235 --> 1236 <profile> 1237 <id>test-deploy</id> 1238 <properties> 1239 <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository> 1240 </properties> 1241 </profile> 1242 1243 <profile> 1244 <!-- 1245 Generate release notes in top-level directory from src/changes/changes.xml 1246 Usage: 1247 mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] 1248 1249 Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix. 1250 1251 Requires file src/changes/release-notes.vm. 1252 A sample template is available from: 1253 https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm 1254 --> 1255 <id>release-notes</id> 1256 <build> 1257 <plugins> 1258 <plugin> 1259 <groupId>org.apache.maven.plugins</groupId> 1260 <artifactId>maven-changes-plugin</artifactId> 1261 <version>${commons.changes.version}</version> 1262 <configuration> 1263 <template>release-notes.vm</template> 1264 <templateDirectory>src/changes</templateDirectory> 1265 <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> 1266 <announcementDirectory>.</announcementDirectory> 1267 <announcementFile>RELEASE-NOTES.txt</announcementFile> 1268 <announceParameters> 1269 <releaseVersion>${commons.release.version}</releaseVersion> 1270 </announceParameters> 1271 </configuration> 1272 <executions> 1273 <execution> 1274 <id>create-release-notes</id> 1275 <phase>generate-resources</phase> 1276 <goals> 1277 <goal>announcement-generate</goal> 1278 </goals> 1279 </execution> 1280 </executions> 1281 </plugin> 1282 </plugins> 1283 </build> 1284 </profile> 1285 1286 <!-- 1287 Automatically run the buildnumber plugin unless the buildNumber.skip property is defined as true 1288 --> 1289 <profile> 1290 <id>svn-buildnumber</id> 1291 <activation> 1292 <property> 1293 <name>!buildNumber.skip</name> 1294 <value>!true</value> 1295 </property> 1296 </activation> 1297 <build> 1298 <plugins> 1299 <plugin> 1300 <groupId>org.codehaus.mojo</groupId> 1301 <artifactId>buildnumber-maven-plugin</artifactId> 1302 <executions> 1303 <execution> 1304 <phase>generate-resources</phase> 1305 <goals> 1306 <goal>create</goal> 1307 </goals> 1308 </execution> 1309 </executions> 1310 <configuration> 1311 <!-- Use committed revision so it does not change every time svn update is run --> 1312 <useLastCommittedRevision>true</useLastCommittedRevision> 1313 <!-- default revision number if unavailable --> 1314 <revisionOnScmFailure>??????</revisionOnScmFailure> 1315 <doCheck>false</doCheck> 1316 <doUpdate>false</doUpdate> 1317 </configuration> 1318 </plugin> 1319 </plugins> 1320 </build> 1321 </profile> 1322 <!-- optional profile to use javasvn instead of the SVN CLI for the buildNumber plugin --> 1323 <profile> 1324 <id>javasvn</id> 1325 <build> 1326 <plugins> 1327 <plugin> 1328 <groupId>org.codehaus.mojo</groupId> 1329 <artifactId>buildnumber-maven-plugin</artifactId> 1330 <configuration> 1331 <providerImplementations> 1332 <svn>javasvn</svn> 1333 </providerImplementations> 1334 </configuration> 1335 </plugin> 1336 </plugins> 1337 </build> 1338 </profile> 1339 <!-- profile to allow the use of plugin versions that require Java 7+ --> 1340 <profile> 1341 <id>jdk7-plugin-fix-version</id> 1342 <activation> 1343 <jdk>[1.7,)</jdk> 1344 </activation> 1345 <properties> 1346 <!-- TODO should these be separately overrideable properties? 1347 early versions are unlikely to be updated, but current latest will be 1348 --> 1349 <commons.findbugs.version>3.0.0</commons.findbugs.version> 1350 <!-- Since 1.13 running maven with Java7 is required, 1.14 also supports Java8 class files (ASM 5.0) --> 1351 <commons.animal-sniffer.version>1.14</commons.animal-sniffer.version> 1352 </properties> 1353 </profile> 1354 1355 <!-- allow simple creation of the site without any optional reports --> 1356 <profile> 1357 <id>site-basic</id> 1358 <properties> 1359 <skipTests>true</skipTests> 1360 <maven.javadoc.skip>true</maven.javadoc.skip> 1361 <cobertura.skip>true</cobertura.skip> 1362 <findbugs.skip>true</findbugs.skip> 1363 <checkstyle.skip>true</checkstyle.skip> 1364 <clirr.skip>true</clirr.skip> 1365 <changes.jira.skip>true</changes.jira.skip> 1366 <rat.skip>true</rat.skip> <!-- from version 0.12 --> 1367 <jacoco.skip>true</jacoco.skip> 1368 <skipSurefireReport>true</skipSurefireReport> 1369 </properties> 1370 </profile> 1371 1372 </profiles> 1373 1374 <properties> 1375 <!-- configuration bits for cutting a release candidate, must be overridden by components --> 1376 <commons.release.version>${project.version}</commons.release.version> 1377 <commons.rc.version>RC1</commons.rc.version> 1378 <commons.jira.id>COMMONSSITE</commons.jira.id> 1379 1380 <!-- Default configuration for compiler source and target JVM --> 1381 <!-- Do NOT change this; it must remain as 1.3 --> 1382 <maven.compiler.source>1.3</maven.compiler.source> 1383 <maven.compiler.target>1.3</maven.compiler.target> 1384 1385 <!-- compiler and surefire plugin settings for "java" profiles --> 1386 <commons.compiler.fork>false</commons.compiler.fork> 1387 <commons.compiler.compilerVersion /> 1388 <commons.compiler.javac /> 1389 <commons.surefire.java /> 1390 1391 <!-- plugin versions (allows same value in reporting and build sections) --> 1392 <commons.surefire.version>2.18.1</commons.surefire.version> 1393 <commons.surefire-report.version>2.18.1</commons.surefire-report.version> 1394 <commons.javadoc.version>2.10.3</commons.javadoc.version> 1395 <commons.rat.version>0.11</commons.rat.version> 1396 <commons.changes.version>2.11</commons.changes.version> 1397 <commons.clirr.version>2.6.1</commons.clirr.version> 1398 <commons.jxr.version>2.5</commons.jxr.version> 1399 <commons.project-info.version>2.8</commons.project-info.version> 1400 <commons.wagon-ssh.version>2.8</commons.wagon-ssh.version> 1401 <commons.site-plugin.version>3.4</commons.site-plugin.version> 1402 <commons.jacoco.version>0.7.5.201505241946</commons.jacoco.version> 1403 <commons.cobertura.version>2.7</commons.cobertura.version> 1404 <commons.jdepend.version>2.0</commons.jdepend.version> 1405 <commons.compiler.version>3.3</commons.compiler.version> 1406 <commons.scm-publish.version>1.1</commons.scm-publish.version> 1407 <commons.findbugs.version>2.5.5</commons.findbugs.version> 1408 <!-- plugin versions 1.12 and 1.13 currently require Java 7 --> 1409 <commons.animal-sniffer.version>1.11</commons.animal-sniffer.version> 1410 <!-- Almost all signatures use version 1.0. Allow override just in case --> 1411 <commons.animal-sniffer.signature.version>1.0</commons.animal-sniffer.signature.version> 1412 1413 <!-- Default values for the download-page generation by commons-build-plugin --> 1414 <commons.release.name>${project.artifactId}-${commons.release.version}</commons.release.name> 1415 <commons.release.desc /> 1416 <commons.binary.suffix>-bin</commons.binary.suffix> 1417 <commons.release.2.name>${project.artifactId}-${commons.release.2.version}</commons.release.2.name> 1418 <commons.release.2.desc /> 1419 <commons.release.2.binary.suffix>-bin</commons.release.2.binary.suffix> 1420 <commons.release.3.name>${project.artifactId}-${commons.release.3.version}</commons.release.3.name> 1421 <commons.release.3.desc /> 1422 <commons.release.3.binary.suffix>-bin</commons.release.3.binary.suffix> 1423 1424 <!-- Default values for the jacoco-maven-plugin reports --> 1425 <commons.jacoco.classRatio>1.00</commons.jacoco.classRatio> 1426 <commons.jacoco.instructionRatio>0.90</commons.jacoco.instructionRatio> 1427 <commons.jacoco.methodRatio>0.95</commons.jacoco.methodRatio> 1428 <commons.jacoco.branchRatio>0.85</commons.jacoco.branchRatio> 1429 <commons.jacoco.complexityRatio>0.85</commons.jacoco.complexityRatio> 1430 <commons.jacoco.lineRatio>0.90</commons.jacoco.lineRatio> 1431 <commons.jacoco.haltOnFailure>false</commons.jacoco.haltOnFailure> 1432 1433 <!-- Commons Component Id --> 1434 <commons.componentid>${project.artifactId}</commons.componentid> 1435 1436 <!-- Configuration properties for the OSGi maven-bundle-plugin --> 1437 <commons.osgi.symbolicName>org.apache.commons.${commons.componentid}</commons.osgi.symbolicName> 1438 <commons.osgi.export>org.apache.commons.*;version=${project.version};-noimport:=true</commons.osgi.export> 1439 <commons.osgi.import>*</commons.osgi.import> 1440 <commons.osgi.dynamicImport /> 1441 <commons.osgi.private /> 1442 <commons.osgi.excludeDependencies>true</commons.osgi.excludeDependencies> 1443 1444 <!-- location of any manifest file used by maven-jar-plugin --> 1445 <commons.manifestfile>${project.build.directory}/osgi/MANIFEST.MF</commons.manifestfile> 1446 1447 <!-- 1448 Make the deployment protocol pluggable. This allows to switch to 1449 other protocols like scpexe, which some users prefer over scp. 1450 --> 1451 <commons.deployment.protocol>scp</commons.deployment.protocol> 1452 1453 <!-- 1454 Encoding of Java source files: ensures that the compiler and 1455 the javadoc generator use the right encoding. Subprojects may 1456 overwrite this, if they are using another encoding. 1457 --> 1458 <commons.encoding>iso-8859-1</commons.encoding> 1459 <!-- used in this pom to provide the Javadoc HTML file encoding --> 1460 <commons.docEncoding>${commons.encoding}</commons.docEncoding> 1461 <!-- Define source encoding for filtering; used by general plugins --> 1462 <project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding> 1463 <!-- This is used by reporting plugins --> 1464 <project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding> 1465 1466 <!-- Javadoc link to Java API. Default is Java 1.7; components can override to other versions --> 1467 <commons.javadoc.java.link>http://docs.oracle.com/javase/7/docs/api/</commons.javadoc.java.link> 1468 <commons.javadoc.javaee.link>http://docs.oracle.com/javaee/6/api/</commons.javadoc.javaee.link> 1469 1470 <!-- build meta inf --> 1471 <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format> 1472 <implementation.build>${scmBranch}@r${buildNumber}; ${maven.build.timestamp}</implementation.build> 1473 1474 <!-- Allow Clirr severity to be overriden by the command-line option -DminSeverity=level --> 1475 <minSeverity>info</minSeverity> 1476 1477 <!-- Control number of issues retrieved from JIRA with changes plugin --> 1478 <commons.changes.maxEntries>100</commons.changes.maxEntries> 1479 1480 <!-- Allow surefire-report aggregation to be easily configured for multi-module projects --> 1481 <commons.surefire-report.aggregate>false</commons.surefire-report.aggregate> 1482 1483 <!-- Allow changes Jira report to be restricted to just the current version (plugin default is false)--> 1484 <commons.changes.onlyCurrentVersion>false</commons.changes.onlyCurrentVersion> 1485 <!-- Allow changes Jira report maxEntries to be overridden (plugin default 100) --> 1486 <commons.changes.maxEntries>100</commons.changes.maxEntries> 1487 <!-- Allow changes Jira report runOnlyAtExecutionRoot to be overridden (plugin default is false) --> 1488 <commons.changes.runOnlyAtExecutionRoot>false</commons.changes.runOnlyAtExecutionRoot> 1489 1490 <!-- scm publish plugin configuration --> 1491 <commons.site.cache>${user.home}/commons-sites</commons.site.cache> 1492 <!-- value modules can override it --> 1493 <commons.site.path>${project.artifactId}</commons.site.path> 1494 1495 <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId}</commons.scmPubUrl> 1496 <commons.scmPubCheckoutDirectory>${commons.site.cache}/${commons.site.path}</commons.scmPubCheckoutDirectory> 1497 <commons.scmPubServer>commons.site</commons.scmPubServer> 1498 1499 <sonar.host.url>https://analysis.apache.org/</sonar.host.url> 1500 1501 </properties> 1502 1503 </project> 1504