1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 | Copyright 2012 FasterXML.com 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 --> 17 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 18 19 <modelVersion>4.0.0</modelVersion> 20 21 <groupId>com.fasterxml</groupId> 22 <artifactId>oss-parent</artifactId> 23 <version>10</version> 24 <packaging>pom</packaging> 25 26 <name>FasterXML.com parent pom</name> 27 <description>FasterXML.com parent pom</description> 28 <url>http://github.com/FasterXML/</url> 29 <inceptionYear>2012</inceptionYear> 30 <organization> 31 <name>FasterXML</name> 32 <url>http://fasterxml.com/</url> 33 </organization> 34 <licenses> 35 <license> 36 <name>The Apache Software License, Version 2.0</name> 37 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 38 <distribution>repo</distribution> 39 </license> 40 <license> 41 <name>GNU Lesser General Public License, Version 2.1</name> 42 <url>http://www.gnu.org/licenses/lgpl-2.1.html</url> 43 <distribution>repo</distribution> 44 </license> 45 </licenses> 46 47 <developers> 48 <developer> 49 <id>christophercurrie</id> 50 <name>Christopher Currie</name> 51 <email /> 52 </developer> 53 <developer> 54 <id>prb</id> 55 <name>Paul Brown</name> 56 <email>prb (a] fasterxml.com</email> 57 </developer> 58 <developer> 59 <id>cowtowncoder</id> 60 <name>Tatu Saloranta</name> 61 <email>tatu (a] fasterxml.com</email> 62 </developer> 63 </developers> 64 <contributors> 65 <contributor> 66 <name>Simone Tripodi</name> 67 <email>simonetripodi (a] apache.org</email> 68 </contributor> 69 </contributors> 70 71 <scm> 72 <url>http://github.com/FasterXML/oss-parent</url> 73 <connection>scm:git:ssh://github.com/FasterXML/oss-parent.git</connection> 74 <developerConnection>scm:git:git+ssh://git (a] github.com/FasterXML/oss-parent.git</developerConnection> 75 <tag>oss-parent-10</tag> 76 </scm> 77 <issueManagement> 78 <system>GitHub Issue Management</system> 79 <url>https://github.com/FasterXML/${project.artifactId}/issues</url> 80 </issueManagement> 81 82 <distributionManagement> 83 <snapshotRepository> 84 <id>sonatype-nexus-snapshots</id> 85 <name>Sonatype Nexus Snapshots</name> 86 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 87 </snapshotRepository> 88 89 <repository> 90 <id>sonatype-nexus-staging</id> 91 <name>Nexus Release Repository</name> 92 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 93 </repository> 94 </distributionManagement> 95 96 <properties> 97 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 98 <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> 99 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 100 <!-- 10-Jan-2013, tatu: Jackson 2.2 and above will be Java 6 101 (earlier versions Java 5) 102 --> 103 <javac.src.version>1.6</javac.src.version> 104 <javac.target.version>1.6</javac.target.version> 105 <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format> 106 <!-- 107 | Configuration properties for the OSGi maven-bundle-plugin 108 --> 109 <osgi.export>${project.groupId}.*;version=${project.version};-noimport:=true</osgi.export> 110 <osgi.import>*</osgi.import> 111 <osgi.dynamicImport /> 112 <osgi.private /> 113 <osgi.requiredExecutionEnvironment /> 114 <!-- 115 | shared build/report plugins version 116 --> 117 <surefire.version>2.12</surefire.version> 118 <javadoc.version>2.8.1</javadoc.version> 119 <javadoc.maxmemory>1g</javadoc.maxmemory> 120 <replacer.version>1.5.2</replacer.version> 121 122 <!-- 123 | For automatically generating PackageVersion.java. Your child pom.xml must define 124 | packageVersion.dir and packageVersion.package, and must set the phase of the 125 | process-packageVersion execution of maven-replacer-plugin to 'generate-sources'. 126 --> 127 <generatedSourcesDir>${project.build.directory}/generated-sources</generatedSourcesDir> 128 <packageVersion.template.input>${basedir}/src/main/java/${packageVersion.dir}/PackageVersion.java.in</packageVersion.template.input> 129 <packageVersion.template.output>${generatedSourcesDir}/${packageVersion.dir}/PackageVersion.java</packageVersion.template.output> 130 131 </properties> 132 133 <repositories> 134 <repository> 135 <id>sonatype-nexus-snapshots</id> 136 <name>Sonatype Nexus Snapshots</name> 137 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 138 <releases> 139 <enabled>false</enabled> 140 </releases> 141 <snapshots> 142 <enabled>true</enabled> 143 </snapshots> 144 </repository> 145 </repositories> 146 147 <build> 148 <pluginManagement> 149 <plugins> 150 <plugin> 151 <groupId>org.apache.maven.plugins</groupId> 152 <artifactId>maven-clean-plugin</artifactId> 153 <version>2.5</version> 154 </plugin> 155 156 <plugin> 157 <groupId>org.apache.maven.plugins</groupId> 158 <artifactId>maven-resources-plugin</artifactId> 159 <version>2.6</version> 160 </plugin> 161 162 <plugin> 163 <groupId>org.apache.maven.plugins</groupId> 164 <artifactId>maven-install-plugin</artifactId> 165 <version>2.3.1</version> 166 </plugin> 167 168 <plugin> 169 <groupId>org.apache.maven.plugins</groupId> 170 <artifactId>maven-deploy-plugin</artifactId> 171 <version>2.7</version> 172 </plugin> 173 174 <plugin> 175 <groupId>org.apache.maven.plugins</groupId> 176 <artifactId>maven-site-plugin</artifactId> 177 <version>3.1</version> 178 </plugin> 179 180 <plugin> 181 <groupId>org.codehaus.mojo</groupId> 182 <artifactId>cobertura-maven-plugin</artifactId> 183 <version>2.5.1</version> 184 </plugin> 185 186 <plugin> 187 <groupId>org.apache.maven.plugins</groupId> 188 <artifactId>maven-release-plugin</artifactId> 189 <version>2.4.1</version> 190 <configuration> 191 <mavenExecutorId>forked-path</mavenExecutorId> 192 <useReleaseProfile>false</useReleaseProfile> 193 <arguments>-Prelease</arguments> 194 </configuration> 195 </plugin> 196 197 <plugin> 198 <groupId>org.sonatype.plugins</groupId> 199 <artifactId>nexus-maven-plugin</artifactId> 200 <version>1.9.2.4</version> 201 <configuration> 202 <nexusUrl>https://oss.sonatype.org/</nexusUrl> 203 <serverAuthId>sonatype-nexus-staging</serverAuthId> 204 </configuration> 205 </plugin> 206 207 <plugin> 208 <groupId>org.codehaus.mojo</groupId> 209 <artifactId>build-helper-maven-plugin</artifactId> 210 <version>1.7</version> 211 </plugin> 212 213 <plugin> 214 <groupId>com.google.code.maven-replacer-plugin</groupId> 215 <artifactId>replacer</artifactId> 216 <version>${replacer.version}</version> 217 <executions> 218 <execution> 219 <id>process-packageVersion</id> 220 <goals> 221 <goal>replace</goal> 222 </goals> 223 <!-- 224 | We explicitly omit 'phase' here so child poms can opt in to 225 | generating their PackageVersion.java file. 226 | 227 | If your child pom wants a PackageVersion.java file, define 228 | the 'packageVersion.dir' and 'packageVersion.package' properties 229 | and include the commented-out section in your child pom's plugin 230 | for this execution ID. 231 <phase>generate-sources</phase> 232 --> 233 </execution> 234 </executions> 235 <configuration> 236 <file>${packageVersion.template.input}</file> 237 <outputFile>${packageVersion.template.output}</outputFile> 238 <replacements> 239 <replacement> 240 <token>@package@</token> 241 <value>${packageVersion.package}</value> 242 </replacement> 243 <replacement> 244 <token>@projectversion@</token> 245 <value>${project.version}</value> 246 </replacement> 247 <replacement> 248 <token>@projectgroupid@</token> 249 <value>${project.groupId}</value> 250 </replacement> 251 <replacement> 252 <token>@projectartifactid@</token> 253 <value>${project.artifactId}</value> 254 </replacement> 255 </replacements> 256 </configuration> 257 </plugin> 258 <plugin> 259 <!-- Work around Eclipse incompatibility (http://code.google.com/p/maven-replacer-plugin/issues/detail?id=66) --> 260 <groupId>org.eclipse.m2e</groupId> 261 <artifactId>lifecycle-mapping</artifactId> 262 <version>1.0.0</version> 263 <configuration> 264 <lifecycleMappingMetadata> 265 <pluginExecutions> 266 <pluginExecution> 267 <pluginExecutionFilter> 268 <groupId>com.google.code.maven-replacer-plugin</groupId> 269 <artifactId>replacer</artifactId> 270 <versionRange>[${replacer.version},)</versionRange> 271 <goals> 272 <goal>replace</goal> 273 </goals> 274 </pluginExecutionFilter> 275 <action> 276 <execute> 277 <runOnIncremental>false</runOnIncremental> 278 </execute> 279 </action> 280 </pluginExecution> 281 </pluginExecutions> 282 </lifecycleMappingMetadata> 283 </configuration> 284 </plugin> 285 </plugins> 286 </pluginManagement> 287 288 <plugins> 289 <plugin> 290 <groupId>org.apache.maven.plugins</groupId> 291 <artifactId>maven-enforcer-plugin</artifactId> 292 <version>1.1.1</version> 293 <executions> 294 <execution> 295 <id>enforce-java</id> 296 <phase>validate</phase> 297 <goals> 298 <goal>enforce</goal> 299 </goals> 300 <configuration> 301 <rules> 302 <requireJavaVersion> 303 <version>[1.5,)</version> 304 <message>[ERROR] The currently supported version of Java is 1.5 or higher</message> 305 </requireJavaVersion> 306 <requireMavenVersion> 307 <version>[3.0,)</version> 308 <message>[ERROR] The currently supported version of Maven is 3.0 or higher</message> 309 </requireMavenVersion> 310 <requirePluginVersions> 311 <banLatest>true</banLatest> 312 <banRelease>true</banRelease> 313 <banSnapshots>true</banSnapshots> 314 <phases>clean,deploy,site</phases> 315 <message>[ERROR] Best Practice is to always define plugin versions!</message> 316 </requirePluginVersions> 317 </rules> 318 </configuration> 319 </execution> 320 </executions> 321 </plugin> 322 323 <plugin> 324 <groupId>org.apache.maven.plugins</groupId> 325 <artifactId>maven-compiler-plugin</artifactId> 326 <version>2.5.1</version> 327 <configuration> 328 <source>${javac.src.version}</source> 329 <target>${javac.target.version}</target> 330 <showDeprecation>true</showDeprecation> 331 <showWarnings>true</showWarnings> 332 <optimize>true</optimize> 333 <!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's 334 use these to reduce jar size 335 --> 336 <debug>true</debug> 337 <debuglevel>lines,source</debuglevel> 338 </configuration> 339 </plugin> 340 341 <plugin> 342 <groupId>org.codehaus.mojo</groupId> 343 <artifactId>build-helper-maven-plugin</artifactId> 344 <executions> 345 <execution> 346 <id>add-generated-sources</id> 347 <phase>generate-sources</phase> 348 <goals> 349 <goal>add-source</goal> 350 </goals> 351 <configuration> 352 <sources> 353 <source>${generatedSourcesDir}</source> 354 </sources> 355 </configuration> 356 </execution> 357 </executions> 358 </plugin> 359 360 <plugin> 361 <groupId>org.apache.maven.plugins</groupId> 362 <artifactId>maven-surefire-plugin</artifactId> 363 <version>${surefire.version}</version> 364 </plugin> 365 366 <plugin> 367 <groupId>org.apache.felix</groupId> 368 <artifactId>maven-bundle-plugin</artifactId> 369 <version>2.3.7</version> 370 <configuration> 371 <!-- 372 | dummy entry to stop bundle plugin from picking up jar config and reporting 373 | WARNING: Duplicate name in Manifest 374 | See http://markmail.org/message/mpkl24wk3jrjhhjg 375 --> 376 <archive> 377 <forced>true</forced> 378 </archive> 379 <excludeDependencies>true</excludeDependencies> 380 <manifestLocation>${project.build.directory}/osgi</manifestLocation> 381 <instructions> 382 <!-- 383 | stops the "uses" clauses being added to "Export-Package" manifest entry 384 --> 385 <_nouses>true</_nouses> 386 <!-- 387 | Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd 388 --> 389 <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME</_removeheaders> 390 <Bundle-Name>${project.name}</Bundle-Name> 391 <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> 392 <Bundle-Description>${project.description}</Bundle-Description> 393 <Export-Package>${osgi.export}</Export-Package> 394 <Private-Package>${osgi.private}</Private-Package> 395 <Import-Package>${osgi.import}</Import-Package> 396 <DynamicImport-Package>${osgi.dynamicImport}</DynamicImport-Package> 397 <Bundle-DocURL>${project.url}</Bundle-DocURL> 398 <Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment> 399 </instructions> 400 </configuration> 401 <executions> 402 <execution> 403 <id>bundle-manifest</id> 404 <phase>process-classes</phase> 405 <goals> 406 <goal>manifest</goal> 407 </goals> 408 </execution> 409 </executions> 410 </plugin> 411 412 <plugin> 413 <groupId>org.apache.maven.plugins</groupId> 414 <artifactId>maven-jar-plugin</artifactId> 415 <version>2.4</version> 416 <configuration> 417 <archive> 418 <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile> 419 <manifest> 420 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 421 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 422 </manifest> 423 <manifestEntries> 424 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 425 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 426 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 427 </manifestEntries> 428 </archive> 429 </configuration> 430 </plugin> 431 432 <plugin> 433 <artifactId>maven-site-plugin</artifactId> 434 <executions> 435 <execution> 436 <id>attach-descriptor</id> 437 <goals> 438 <goal>attach-descriptor</goal> 439 </goals> 440 </execution> 441 </executions> 442 </plugin> 443 444 <plugin> 445 <groupId>org.apache.maven.plugins</groupId> 446 <artifactId>maven-scm-plugin</artifactId> 447 <version>1.7</version> 448 <dependencies> 449 <dependency> 450 <groupId>org.apache.maven.scm</groupId> 451 <artifactId>maven-scm-provider-gitexe</artifactId> 452 <version>1.7</version> 453 </dependency> 454 </dependencies> 455 </plugin> 456 </plugins> 457 458 <extensions> 459 <extension> 460 <groupId>org.apache.maven.scm</groupId> 461 <artifactId>maven-scm-provider-gitexe</artifactId> 462 <version>1.7</version> 463 </extension> 464 465 <extension> 466 <groupId>org.apache.maven.scm</groupId> 467 <artifactId>maven-scm-manager-plexus</artifactId> 468 <version>1.7</version> 469 </extension> 470 471 <extension> 472 <groupId>org.kathrynhuxtable.maven.wagon</groupId> 473 <artifactId>wagon-gitsite</artifactId> 474 <version>0.3.1</version> 475 </extension> 476 </extensions> 477 </build> 478 479 <reporting> 480 <plugins> 481 <plugin> 482 <groupId>org.apache.maven.plugins</groupId> 483 <artifactId>maven-javadoc-plugin</artifactId> 484 <version>${javadoc.version}</version> 485 <configuration> 486 <bootclasspath>${sun.boot.class.path}</bootclasspath> 487 <doclet>com.google.doclava.Doclava</doclet> 488 <useStandardDocletOptions>false</useStandardDocletOptions> 489 <additionalJOption>-J-Xmx1024m</additionalJOption> 490 <maxmemory>${javadoc.maxmemory}</maxmemory> 491 <links> 492 <link>http://docs.oracle.com/javase/6/docs/api/</link> 493 </links> 494 <docletArtifact> 495 <groupId>com.google.doclava</groupId> 496 <artifactId>doclava</artifactId> 497 <version>1.0.3</version> 498 </docletArtifact> 499 <additionalparam> 500 -hdf project.name "${project.name}" 501 -d ${project.reporting.outputDirectory}/apidocs 502 </additionalparam> 503 </configuration> 504 <reportSets> 505 <reportSet> 506 <id>default</id> 507 <reports> 508 <report>javadoc</report> 509 </reports> 510 </reportSet> 511 </reportSets> 512 </plugin> 513 514 <plugin> 515 <groupId>org.apache.maven.plugins</groupId> 516 <artifactId>maven-project-info-reports-plugin</artifactId> 517 <version>2.5</version> 518 </plugin> 519 520 <plugin> 521 <groupId>org.apache.maven.plugins</groupId> 522 <artifactId>maven-jxr-plugin</artifactId> 523 <version>2.3</version> 524 </plugin> 525 526 <plugin> 527 <groupId>org.codehaus.mojo</groupId> 528 <artifactId>jdepend-maven-plugin</artifactId> 529 <version>2.0-beta-2</version> 530 </plugin> 531 532 <plugin> 533 <groupId>org.apache.maven.plugins</groupId> 534 <artifactId>maven-surefire-report-plugin</artifactId> 535 <version>${surefire.version}</version> 536 </plugin> 537 538 <plugin> 539 <groupId>org.apache.maven.plugins</groupId> 540 <artifactId>maven-pmd-plugin</artifactId> 541 <version>2.7.1</version> 542 <configuration> 543 <linkXref>true</linkXref> 544 <minimumTokens>100</minimumTokens> 545 <targetJdk>1.5</targetJdk> 546 </configuration> 547 </plugin> 548 549 <plugin> 550 <groupId>org.codehaus.mojo</groupId> 551 <artifactId>taglist-maven-plugin</artifactId> 552 <version>2.4</version> 553 <configuration> 554 <tagListOptions> 555 <tagClasses> 556 <tagClass> 557 <displayName>Todo Work</displayName> 558 <tags> 559 <tag> 560 <matchString>TODO</matchString> 561 <matchType>ignoreCase</matchType> 562 </tag> 563 <tag> 564 <matchString>FIXME</matchString> 565 <matchType>ignoreCase</matchType> 566 </tag> 567 </tags> 568 </tagClass> 569 </tagClasses> 570 </tagListOptions> 571 </configuration> 572 </plugin> 573 </plugins> 574 </reporting> 575 576 <profiles> 577 <profile> 578 <id>release</id> 579 <build> 580 <plugins> 581 <plugin> 582 <groupId>org.apache.maven.plugins</groupId> 583 <artifactId>maven-source-plugin</artifactId> 584 <!-- 2.2 has a bug, revert to 2.1.2 --> 585 <version>2.1.2</version> 586 <executions> 587 <execution> 588 <id>attach-sources</id> 589 <goals> 590 <goal>jar-no-fork</goal> 591 </goals> 592 <configuration> 593 <archive> 594 <manifest> 595 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 596 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 597 </manifest> 598 <manifestEntries> 599 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 600 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 601 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 602 </manifestEntries> 603 </archive> 604 </configuration> 605 </execution> 606 </executions> 607 </plugin> 608 609 <plugin> 610 <groupId>org.apache.maven.plugins</groupId> 611 <artifactId>maven-javadoc-plugin</artifactId> 612 <version>${javadoc.version}</version> 613 <executions> 614 <execution> 615 <id>attach-javadocs</id> 616 <goals> 617 <goal>jar</goal> 618 </goals> 619 <configuration> 620 <quiet>true</quiet> 621 <archive> 622 <manifest> 623 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 624 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 625 </manifest> 626 <manifestEntries> 627 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 628 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 629 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 630 </manifestEntries> 631 </archive> 632 </configuration> 633 </execution> 634 </executions> 635 </plugin> 636 637 <plugin> 638 <groupId>org.apache.maven.plugins</groupId> 639 <artifactId>maven-gpg-plugin</artifactId> 640 <version>1.4</version> 641 <executions> 642 <execution> 643 <id>sign-artifacts</id> 644 <phase>verify</phase> 645 <goals> 646 <goal>sign</goal> 647 </goals> 648 </execution> 649 </executions> 650 </plugin> 651 </plugins> 652 </build> 653 </profile> 654 </profiles> 655 656 </project> 657