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