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