1 <?xml version="1.0" encoding="UTF-8"?> 2 <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"> 3 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.fasterxml</groupId> 7 <artifactId>oss-parent</artifactId> 8 <version>24</version> 9 <packaging>pom</packaging> 10 11 <name>FasterXML.com parent pom</name> 12 <description>FasterXML.com parent pom</description> 13 <url>http://github.com/FasterXML/</url> 14 <inceptionYear>2012</inceptionYear> 15 <organization> 16 <name>FasterXML</name> 17 <url>http://fasterxml.com/</url> 18 </organization> 19 <licenses> 20 <license> 21 <name>The Apache Software License, Version 2.0</name> 22 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 23 <distribution>repo</distribution> 24 </license> 25 </licenses> 26 27 <!-- to fill in mostly by children, but stupid Sonatype REQUIRES 28 one developer already here 29 --> 30 <developers> 31 <developer> 32 <id>cowtowncoder</id> 33 <name>Tatu Saloranta</name> 34 <email>tatu (a] fasterxml.com</email> 35 </developer> 36 </developers> 37 38 <scm> 39 <connection>scm:git:git (a] github.com:FasterXML/oss-parent.git</connection> 40 <developerConnection>scm:git:git (a] github.com:FasterXML/oss-parent.git</developerConnection> 41 <url>http://github.com/FasterXML/oss-parent</url> 42 <tag>oss-parent-24</tag> 43 </scm> 44 <issueManagement> 45 <system>GitHub Issue Management</system> 46 <url>https://github.com/FasterXML/${project.artifactId}/issues</url> 47 </issueManagement> 48 49 <distributionManagement> 50 <snapshotRepository> 51 <id>sonatype-nexus-snapshots</id> 52 <name>Sonatype Nexus Snapshots</name> 53 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 54 </snapshotRepository> 55 56 <repository> 57 <id>sonatype-nexus-staging</id> 58 <name>Nexus Release Repository</name> 59 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 60 </repository> 61 </distributionManagement> 62 63 <properties> 64 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 65 <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> 66 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 67 68 <!-- Use 1.6 as default baseline --> 69 <javac.src.version>1.6</javac.src.version> 70 <javac.target.version>1.6</javac.target.version> 71 72 <!-- By default, include all debug info; "vars" and "lines" both add 10-15% in size, 73 "source" very little 74 --> 75 <javac.debuglevel>lines,source,vars</javac.debuglevel> 76 <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format> 77 <!-- 78 | Configuration properties for the OSGi maven-bundle-plugin 79 --> 80 <osgi.export>${project.groupId}.*;version=${project.version}</osgi.export> 81 <osgi.import>*</osgi.import> 82 <osgi.dynamicImport /> 83 <osgi.private /> 84 <osgi.requiredExecutionEnvironment /> 85 <osgi.versionpolicy>${range;[===,=+);${@}}</osgi.versionpolicy> 86 <osgi.includeResource>{maven-resources}</osgi.includeResource> 87 <!-- 88 | shared build/report plugins version 89 --> 90 91 <!-- 11-Jul-2015, tatu: For some reason version 2.5.4 fails when 92 used with Shade plugin (2.2 - 2.4); hence 2.5.3 is still used for Jackson 2.6 93 --> 94 <version.plugin.bundle>2.5.3</version.plugin.bundle> 95 96 <version.plugin.jar>2.5</version.plugin.jar> 97 <version.plugin.javadoc>2.9.1</version.plugin.javadoc> 98 <!-- 2.4.2 had issues in releasing non-snapshot versions --> 99 <version.plugin.release>2.5.2</version.plugin.release> 100 <version.plugin.replacer>1.5.2</version.plugin.replacer> 101 <version.plugin.shade>2.4</version.plugin.shade> 102 <version.plugin.surefire>2.17</version.plugin.surefire> 103 104 <javadoc.maxmemory>1g</javadoc.maxmemory> 105 106 <generatedSourcesDir>${project.build.directory}/generated-sources</generatedSourcesDir> 107 108 </properties> 109 110 <repositories> 111 <repository> 112 <id>sonatype-nexus-snapshots</id> 113 <name>Sonatype Nexus Snapshots</name> 114 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 115 <releases> 116 <enabled>false</enabled> 117 </releases> 118 <snapshots> 119 <enabled>true</enabled> 120 </snapshots> 121 </repository> 122 </repositories> 123 124 <build> 125 <pluginManagement> 126 <plugins> 127 <plugin> 128 <groupId>org.apache.maven.plugins</groupId> 129 <artifactId>maven-clean-plugin</artifactId> 130 <version>2.5</version> 131 </plugin> 132 133 <plugin> 134 <groupId>org.apache.maven.plugins</groupId> 135 <artifactId>maven-resources-plugin</artifactId> 136 <version>2.6</version> 137 </plugin> 138 139 <plugin> 140 <groupId>org.apache.maven.plugins</groupId> 141 <artifactId>maven-install-plugin</artifactId> 142 <version>2.3.1</version> 143 </plugin> 144 145 <plugin> 146 <groupId>org.apache.maven.plugins</groupId> 147 <artifactId>maven-deploy-plugin</artifactId> 148 <version>2.7</version> 149 </plugin> 150 151 <plugin> 152 <groupId>org.apache.maven.plugins</groupId> 153 <artifactId>maven-site-plugin</artifactId> 154 <version>3.1</version> 155 </plugin> 156 157 <plugin> 158 <groupId>org.codehaus.mojo</groupId> 159 <artifactId>cobertura-maven-plugin</artifactId> 160 <version>2.6</version> 161 </plugin> 162 163 <plugin> 164 <groupId>org.apache.felix</groupId> 165 <artifactId>maven-bundle-plugin</artifactId> 166 <version>${version.plugin.bundle}</version> 167 <configuration> 168 <instructions> 169 <!-- 170 | stops the "uses" clauses being added to "Export-Package" manifest entry 171 --> 172 <_nouses>true</_nouses> 173 <!-- 174 | Stop the JAVA_1_n_HOME variables from being treated as headers by Bnd 175 --> 176 <_removeheaders>Include-Resource,JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME</_removeheaders> 177 <_versionpolicy>${osgi.versionpolicy}</_versionpolicy> 178 <Bundle-Name>${project.name}</Bundle-Name> 179 <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> 180 <Bundle-Description>${project.description}</Bundle-Description> 181 <Export-Package>${osgi.export}</Export-Package> 182 <Private-Package>${osgi.private}</Private-Package> 183 <Import-Package>${osgi.import}</Import-Package> 184 <DynamicImport-Package>${osgi.dynamicImport}</DynamicImport-Package> 185 <Include-Resource>${osgi.includeResource}</Include-Resource> 186 <Bundle-DocURL>${project.url}</Bundle-DocURL> 187 <Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment> 188 189 190 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 191 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 192 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 193 194 <Implementation-Title>${project.name}</Implementation-Title> 195 <Implementation-Version>${project.version}</Implementation-Version> 196 <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> 197 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> 198 199 <Specification-Title>${project.name}</Specification-Title> 200 <Specification-Version>${project.version}</Specification-Version> 201 <Specification-Vendor>${project.organization.name}</Specification-Vendor> 202 </instructions> 203 </configuration> 204 </plugin> 205 206 <plugin> 207 <groupId>org.apache.maven.plugins</groupId> 208 <artifactId>maven-release-plugin</artifactId> 209 <version>${version.plugin.release}</version> 210 <configuration> 211 <mavenExecutorId>forked-path</mavenExecutorId> 212 <useReleaseProfile>false</useReleaseProfile> 213 <arguments>-Prelease</arguments> 214 </configuration> 215 </plugin> 216 217 <plugin> 218 <groupId>org.sonatype.plugins</groupId> 219 <artifactId>nexus-maven-plugin</artifactId> 220 <version>2.1</version> 221 <configuration> 222 <nexusUrl>https://oss.sonatype.org/</nexusUrl> 223 <serverAuthId>sonatype-nexus-staging</serverAuthId> 224 </configuration> 225 </plugin> 226 227 <plugin> 228 <groupId>org.codehaus.mojo</groupId> 229 <artifactId>build-helper-maven-plugin</artifactId> 230 <version>1.7</version> 231 </plugin> 232 233 </plugins> 234 </pluginManagement> 235 236 <plugins> 237 <plugin> 238 <groupId>org.apache.maven.plugins</groupId> 239 <artifactId>maven-enforcer-plugin</artifactId> 240 <version>1.3.1</version> 241 <executions> 242 <execution> 243 <id>enforce-java</id> 244 <phase>validate</phase> 245 <goals> 246 <goal>enforce</goal> 247 </goals> 248 <configuration> 249 <rules> 250 <requireJavaVersion> 251 <version>[1.5,)</version> 252 <message>[ERROR] The currently supported version of Java is 1.5 or higher</message> 253 </requireJavaVersion> 254 <requireMavenVersion> 255 <version>[3.0,)</version> 256 <message>[ERROR] The currently supported version of Maven is 3.0 or higher</message> 257 </requireMavenVersion> 258 <requirePluginVersions> 259 <banLatest>true</banLatest> 260 <banRelease>true</banRelease> 261 <banSnapshots>true</banSnapshots> 262 <phases>clean,deploy,site</phases> 263 <message>[ERROR] Best Practice is to always define plugin versions!</message> 264 </requirePluginVersions> 265 </rules> 266 </configuration> 267 </execution> 268 </executions> 269 </plugin> 270 271 <plugin> 272 <groupId>org.apache.maven.plugins</groupId> 273 <artifactId>maven-compiler-plugin</artifactId> 274 <version>3.2</version> 275 <configuration> 276 <source>${javac.src.version}</source> 277 <target>${javac.target.version}</target> 278 <showDeprecation>true</showDeprecation> 279 <showWarnings>true</showWarnings> 280 <optimize>true</optimize> 281 <!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's 282 use these to reduce jar size 283 --> 284 <debug>true</debug> 285 <debuglevel>${javac.debuglevel}</debuglevel> 286 </configuration> 287 </plugin> 288 289 <plugin> 290 <groupId>org.codehaus.mojo</groupId> 291 <artifactId>build-helper-maven-plugin</artifactId> 292 <executions> 293 <execution> 294 <id>add-generated-sources</id> 295 <phase>generate-sources</phase> 296 <goals> 297 <goal>add-source</goal> 298 </goals> 299 <configuration> 300 <sources> 301 <source>${generatedSourcesDir}</source> 302 </sources> 303 </configuration> 304 </execution> 305 </executions> 306 </plugin> 307 308 <plugin> 309 <groupId>org.apache.maven.plugins</groupId> 310 <artifactId>maven-surefire-plugin</artifactId> 311 <version>${version.plugin.surefire}</version> 312 </plugin> 313 314 <plugin> 315 <groupId>org.apache.felix</groupId> 316 <artifactId>maven-bundle-plugin</artifactId> 317 <version>${version.plugin.bundle}</version> 318 <extensions>true</extensions> 319 </plugin> 320 321 <plugin> 322 <groupId>org.apache.maven.plugins</groupId> 323 <artifactId>maven-jar-plugin</artifactId> 324 <version>${version.plugin.jar}</version> 325 </plugin> 326 <plugin> 327 <artifactId>maven-site-plugin</artifactId> 328 <executions> 329 <execution> 330 <id>attach-descriptor</id> 331 <goals> 332 <goal>attach-descriptor</goal> 333 </goals> 334 </execution> 335 </executions> 336 </plugin> 337 338 <plugin> 339 <groupId>org.apache.maven.plugins</groupId> 340 <artifactId>maven-scm-plugin</artifactId> 341 <version>1.9.1</version> 342 <dependencies> 343 <dependency> 344 <groupId>org.apache.maven.scm</groupId> 345 <artifactId>maven-scm-provider-gitexe</artifactId> 346 <version>1.9.1</version> 347 </dependency> 348 </dependencies> 349 </plugin> 350 </plugins> 351 352 <extensions> 353 <extension> 354 <groupId>org.apache.maven.scm</groupId> 355 <artifactId>maven-scm-provider-gitexe</artifactId> 356 <version>1.9.1</version> 357 </extension> 358 359 <extension> 360 <groupId>org.apache.maven.scm</groupId> 361 <artifactId>maven-scm-manager-plexus</artifactId> 362 <version>1.9.1</version> 363 </extension> 364 365 <!-- WTH is this? --> 366 <extension> 367 <groupId>org.kathrynhuxtable.maven.wagon</groupId> 368 <artifactId>wagon-gitsite</artifactId> 369 <version>0.3.1</version> 370 </extension> 371 </extensions> 372 </build> 373 374 <reporting> 375 <plugins> 376 <plugin> 377 <groupId>org.apache.maven.plugins</groupId> 378 <artifactId>maven-javadoc-plugin</artifactId> 379 <version>${version.plugin.javadoc}</version> 380 <configuration> 381 <bootclasspath>${sun.boot.class.path}</bootclasspath> 382 <doclet>com.google.doclava.Doclava</doclet> 383 <useStandardDocletOptions>false</useStandardDocletOptions> 384 <additionalJOption>-J-Xmx1024m</additionalJOption> 385 <maxmemory>${javadoc.maxmemory}</maxmemory> 386 <links> 387 <link>http://docs.oracle.com/javase/6/docs/api/</link> 388 </links> 389 <docletArtifact> 390 <groupId>com.google.doclava</groupId> 391 <artifactId>doclava</artifactId> 392 <version>1.0.3</version> 393 </docletArtifact> 394 <additionalparam> 395 -hdf project.name "${project.name}" 396 -d ${project.reporting.outputDirectory}/apidocs 397 </additionalparam> 398 </configuration> 399 <reportSets> 400 <reportSet> 401 <id>default</id> 402 <reports> 403 <report>javadoc</report> 404 </reports> 405 </reportSet> 406 </reportSets> 407 </plugin> 408 409 <plugin> 410 <groupId>org.apache.maven.plugins</groupId> 411 <artifactId>maven-project-info-reports-plugin</artifactId> 412 <version>2.5</version> 413 </plugin> 414 415 <plugin> 416 <groupId>org.apache.maven.plugins</groupId> 417 <artifactId>maven-jxr-plugin</artifactId> 418 <version>2.3</version> 419 </plugin> 420 421 <plugin> 422 <groupId>org.codehaus.mojo</groupId> 423 <artifactId>jdepend-maven-plugin</artifactId> 424 <version>2.0-beta-2</version> 425 </plugin> 426 427 <plugin> 428 <groupId>org.apache.maven.plugins</groupId> 429 <artifactId>maven-surefire-report-plugin</artifactId> 430 <version>${version.plugin.surefire}</version> 431 </plugin> 432 433 <plugin> 434 <groupId>org.apache.maven.plugins</groupId> 435 <artifactId>maven-pmd-plugin</artifactId> 436 <version>2.7.1</version> 437 <configuration> 438 <linkXref>true</linkXref> 439 <minimumTokens>100</minimumTokens> 440 <targetJdk>1.5</targetJdk> 441 </configuration> 442 </plugin> 443 444 <plugin> 445 <groupId>org.codehaus.mojo</groupId> 446 <artifactId>taglist-maven-plugin</artifactId> 447 <version>2.4</version> 448 <configuration> 449 <tagListOptions> 450 <tagClasses> 451 <tagClass> 452 <displayName>Todo Work</displayName> 453 <tags> 454 <tag> 455 <matchString>TODO</matchString> 456 <matchType>ignoreCase</matchType> 457 </tag> 458 <tag> 459 <matchString>FIXME</matchString> 460 <matchType>ignoreCase</matchType> 461 </tag> 462 </tags> 463 </tagClass> 464 </tagClasses> 465 </tagListOptions> 466 </configuration> 467 </plugin> 468 </plugins> 469 </reporting> 470 471 <profiles> 472 <profile> 473 <id>release</id> 474 <build> 475 <plugins> 476 <plugin> 477 <groupId>org.apache.maven.plugins</groupId> 478 <artifactId>maven-source-plugin</artifactId> 479 <!-- 2.2 has a bug, revert to 2.1.2 --> 480 <version>2.1.2</version> 481 <executions> 482 <execution> 483 <id>attach-sources</id> 484 <goals> 485 <goal>jar-no-fork</goal> 486 </goals> 487 <configuration> 488 <archive> 489 <manifest> 490 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 491 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 492 </manifest> 493 <manifestEntries> 494 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 495 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 496 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 497 </manifestEntries> 498 </archive> 499 </configuration> 500 </execution> 501 </executions> 502 </plugin> 503 504 <plugin> 505 <groupId>org.apache.maven.plugins</groupId> 506 <artifactId>maven-javadoc-plugin</artifactId> 507 <version>${version.plugin.javadoc}</version> 508 <executions> 509 <execution> 510 <id>attach-javadocs</id> 511 <goals> 512 <goal>jar</goal> 513 </goals> 514 <configuration> 515 <quiet>true</quiet> 516 <archive> 517 <manifest> 518 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 519 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 520 </manifest> 521 <manifestEntries> 522 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 523 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 524 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 525 </manifestEntries> 526 </archive> 527 </configuration> 528 </execution> 529 </executions> 530 </plugin> 531 532 <plugin> 533 <groupId>org.apache.maven.plugins</groupId> 534 <artifactId>maven-gpg-plugin</artifactId> 535 <version>1.4</version> 536 <executions> 537 <execution> 538 <id>sign-artifacts</id> 539 <phase>verify</phase> 540 <goals> 541 <goal>sign</goal> 542 </goals> 543 </execution> 544 </executions> 545 </plugin> 546 </plugins> 547 </build> 548 </profile> 549 </profiles> 550 551 </project> 552