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>23</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-23</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 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 <Bundle-DocURL>${project.url}</Bundle-DocURL> 186 <Bundle-RequiredExecutionEnvironment>${osgi.requiredExecutionEnvironment}</Bundle-RequiredExecutionEnvironment> 187 188 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 189 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 190 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 191 192 <Implementation-Title>${project.name}</Implementation-Title> 193 <Implementation-Version>${project.version}</Implementation-Version> 194 <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> 195 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> 196 197 <Specification-Title>${project.name}</Specification-Title> 198 <Specification-Version>${project.version}</Specification-Version> 199 <Specification-Vendor>${project.organization.name}</Specification-Vendor> 200 </instructions> 201 </configuration> 202 </plugin> 203 204 <plugin> 205 <groupId>org.apache.maven.plugins</groupId> 206 <artifactId>maven-release-plugin</artifactId> 207 <version>${version.plugin.release}</version> 208 <configuration> 209 <mavenExecutorId>forked-path</mavenExecutorId> 210 <useReleaseProfile>false</useReleaseProfile> 211 <arguments>-Prelease</arguments> 212 </configuration> 213 </plugin> 214 215 <plugin> 216 <groupId>org.sonatype.plugins</groupId> 217 <artifactId>nexus-maven-plugin</artifactId> 218 <version>2.1</version> 219 <configuration> 220 <nexusUrl>https://oss.sonatype.org/</nexusUrl> 221 <serverAuthId>sonatype-nexus-staging</serverAuthId> 222 </configuration> 223 </plugin> 224 225 <plugin> 226 <groupId>org.codehaus.mojo</groupId> 227 <artifactId>build-helper-maven-plugin</artifactId> 228 <version>1.7</version> 229 </plugin> 230 231 </plugins> 232 </pluginManagement> 233 234 <plugins> 235 <plugin> 236 <groupId>org.apache.maven.plugins</groupId> 237 <artifactId>maven-enforcer-plugin</artifactId> 238 <version>1.3.1</version> 239 <executions> 240 <execution> 241 <id>enforce-java</id> 242 <phase>validate</phase> 243 <goals> 244 <goal>enforce</goal> 245 </goals> 246 <configuration> 247 <rules> 248 <requireJavaVersion> 249 <version>[1.5,)</version> 250 <message>[ERROR] The currently supported version of Java is 1.5 or higher</message> 251 </requireJavaVersion> 252 <requireMavenVersion> 253 <version>[3.0,)</version> 254 <message>[ERROR] The currently supported version of Maven is 3.0 or higher</message> 255 </requireMavenVersion> 256 <requirePluginVersions> 257 <banLatest>true</banLatest> 258 <banRelease>true</banRelease> 259 <banSnapshots>true</banSnapshots> 260 <phases>clean,deploy,site</phases> 261 <message>[ERROR] Best Practice is to always define plugin versions!</message> 262 </requirePluginVersions> 263 </rules> 264 </configuration> 265 </execution> 266 </executions> 267 </plugin> 268 269 <plugin> 270 <groupId>org.apache.maven.plugins</groupId> 271 <artifactId>maven-compiler-plugin</artifactId> 272 <version>3.2</version> 273 <configuration> 274 <source>${javac.src.version}</source> 275 <target>${javac.target.version}</target> 276 <showDeprecation>true</showDeprecation> 277 <showWarnings>true</showWarnings> 278 <optimize>true</optimize> 279 <!-- 16-Apr-2013, tatu: As per Nick W's suggestions, let's 280 use these to reduce jar size 281 --> 282 <debug>true</debug> 283 <debuglevel>${javac.debuglevel}</debuglevel> 284 </configuration> 285 </plugin> 286 287 <plugin> 288 <groupId>org.codehaus.mojo</groupId> 289 <artifactId>build-helper-maven-plugin</artifactId> 290 <executions> 291 <execution> 292 <id>add-generated-sources</id> 293 <phase>generate-sources</phase> 294 <goals> 295 <goal>add-source</goal> 296 </goals> 297 <configuration> 298 <sources> 299 <source>${generatedSourcesDir}</source> 300 </sources> 301 </configuration> 302 </execution> 303 </executions> 304 </plugin> 305 306 <plugin> 307 <groupId>org.apache.maven.plugins</groupId> 308 <artifactId>maven-surefire-plugin</artifactId> 309 <version>${version.plugin.surefire}</version> 310 </plugin> 311 312 <plugin> 313 <groupId>org.apache.felix</groupId> 314 <artifactId>maven-bundle-plugin</artifactId> 315 <version>${version.plugin.bundle}</version> 316 <extensions>true</extensions> 317 </plugin> 318 319 <plugin> 320 <groupId>org.apache.maven.plugins</groupId> 321 <artifactId>maven-jar-plugin</artifactId> 322 <version>${version.plugin.jar}</version> 323 </plugin> 324 <plugin> 325 <artifactId>maven-site-plugin</artifactId> 326 <executions> 327 <execution> 328 <id>attach-descriptor</id> 329 <goals> 330 <goal>attach-descriptor</goal> 331 </goals> 332 </execution> 333 </executions> 334 </plugin> 335 336 <plugin> 337 <groupId>org.apache.maven.plugins</groupId> 338 <artifactId>maven-scm-plugin</artifactId> 339 <version>1.9.1</version> 340 <dependencies> 341 <dependency> 342 <groupId>org.apache.maven.scm</groupId> 343 <artifactId>maven-scm-provider-gitexe</artifactId> 344 <version>1.9.1</version> 345 </dependency> 346 </dependencies> 347 </plugin> 348 </plugins> 349 350 <extensions> 351 <extension> 352 <groupId>org.apache.maven.scm</groupId> 353 <artifactId>maven-scm-provider-gitexe</artifactId> 354 <version>1.9.1</version> 355 </extension> 356 357 <extension> 358 <groupId>org.apache.maven.scm</groupId> 359 <artifactId>maven-scm-manager-plexus</artifactId> 360 <version>1.9.1</version> 361 </extension> 362 363 <!-- WTH is this? --> 364 <extension> 365 <groupId>org.kathrynhuxtable.maven.wagon</groupId> 366 <artifactId>wagon-gitsite</artifactId> 367 <version>0.3.1</version> 368 </extension> 369 </extensions> 370 </build> 371 372 <reporting> 373 <plugins> 374 <plugin> 375 <groupId>org.apache.maven.plugins</groupId> 376 <artifactId>maven-javadoc-plugin</artifactId> 377 <version>${version.plugin.javadoc}</version> 378 <configuration> 379 <bootclasspath>${sun.boot.class.path}</bootclasspath> 380 <doclet>com.google.doclava.Doclava</doclet> 381 <useStandardDocletOptions>false</useStandardDocletOptions> 382 <additionalJOption>-J-Xmx1024m</additionalJOption> 383 <maxmemory>${javadoc.maxmemory}</maxmemory> 384 <links> 385 <link>http://docs.oracle.com/javase/6/docs/api/</link> 386 </links> 387 <docletArtifact> 388 <groupId>com.google.doclava</groupId> 389 <artifactId>doclava</artifactId> 390 <version>1.0.3</version> 391 </docletArtifact> 392 <additionalparam> 393 -hdf project.name "${project.name}" 394 -d ${project.reporting.outputDirectory}/apidocs 395 </additionalparam> 396 </configuration> 397 <reportSets> 398 <reportSet> 399 <id>default</id> 400 <reports> 401 <report>javadoc</report> 402 </reports> 403 </reportSet> 404 </reportSets> 405 </plugin> 406 407 <plugin> 408 <groupId>org.apache.maven.plugins</groupId> 409 <artifactId>maven-project-info-reports-plugin</artifactId> 410 <version>2.5</version> 411 </plugin> 412 413 <plugin> 414 <groupId>org.apache.maven.plugins</groupId> 415 <artifactId>maven-jxr-plugin</artifactId> 416 <version>2.3</version> 417 </plugin> 418 419 <plugin> 420 <groupId>org.codehaus.mojo</groupId> 421 <artifactId>jdepend-maven-plugin</artifactId> 422 <version>2.0-beta-2</version> 423 </plugin> 424 425 <plugin> 426 <groupId>org.apache.maven.plugins</groupId> 427 <artifactId>maven-surefire-report-plugin</artifactId> 428 <version>${version.plugin.surefire}</version> 429 </plugin> 430 431 <plugin> 432 <groupId>org.apache.maven.plugins</groupId> 433 <artifactId>maven-pmd-plugin</artifactId> 434 <version>2.7.1</version> 435 <configuration> 436 <linkXref>true</linkXref> 437 <minimumTokens>100</minimumTokens> 438 <targetJdk>1.5</targetJdk> 439 </configuration> 440 </plugin> 441 442 <plugin> 443 <groupId>org.codehaus.mojo</groupId> 444 <artifactId>taglist-maven-plugin</artifactId> 445 <version>2.4</version> 446 <configuration> 447 <tagListOptions> 448 <tagClasses> 449 <tagClass> 450 <displayName>Todo Work</displayName> 451 <tags> 452 <tag> 453 <matchString>TODO</matchString> 454 <matchType>ignoreCase</matchType> 455 </tag> 456 <tag> 457 <matchString>FIXME</matchString> 458 <matchType>ignoreCase</matchType> 459 </tag> 460 </tags> 461 </tagClass> 462 </tagClasses> 463 </tagListOptions> 464 </configuration> 465 </plugin> 466 </plugins> 467 </reporting> 468 469 <profiles> 470 <profile> 471 <id>release</id> 472 <build> 473 <plugins> 474 <plugin> 475 <groupId>org.apache.maven.plugins</groupId> 476 <artifactId>maven-source-plugin</artifactId> 477 <!-- 2.2 has a bug, revert to 2.1.2 --> 478 <version>2.1.2</version> 479 <executions> 480 <execution> 481 <id>attach-sources</id> 482 <goals> 483 <goal>jar-no-fork</goal> 484 </goals> 485 <configuration> 486 <archive> 487 <manifest> 488 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 489 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 490 </manifest> 491 <manifestEntries> 492 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 493 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 494 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 495 </manifestEntries> 496 </archive> 497 </configuration> 498 </execution> 499 </executions> 500 </plugin> 501 502 <plugin> 503 <groupId>org.apache.maven.plugins</groupId> 504 <artifactId>maven-javadoc-plugin</artifactId> 505 <version>${version.plugin.javadoc}</version> 506 <executions> 507 <execution> 508 <id>attach-javadocs</id> 509 <goals> 510 <goal>jar</goal> 511 </goals> 512 <configuration> 513 <quiet>true</quiet> 514 <archive> 515 <manifest> 516 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 517 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 518 </manifest> 519 <manifestEntries> 520 <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date> 521 <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK> 522 <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK> 523 </manifestEntries> 524 </archive> 525 </configuration> 526 </execution> 527 </executions> 528 </plugin> 529 530 <plugin> 531 <groupId>org.apache.maven.plugins</groupId> 532 <artifactId>maven-gpg-plugin</artifactId> 533 <version>1.4</version> 534 <executions> 535 <execution> 536 <id>sign-artifacts</id> 537 <phase>verify</phase> 538 <goals> 539 <goal>sign</goal> 540 </goals> 541 </execution> 542 </executions> 543 </plugin> 544 </plugins> 545 </build> 546 </profile> 547 </profiles> 548 549 </project> 550