1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors 4 All rights reserved. This program and the accompanying materials 5 are made available under the terms of the Eclipse Public License v1.0 6 which accompanies this distribution, and is available at 7 http://www.eclipse.org/legal/epl-v10.html 8 9 Contributors: 10 Evgeny Mandrikov - initial API and implementation 11 --> 12 <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"> 13 <modelVersion>4.0.0</modelVersion> 14 15 <groupId>org.jacoco</groupId> 16 <artifactId>org.jacoco.build</artifactId> 17 <version>0.7.5.201505241946</version> 18 <packaging>pom</packaging> 19 20 <name>JaCoCo</name> 21 <description>JaCoCo - Java Code Coverage Library</description> 22 <url>http://jacoco.org</url> 23 <inceptionYear>2009</inceptionYear> 24 <organization> 25 <name>Mountainminds GmbH & Co. KG</name> 26 </organization> 27 <licenses> 28 <license> 29 <name>Eclipse Public License v1.0</name> 30 <url>http://www.eclipse.org/legal/epl-v10.html</url> 31 <distribution>repo</distribution> 32 </license> 33 </licenses> 34 35 <developers> 36 <developer> 37 <id>mtnminds</id> 38 <name>Marc R. Hoffmann</name> 39 <email>hoffmann (a] mountainminds.com</email> 40 <timezone>+1</timezone> 41 <roles> 42 <role>Project Lead</role> 43 </roles> 44 </developer> 45 <developer> 46 <id>brock_j</id> 47 <name>Brock Janiczak</name> 48 <email>brockj (a] gmail.com</email> 49 <timezone>+10</timezone> 50 <roles> 51 <role>Developer</role> 52 </roles> 53 </developer> 54 <developer> 55 <id>mandrikov</id> 56 <name>Evgeny Mandrikov</name> 57 <email>mandrikov (a] gmail.com</email> 58 <url>http://godin.net.ru</url> 59 <organization>SonarSource</organization> 60 <organizationUrl>http://www.sonarsource.com</organizationUrl> 61 <timezone>+3</timezone> 62 <roles> 63 <role>Build and release manager</role> 64 </roles> 65 </developer> 66 <developer> 67 <id>mfriedenhagen</id> 68 <name>Mirko Friedenhagen</name> 69 <email>mfriedenhagen (a] gmail.com</email> 70 <timezone>+1</timezone> 71 <roles> 72 <role>Developer</role> 73 </roles> 74 </developer> 75 </developers> 76 77 <contributors> 78 <contributor> 79 <name>Radek Liba</name> 80 </contributor> 81 <contributor> 82 <name>Christoph Beck</name> 83 </contributor> 84 </contributors> 85 86 <modules> 87 <!-- Order is important: org.jacoco.agent.rt embeds into org.jacoco.agent and JaCoCo Agent used during tests --> 88 <module>../org.jacoco.core</module> 89 <module>../org.jacoco.report</module> 90 <module>../org.jacoco.agent.rt</module> 91 <module>../org.jacoco.agent</module> 92 <module>../org.jacoco.ant</module> 93 94 <module>../jacoco-maven-plugin</module> 95 96 <module>../org.jacoco.tests</module> 97 98 <module>../org.jacoco.examples</module> 99 <module>../org.jacoco.doc</module> 100 <module>../jacoco</module> 101 </modules> 102 103 <scm> 104 <connection>scm:git:git://github.com/jacoco/jacoco.git</connection> 105 <developerConnection>scm:git:ssh://git (a] github.com:jacoco/jacoco.git</developerConnection> 106 <url>https://github.com/jacoco/jacoco</url> 107 </scm> 108 <issueManagement> 109 <system>GitHub</system> 110 <url>https://github.com/jacoco/jacoco/issues</url> 111 </issueManagement> 112 <distributionManagement> 113 <repository> 114 <id>sonatype-nexus-staging</id> 115 <name>Nexus Release Repository</name> 116 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 117 </repository> 118 <snapshotRepository> 119 <id>sonatype-nexus-snapshots</id> 120 <name>Sonatype Nexus Snapshots</name> 121 <url>${sonatypeOssDistMgmtSnapshotsUrl}</url> 122 </snapshotRepository> 123 </distributionManagement> 124 125 <properties> 126 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 127 <sonatypeOssDistMgmtSnapshotsUrl>https://oss.sonatype.org/content/repositories/snapshots/</sonatypeOssDistMgmtSnapshotsUrl> 128 129 <maven.build.timestamp.format>yyyyMMddhhmm</maven.build.timestamp.format> 130 <jacoco.home.url>http://www.eclemma.org/jacoco</jacoco.home.url> 131 <copyright.years>${project.inceptionYear}, 2015</copyright.years> 132 133 <maven.compiler.source>1.5</maven.compiler.source> 134 <maven.compiler.target>1.5</maven.compiler.target> 135 136 <jvm.args></jvm.args> 137 <argLine>${jvm.args}</argLine> 138 139 <!-- Dependencies versions --> 140 <asm.version>5.0.1</asm.version> 141 <ant.version>1.7.1</ant.version> 142 <junit.version>4.8.2</junit.version> 143 144 <!-- ================== --> 145 <!-- For Sonar analysis --> 146 <!-- ================== --> 147 <sonar.skippedModules>org.jacoco.tests,org.jacoco.doc</sonar.skippedModules> 148 149 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> 150 <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 151 <sonar.jacoco.reportPath>../${project.artifactId}.test/target/jacoco.exec</sonar.jacoco.reportPath> 152 <sonar.surefire.reportsPath>../${project.artifactId}.test/target/surefire-reports/</sonar.surefire.reportsPath> 153 154 <!-- See http://jira.codehaus.org/browse/SONAR-2096 --> 155 <sonar.java.source>1.5</sonar.java.source> 156 <sonar.java.target>1.5</sonar.java.target> 157 </properties> 158 159 <dependencyManagement> 160 <dependencies> 161 <!-- Project dependencies --> 162 <dependency> 163 <groupId>${project.groupId}</groupId> 164 <artifactId>org.jacoco.core</artifactId> 165 <version>${project.version}</version> 166 </dependency> 167 <dependency> 168 <groupId>${project.groupId}</groupId> 169 <artifactId>org.jacoco.report</artifactId> 170 <version>${project.version}</version> 171 </dependency> 172 <dependency> 173 <groupId>${project.groupId}</groupId> 174 <artifactId>org.jacoco.agent</artifactId> 175 <version>${project.version}</version> 176 </dependency> 177 <dependency> 178 <groupId>${project.groupId}</groupId> 179 <artifactId>org.jacoco.agent</artifactId> 180 <classifier>runtime</classifier> 181 <version>${project.version}</version> 182 </dependency> 183 <dependency> 184 <groupId>${project.groupId}</groupId> 185 <artifactId>org.jacoco.agent.rt</artifactId> 186 <version>${project.version}</version> 187 </dependency> 188 <dependency> 189 <groupId>${project.groupId}</groupId> 190 <artifactId>org.jacoco.ant</artifactId> 191 <version>${project.version}</version> 192 </dependency> 193 <dependency> 194 <groupId>${project.groupId}</groupId> 195 <artifactId>org.jacoco.ant</artifactId> 196 <classifier>nodeps</classifier> 197 <version>${project.version}</version> 198 </dependency> 199 <dependency> 200 <groupId>${project.groupId}</groupId> 201 <artifactId>org.jacoco.examples</artifactId> 202 <version>${project.version}</version> 203 </dependency> 204 <!-- Third-party dependencies --> 205 <dependency> 206 <groupId>org.ow2.asm</groupId> 207 <artifactId>asm-debug-all</artifactId> 208 <version>${asm.version}</version> 209 </dependency> 210 <dependency> 211 <groupId>org.apache.ant</groupId> 212 <artifactId>ant</artifactId> 213 <version>${ant.version}</version> 214 </dependency> 215 <dependency> 216 <groupId>org.apache.ant</groupId> 217 <artifactId>ant-junit</artifactId> 218 <version>${ant.version}</version> 219 </dependency> 220 <dependency> 221 <groupId>org.apache.ant</groupId> 222 <artifactId>ant-antunit</artifactId> 223 <version>1.2</version> 224 </dependency> 225 <dependency> 226 <groupId>junit</groupId> 227 <artifactId>junit</artifactId> 228 <version>${junit.version}</version> 229 </dependency> 230 </dependencies> 231 </dependencyManagement> 232 233 <build> 234 <resources> 235 <resource> 236 <directory>src</directory> 237 <filtering>false</filtering> 238 <excludes> 239 <exclude>**/*.java</exclude> 240 <exclude>**/*.properties</exclude> 241 </excludes> 242 </resource> 243 <resource> 244 <directory>src</directory> 245 <filtering>true</filtering> 246 <includes> 247 <include>**/*.properties</include> 248 </includes> 249 </resource> 250 <resource> 251 <directory>.</directory> 252 <filtering>true</filtering> 253 <includes> 254 <include>about.html</include> 255 </includes> 256 </resource> 257 </resources> 258 259 <pluginManagement> 260 <plugins> 261 <!-- Apache plugins --> 262 <plugin> 263 <groupId>org.apache.maven.plugins</groupId> 264 <artifactId>maven-antrun-plugin</artifactId> 265 <version>1.6</version> 266 </plugin> 267 <plugin> 268 <groupId>org.apache.maven.plugins</groupId> 269 <artifactId>maven-assembly-plugin</artifactId> 270 <version>2.2.1</version> 271 </plugin> 272 <plugin> 273 <groupId>org.apache.maven.plugins</groupId> 274 <artifactId>maven-clean-plugin</artifactId> 275 <version>2.4.1</version> 276 </plugin> 277 <plugin> 278 <groupId>org.apache.maven.plugins</groupId> 279 <artifactId>maven-compiler-plugin</artifactId> 280 <version>2.3.2</version> 281 </plugin> 282 <plugin> 283 <groupId>org.apache.maven.plugins</groupId> 284 <artifactId>maven-dependency-plugin</artifactId> 285 <version>2.2</version> 286 </plugin> 287 <plugin> 288 <groupId>org.apache.maven.plugins</groupId> 289 <artifactId>maven-deploy-plugin</artifactId> 290 <version>2.8.2</version> 291 </plugin> 292 <plugin> 293 <groupId>org.apache.maven.plugins</groupId> 294 <artifactId>maven-enforcer-plugin</artifactId> 295 <version>1.0.1</version> 296 </plugin> 297 <plugin> 298 <groupId>org.apache.maven.plugins</groupId> 299 <artifactId>maven-install-plugin</artifactId> 300 <version>2.3.1</version> 301 </plugin> 302 <plugin> 303 <groupId>org.apache.maven.plugins</groupId> 304 <artifactId>maven-invoker-plugin</artifactId> 305 <version>1.8</version> 306 </plugin> 307 <plugin> 308 <groupId>org.apache.maven.plugins</groupId> 309 <artifactId>maven-gpg-plugin</artifactId> 310 <version>1.3</version> 311 </plugin> 312 <plugin> 313 <groupId>org.apache.maven.plugins</groupId> 314 <artifactId>maven-jar-plugin</artifactId> 315 <version>2.3.1</version> 316 </plugin> 317 <plugin> 318 <groupId>org.apache.maven.plugins</groupId> 319 <artifactId>maven-jarsigner-plugin</artifactId> 320 <version>1.2</version> 321 </plugin> 322 <plugin> 323 <groupId>org.apache.maven.plugins</groupId> 324 <artifactId>maven-javadoc-plugin</artifactId> 325 <version>2.8</version> 326 <configuration> 327 <quiet>true</quiet> 328 <detectOfflineLinks>false</detectOfflineLinks> 329 </configuration> 330 </plugin> 331 <plugin> 332 <groupId>org.apache.maven.plugins</groupId> 333 <artifactId>maven-plugin-plugin</artifactId> 334 <version>3.3</version> 335 </plugin> 336 <plugin> 337 <groupId>org.apache.maven.plugins</groupId> 338 <artifactId>maven-release-plugin</artifactId> 339 <version>2.1</version> 340 <configuration> 341 <autoVersionSubmodules>true</autoVersionSubmodules> 342 <mavenExecutorId>forked-path</mavenExecutorId> 343 <useReleaseProfile>false</useReleaseProfile> 344 <!-- 345 Allows to activate release profile during release. 346 We don't use releaseProfiles parameter, because it affects only release:perform goal 347 --> 348 <arguments>-Prelease</arguments> 349 </configuration> 350 </plugin> 351 <plugin> 352 <groupId>org.apache.maven.plugins</groupId> 353 <artifactId>maven-resources-plugin</artifactId> 354 <version>2.5</version> 355 </plugin> 356 <plugin> 357 <groupId>org.apache.maven.plugins</groupId> 358 <artifactId>maven-shade-plugin</artifactId> 359 <version>1.4</version> 360 </plugin> 361 <plugin> 362 <groupId>org.apache.maven.plugins</groupId> 363 <artifactId>maven-source-plugin</artifactId> 364 <version>2.1.2</version> 365 </plugin> 366 <plugin> 367 <groupId>org.apache.maven.plugins</groupId> 368 <artifactId>maven-surefire-plugin</artifactId> 369 <version>2.9</version> 370 </plugin> 371 <plugin> 372 <groupId>org.apache.maven.plugins</groupId> 373 <artifactId>maven-site-plugin</artifactId> 374 <version>3.3</version> 375 </plugin> 376 <plugin> 377 <groupId>org.apache.maven.plugins</groupId> 378 <artifactId>maven-toolchains-plugin</artifactId> 379 <version>1.0</version> 380 </plugin> 381 <!-- Mojo plugins --> 382 <plugin> 383 <groupId>org.codehaus.mojo</groupId> 384 <artifactId>animal-sniffer-maven-plugin</artifactId> 385 <version>1.6</version> 386 </plugin> 387 <plugin> 388 <groupId>org.codehaus.mojo</groupId> 389 <artifactId>build-helper-maven-plugin</artifactId> 390 <version>1.5</version> 391 </plugin> 392 <plugin> 393 <groupId>org.codehaus.mojo</groupId> 394 <artifactId>buildnumber-maven-plugin</artifactId> 395 <version>1.2</version> 396 </plugin> 397 <plugin> 398 <groupId>org.codehaus.mojo</groupId> 399 <artifactId>xml-maven-plugin</artifactId> 400 <version>1.0</version> 401 </plugin> 402 <!-- Third-party plugins --> 403 <plugin> 404 <groupId>org.codehaus.groovy.maven</groupId> 405 <artifactId>gmaven-plugin</artifactId> 406 <version>1.0</version> 407 </plugin> 408 </plugins> 409 </pluginManagement> 410 411 <plugins> 412 <plugin> 413 <groupId>org.apache.maven.plugins</groupId> 414 <artifactId>maven-surefire-plugin</artifactId> 415 <configuration> 416 <testSourceDirectory>${project.build.sourceDirectory}</testSourceDirectory> 417 <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory> 418 </configuration> 419 </plugin> 420 421 <plugin> 422 <groupId>org.apache.maven.plugins</groupId> 423 <artifactId>maven-resources-plugin</artifactId> 424 <configuration> 425 <!-- We can't use delimiters "${*}" and "$*$" together - probably it's bug in plugin --> 426 <!-- so for now we will define only our delimiters in compliance with https://sourceforge.net/apps/trac/eclemma/changeset/1229 --> 427 <!-- but it would be better to use defaults --> 428 <useDefaultDelimiters>false</useDefaultDelimiters> 429 <delimiters> 430 <delimiter>@*@</delimiter> 431 <delimiter>$*$</delimiter> 432 </delimiters> 433 </configuration> 434 </plugin> 435 436 <plugin> 437 <groupId>org.apache.maven.plugins</groupId> 438 <artifactId>maven-shade-plugin</artifactId> 439 <configuration> 440 <filters> 441 <!-- Don't include signatures --> 442 <filter> 443 <artifact>*:*</artifact> 444 <excludes> 445 <exclude>META-INF/*.SF</exclude> 446 <exclude>META-INF/*.DSA</exclude> 447 <exclude>META-INF/*.RSA</exclude> 448 </excludes> 449 </filter> 450 </filters> 451 <transformers> 452 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 453 <manifestEntries> 454 <Implementation-Title>${project.description}</Implementation-Title> 455 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> 456 <Implementation-Version>${project.version}</Implementation-Version> 457 </manifestEntries> 458 </transformer> 459 </transformers> 460 </configuration> 461 </plugin> 462 463 <plugin> 464 <groupId>org.apache.maven.plugins</groupId> 465 <artifactId>maven-assembly-plugin</artifactId> 466 <configuration> 467 <archiverConfig> 468 <!-- Workaround for http://jira.codehaus.org/browse/MASSEMBLY-422 --> 469 <!-- 420(dec) = 644(oct) --> 470 <fileMode>420</fileMode> 471 <!-- 493(dec) = 755(oct) --> 472 <directoryMode>493</directoryMode> 473 <defaultDirectoryMode>493</defaultDirectoryMode> 474 </archiverConfig> 475 </configuration> 476 </plugin> 477 478 <plugin> 479 <groupId>org.apache.maven.plugins</groupId> 480 <artifactId>maven-enforcer-plugin</artifactId> 481 <executions> 482 <execution> 483 <id>enforce</id> 484 <phase>validate</phase> 485 <goals> 486 <goal>enforce</goal> 487 </goals> 488 <configuration> 489 <rules> 490 <requireNoRepositories> 491 <message>The rules for repo1.maven.org are that pom.xml files should not include repository definitions.</message> 492 <banRepositories>true</banRepositories> 493 <banPluginRepositories>true</banPluginRepositories> 494 </requireNoRepositories> 495 <requireReleaseDeps> 496 <message>No SNAPSHOT versions allowed for dependencies</message> 497 <onlyWhenRelease>true</onlyWhenRelease> 498 </requireReleaseDeps> 499 <requireMavenVersion> 500 <!-- Maven 3.0.3 contains bug - see http://jira.codehaus.org/browse/MINVOKER-107 --> 501 <version>[2.2.1,3.0.0),[3.0.4,)</version> 502 </requireMavenVersion> 503 </rules> 504 </configuration> 505 </execution> 506 </executions> 507 </plugin> 508 509 <plugin> 510 <groupId>org.apache.maven.plugins</groupId> 511 <artifactId>maven-antrun-plugin</artifactId> 512 <executions> 513 <execution> 514 <id>check-license-header</id> 515 <phase>validate</phase> 516 <goals> 517 <goal>run</goal> 518 </goals> 519 <configuration> 520 <target> 521 <fileset dir="${basedir}" includes="**/*.java,**/*.xml,**/*.bsh" excludes="target/**,.idea/**,nb-configuration.xml" id="missinglicense.fileset"> 522 <not> 523 <and> 524 <contains text="Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors"/> 525 <contains text="All rights reserved. This program and the accompanying materials"/> 526 <contains text="are made available under the terms of the Eclipse Public License v1.0"/> 527 <contains text="which accompanies this distribution, and is available at"/> 528 <contains text="http://www.eclipse.org/legal/epl-v10.html"/> 529 </and> 530 </not> 531 </fileset> 532 <pathconvert property="missing" refid="missinglicense.fileset"/> 533 <fail message="Invalid license info in: ${missing}"> 534 <condition> 535 <not> 536 <equals arg1="${missing}" arg2=""/> 537 </not> 538 </condition> 539 </fail> 540 </target> 541 </configuration> 542 </execution> 543 </executions> 544 </plugin> 545 546 <plugin> 547 <groupId>org.codehaus.mojo</groupId> 548 <artifactId>build-helper-maven-plugin</artifactId> 549 <executions> 550 <execution> 551 <id>parse-version</id> 552 <phase>validate</phase> 553 <goals> 554 <goal>parse-version</goal> 555 </goals> 556 </execution> 557 </executions> 558 </plugin> 559 560 <plugin> 561 <groupId>org.codehaus.mojo</groupId> 562 <artifactId>buildnumber-maven-plugin</artifactId> 563 <executions> 564 <execution> 565 <phase>validate</phase> 566 <goals> 567 <goal>create</goal> 568 </goals> 569 </execution> 570 </executions> 571 <configuration> 572 <doCheck>false</doCheck> 573 <doUpdate>false</doUpdate> 574 <getRevisionOnlyOnce>true</getRevisionOnlyOnce> 575 <revisionOnScmFailure>0000000</revisionOnScmFailure> 576 </configuration> 577 </plugin> 578 579 <plugin> 580 <groupId>org.codehaus.groovy.maven</groupId> 581 <artifactId>gmaven-plugin</artifactId> 582 <executions> 583 <execution> 584 <id>parse-version</id> 585 <phase>validate</phase> 586 <goals> 587 <goal>execute</goal> 588 </goals> 589 <configuration> 590 <source> 591 major = project.properties['parsedVersion.majorVersion'] 592 minor = project.properties['parsedVersion.minorVersion'] 593 incremental = project.properties['parsedVersion.incrementalVersion'] 594 qualifier = "${maven.build.timestamp}" 595 project.properties['buildQualifier'] = qualifier 596 project.properties['unqualifiedVersion'] = major + '.' + minor + '.' + incremental 597 project.properties['qualified.bundle.version'] = project.properties['unqualifiedVersion'] + '.' + project.properties['buildQualifier'] 598 project.properties['build.date'] = qualifier.substring(0, 4) + '/' + qualifier.substring(4, 6) + '/' + qualifier.substring(6, 8) 599 buildNumber = project.properties['buildNumber'] 600 project.properties['jacoco.runtime.package.name'] = "org.jacoco.agent.rt.internal_" + buildNumber.substring(buildNumber.length() - 7, buildNumber.length()) 601 </source> 602 </configuration> 603 </execution> 604 </executions> 605 </plugin> 606 </plugins> 607 </build> 608 609 <profiles> 610 <!-- This profile is used to launch tests with different JDK versions. --> 611 <profile> 612 <id>integration-tests</id> 613 <activation> 614 <property> 615 <name>jdk.version</name> 616 </property> 617 </activation> 618 <build> 619 <plugins> 620 <!-- See http://maven.apache.org/guides/mini/guide-using-toolchains.html --> 621 <plugin> 622 <groupId>org.apache.maven.plugins</groupId> 623 <artifactId>maven-toolchains-plugin</artifactId> 624 <executions> 625 <execution> 626 <phase>validate</phase> 627 <goals> 628 <goal>toolchain</goal> 629 </goals> 630 </execution> 631 </executions> 632 <configuration> 633 <toolchains> 634 <jdk> 635 <version>${jdk.version}</version> 636 </jdk> 637 </toolchains> 638 </configuration> 639 </plugin> 640 </plugins> 641 </build> 642 </profile> 643 644 <!-- This profile is used to launch tests with compilation into specific bytecode version. --> 645 <profile> 646 <id>bytecode</id> 647 <activation> 648 <property> 649 <name>bytecode.version</name> 650 </property> 651 </activation> 652 <properties> 653 <maven.compiler.source>${bytecode.version}</maven.compiler.source> 654 <maven.compiler.target>${bytecode.version}</maven.compiler.target> 655 </properties> 656 </profile> 657 658 <profile> 659 <id>jdk16</id> 660 <activation> 661 <property> 662 <name>jdk.version</name> 663 <value>1.6</value> 664 </property> 665 </activation> 666 <properties> 667 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 668 </properties> 669 </profile> 670 671 <profile> 672 <id>jdk17</id> 673 <activation> 674 <property> 675 <name>jdk.version</name> 676 <value>1.7</value> 677 </property> 678 </activation> 679 <properties> 680 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 681 </properties> 682 </profile> 683 684 <profile> 685 <id>jdk18</id> 686 <activation> 687 <property> 688 <name>jdk.version</name> 689 <value>1.8</value> 690 </property> 691 </activation> 692 <properties> 693 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 694 </properties> 695 </profile> 696 697 <profile> 698 <id>sign</id> 699 <activation> 700 <property> 701 <name>jarsigner.alias</name> 702 </property> 703 </activation> 704 <build> 705 <plugins> 706 <plugin> 707 <groupId>org.apache.maven.plugins</groupId> 708 <artifactId>maven-jarsigner-plugin</artifactId> 709 <executions> 710 <execution> 711 <id>sign</id> 712 <goals> 713 <goal>sign</goal> 714 </goals> 715 <configuration> 716 <arguments> 717 <!-- TODO Godin: there is no parameters for TSA in plugin, so we use workaround - see http://jira.codehaus.org/browse/MJARSIGNER-16 --> 718 <argument>-tsa</argument> 719 <argument>${jarsigner.tsa}</argument> 720 <argument>-tsacert</argument> 721 <argument>${jarsigner.tsacert}</argument> 722 </arguments> 723 </configuration> 724 </execution> 725 </executions> 726 </plugin> 727 </plugins> 728 </build> 729 </profile> 730 731 <profile> 732 <id>manifest</id> 733 <activation> 734 <file> 735 <exists>META-INF/MANIFEST.MF</exists> 736 </file> 737 </activation> 738 <properties> 739 <bundle-manifest>${project.build.directory}/META-INF/MANIFEST.MF</bundle-manifest> 740 </properties> 741 <build> 742 <plugins> 743 <plugin> 744 <groupId>org.apache.maven.plugins</groupId> 745 <artifactId>maven-antrun-plugin</artifactId> 746 <executions> 747 <execution> 748 <id>translate-qualifier</id> 749 <phase>generate-resources</phase> 750 <configuration> 751 <target> 752 <copy file="META-INF/MANIFEST.MF" tofile="${bundle-manifest}" overwrite="true"/> 753 <replace file="${bundle-manifest}"> 754 <replacefilter token=".qualifier" value=".${buildQualifier}"/> 755 </replace> 756 </target> 757 </configuration> 758 <goals> 759 <goal>run</goal> 760 </goals> 761 </execution> 762 </executions> 763 </plugin> 764 <plugin> 765 <groupId>org.apache.maven.plugins</groupId> 766 <artifactId>maven-jar-plugin</artifactId> 767 <configuration> 768 <archive> 769 <manifestFile>${bundle-manifest}</manifestFile> 770 <manifestEntries> 771 <Eclipse-SourceReferences>scm:git:git://github.com/jacoco/jacoco.git;path="${project.artifactId}";commitId=${buildNumber}</Eclipse-SourceReferences> 772 </manifestEntries> 773 </archive> 774 </configuration> 775 </plugin> 776 </plugins> 777 </build> 778 </profile> 779 780 <profile> 781 <id>sources</id> 782 <activation> 783 <file> 784 <exists>src/</exists> 785 </file> 786 </activation> 787 <build> 788 <plugins> 789 <!-- Generates jar with sources --> 790 <plugin> 791 <groupId>org.apache.maven.plugins</groupId> 792 <artifactId>maven-source-plugin</artifactId> 793 <executions> 794 <execution> 795 <id>attach-sources</id> 796 <phase>verify</phase> 797 <goals> 798 <goal>jar-no-fork</goal> 799 </goals> 800 </execution> 801 </executions> 802 </plugin> 803 <!-- Generates Javadoc --> 804 <plugin> 805 <groupId>org.apache.maven.plugins</groupId> 806 <artifactId>maven-javadoc-plugin</artifactId> 807 <executions> 808 <execution> 809 <id>attach-javadocs</id> 810 <goals> 811 <goal>jar</goal> 812 </goals> 813 </execution> 814 </executions> 815 </plugin> 816 </plugins> 817 </build> 818 </profile> 819 820 <!-- This profile is activated when a project is released. --> 821 <profile> 822 <id>release</id> 823 <build> 824 <plugins> 825 <plugin> 826 <groupId>org.apache.maven.plugins</groupId> 827 <artifactId>maven-enforcer-plugin</artifactId> 828 <inherited>false</inherited> 829 <executions> 830 <execution> 831 <id>enforce-release-rules</id> 832 <phase>verify</phase> 833 <goals> 834 <goal>enforce</goal> 835 </goals> 836 <configuration> 837 <rules> 838 <!-- 839 <requireActiveProfile> 840 <message>You must sign JARs during release.</message> 841 <profiles>sign</profiles> 842 </requireActiveProfile> 843 --> 844 <requireReleaseVersion/> 845 <requireProperty> 846 <property>buildNumber</property> 847 <regex>[0-9a-f]{40}</regex> 848 </requireProperty> 849 </rules> 850 </configuration> 851 </execution> 852 </executions> 853 </plugin> 854 <!-- Checks compatibility with Java API --> 855 <plugin> 856 <groupId>org.codehaus.mojo</groupId> 857 <artifactId>animal-sniffer-maven-plugin</artifactId> 858 <executions> 859 <execution> 860 <id>enforce-java-api-compatibility</id> 861 <phase>verify</phase> 862 <goals> 863 <goal>check</goal> 864 </goals> 865 <configuration> 866 <signature> 867 <groupId>org.codehaus.mojo.signature</groupId> 868 <artifactId>java15</artifactId> 869 <version>1.0</version> 870 </signature> 871 </configuration> 872 </execution> 873 </executions> 874 </plugin> 875 <!-- Signs artifacts --> 876 <plugin> 877 <groupId>org.apache.maven.plugins</groupId> 878 <artifactId>maven-gpg-plugin</artifactId> 879 <executions> 880 <execution> 881 <id>sign-artifacts</id> 882 <phase>verify</phase> 883 <goals> 884 <goal>sign</goal> 885 </goals> 886 </execution> 887 </executions> 888 </plugin> 889 </plugins> 890 </build> 891 </profile> 892 893 <!-- This profile is active only when used from Eclipse m2e and is used only to store settings. --> 894 <profile> 895 <id>m2e</id> 896 <activation> 897 <property> 898 <name>m2e.version</name> 899 </property> 900 </activation> 901 <build> 902 <pluginManagement> 903 <plugins> 904 <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> 905 <plugin> 906 <groupId>org.eclipse.m2e</groupId> 907 <artifactId>lifecycle-mapping</artifactId> 908 <version>1.0.0</version> 909 <configuration> 910 <lifecycleMappingMetadata> 911 <pluginExecutions> 912 <pluginExecution> 913 <pluginExecutionFilter> 914 <groupId>org.apache.maven.plugins</groupId> 915 <artifactId>maven-antrun-plugin</artifactId> 916 <versionRange>[0,)</versionRange> 917 <goals> 918 <goal>run</goal> 919 </goals> 920 </pluginExecutionFilter> 921 <action> 922 <ignore></ignore> 923 </action> 924 </pluginExecution> 925 <pluginExecution> 926 <pluginExecutionFilter> 927 <groupId>org.apache.maven.plugins</groupId> 928 <artifactId>maven-invoker-plugin</artifactId> 929 <versionRange>[0,)</versionRange> 930 <goals> 931 <goal>install</goal> 932 </goals> 933 </pluginExecutionFilter> 934 <action> 935 <ignore></ignore> 936 </action> 937 </pluginExecution> 938 <pluginExecution> 939 <pluginExecutionFilter> 940 <groupId>org.apache.maven.plugins</groupId> 941 <artifactId>maven-dependency-plugin</artifactId> 942 <versionRange>[0,)</versionRange> 943 <goals> 944 <goal>unpack</goal> 945 <goal>copy-dependencies</goal> 946 </goals> 947 </pluginExecutionFilter> 948 <action> 949 <ignore></ignore> 950 </action> 951 </pluginExecution> 952 <pluginExecution> 953 <pluginExecutionFilter> 954 <groupId>org.codehaus.groovy.maven</groupId> 955 <artifactId>gmaven-plugin</artifactId> 956 <versionRange>[0,)</versionRange> 957 <goals> 958 <goal>execute</goal> 959 </goals> 960 </pluginExecutionFilter> 961 <action> 962 <ignore></ignore> 963 </action> 964 </pluginExecution> 965 <pluginExecution> 966 <pluginExecutionFilter> 967 <groupId>org.codehaus.mojo</groupId> 968 <artifactId>xml-maven-plugin</artifactId> 969 <versionRange>[0,)</versionRange> 970 <goals> 971 <goal>transform</goal> 972 </goals> 973 </pluginExecutionFilter> 974 <action> 975 <ignore></ignore> 976 </action> 977 </pluginExecution> 978 <pluginExecution> 979 <pluginExecutionFilter> 980 <groupId>org.jacoco</groupId> 981 <artifactId>jacoco-maven-plugin</artifactId> 982 <versionRange>[0,)</versionRange> 983 <goals> 984 <goal>prepare-agent</goal> 985 </goals> 986 </pluginExecutionFilter> 987 <action> 988 <ignore></ignore> 989 </action> 990 </pluginExecution> 991 <pluginExecution> 992 <pluginExecutionFilter> 993 <groupId>org.apache.maven.plugins</groupId> 994 <artifactId>maven-enforcer-plugin</artifactId> 995 <versionRange>[0,)</versionRange> 996 <goals> 997 <goal>enforce</goal> 998 </goals> 999 </pluginExecutionFilter> 1000 <action> 1001 <ignore></ignore> 1002 </action> 1003 </pluginExecution> 1004 <pluginExecution> 1005 <pluginExecutionFilter> 1006 <groupId>org.codehaus.mojo</groupId> 1007 <artifactId>build-helper-maven-plugin</artifactId> 1008 <versionRange>[0,)</versionRange> 1009 <goals> 1010 <goal>parse-version</goal> 1011 </goals> 1012 </pluginExecutionFilter> 1013 <action> 1014 <ignore></ignore> 1015 </action> 1016 </pluginExecution> 1017 </pluginExecutions> 1018 </lifecycleMappingMetadata> 1019 </configuration> 1020 </plugin> 1021 </plugins> 1022 </pluginManagement> 1023 </build> 1024 </profile> 1025 </profiles> 1026 1027 </project> 1028