| <?xml version="1.0" encoding="UTF-8"?> |
| <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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy-parent</artifactId> |
| <version>1.12.10</version> |
| <packaging>pom</packaging> |
| |
| <inceptionYear>2014</inceptionYear> |
| |
| <name>Byte Buddy (parent)</name> |
| <description> |
| Byte Buddy is a Java library for creating Java classes at run time. |
| The parent artifact contains configuration information that concern all modules. |
| </description> |
| <url>https://bytebuddy.net</url> |
| |
| <!-- |
| There are several build profiles available: |
| - extras: Creates additional artifacts containing source files and javadoc. (activated on release) |
| - gpg: Sign all artifacts using gpg. (activated on release) |
| - checks: Applies style checks to the source files. (activated by default, activated on release) |
| - integration: Runs additional unit tests and executes static code analysis (activated on CI server) |
| - android: Builds an Android test application. An Android SDK is required for doing so. (excluded from release) |
| - native-compile: Compiles the native extensions required by Byte Buddy agent. |
| |
| It is also possible to build Byte Buddy against a specific byte code level. By default, Byte Buddy is Java 5 compatible |
| but requires Java 6 to build and to run tests: By activating a profile javaX where X is a specific version number, |
| tests and source are compiled to a differing byte code level. |
| |
| Additionally, the following reports are available via Maven: |
| - jacoco:prepare-agent verify jacoco:report - Computes coverage for test suite (all modules) |
| - org.pitest:pitest-maven:mutationCoverage - Runs mutation tests (all modules) |
| - spotbugs:spotbugs spotbugs:gui - Runs spotbugs and shows a report in a graphical interface (module specific) |
| - com.github.ferstl:jitwatch-jarscan-maven-plugin:scan - Finds all methods above HotSpot's inlining threshold |
| - clirr:check - Checks for binary changes in the API |
| --> |
| |
| <modules> |
| <module>byte-buddy</module> |
| <module>byte-buddy-dep</module> |
| <module>byte-buddy-benchmark</module> |
| <module>byte-buddy-agent</module> |
| <module>byte-buddy-android</module> |
| <module>byte-buddy-android-test</module> |
| <module>byte-buddy-maven-plugin</module> |
| <module>byte-buddy-gradle-plugin</module> |
| </modules> |
| |
| <properties> |
| <copyright.holder>Rafael Winterhalter</copyright.holder> |
| <bytebuddy.extras>false</bytebuddy.extras> |
| <bytebuddy.integration>false</bytebuddy.integration> |
| <bytebuddy.experimental>false</bytebuddy.experimental> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <sourcecode.main.version>1.5</sourcecode.main.version> |
| <sourcecode.test.version>1.6</sourcecode.test.version> |
| <bytecode.main.version>1.5</bytecode.main.version> |
| <bytecode.test.version>1.6</bytecode.test.version> |
| <pitest.target>net.bytebuddy</pitest.target> |
| <asm.url>https://asm.ow2.io</asm.url> |
| <nexus.url>https://s01.oss.sonatype.org</nexus.url> |
| <version.asm>9.3</version.asm> |
| <jna.version>5.8.0</jna.version> |
| <version.junit>4.13.2</version.junit> |
| <version.mockito>2.23.0</version.mockito> |
| <version.plugin.clean>3.0.0</version.plugin.clean> |
| <version.plugin.bundle>3.5.0</version.plugin.bundle> |
| <version.plugin.compiler>3.8.0</version.plugin.compiler> |
| <version.plugin.install>2.5.2</version.plugin.install> |
| <version.plugin.deploy>2.8.2</version.plugin.deploy> |
| <version.plugin.staging>1.6.8</version.plugin.staging> |
| <version.plugin.javadoc>3.3.1</version.plugin.javadoc> |
| <version.plugin.source>3.0.1</version.plugin.source> |
| <version.plugin.shade>3.3.0</version.plugin.shade> |
| <version.plugin.gpg>1.6</version.plugin.gpg> |
| <version.plugin.jxr>2.5</version.plugin.jxr> |
| <version.plugin.buildhelp>1.12</version.plugin.buildhelp> |
| <version.plugin.jar>3.0.2</version.plugin.jar> |
| <version.plugin.site>3.8.2</version.plugin.site> |
| <version.plugin.exec>1.6.0</version.plugin.exec> |
| <version.plugin.plugin>3.6.0</version.plugin.plugin> |
| <version.plugin.release>2.5.3</version.plugin.release> |
| <version.plugin.resources>3.0.2</version.plugin.resources> |
| <version.plugin.surefire>3.0.0-M5</version.plugin.surefire> |
| <version.plugin.pitest>1.2.0</version.plugin.pitest> |
| <version.plugin.animal-sniffer>1.16</version.plugin.animal-sniffer> |
| <version.plugin.enforcer>1.4.1</version.plugin.enforcer> |
| <version.plugin.jacoco>0.8.6</version.plugin.jacoco> |
| <version.plugin.coveralls>4.3.0</version.plugin.coveralls> |
| <version.plugin.checkstyle>2.17</version.plugin.checkstyle> |
| <version.plugin.jitwatch>1.0.1</version.plugin.jitwatch> |
| <version.plugin.clirr>2.8</version.plugin.clirr> |
| <version.plugin.spotbugs>4.2.0</version.plugin.spotbugs> |
| <version.plugin.modulemaker>1.7</version.plugin.modulemaker> |
| <version.plugin.license>3.0</version.plugin.license> |
| <version.plugin.japicmp>0.15.3</version.plugin.japicmp> |
| <version.android.sdk>4.1.1.4</version.android.sdk> |
| <version.utility.findbugs>3.0.1</version.utility.findbugs> |
| <version.utility.jsr305>3.0.2</version.utility.jsr305> |
| <spotbugs.skip>false</spotbugs.skip> |
| <jacoco.skip>false</jacoco.skip> |
| <repository.url>git@github.com:raphw/byte-buddy.git</repository.url> |
| </properties> |
| |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| <comments>A business-friendly OSS license</comments> |
| </license> |
| </licenses> |
| |
| <developers> |
| <developer> |
| <id>raphw</id> |
| <name>Rafael Winterhalter</name> |
| <email>rafael.wth@gmail.com</email> |
| <url>https://rafael.codes</url> |
| <roles> |
| <role>developer</role> |
| </roles> |
| <timezone>+1</timezone> |
| </developer> |
| </developers> |
| |
| <issueManagement> |
| <system>github.com</system> |
| <url>https://github.com/raphw/byte-buddy/issues</url> |
| </issueManagement> |
| |
| <scm> |
| <connection>scm:git:${repository.url}</connection> |
| <developerConnection>scm:git:${repository.url}</developerConnection> |
| <url>${repository.url}</url> |
| <tag>byte-buddy-1.12.10</tag> |
| </scm> |
| |
| <dependencies> |
| <!-- Allows the suppression of spotbugs false-positives by annotations without adding an actual dependency. --> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>findbugs-annotations</artifactId> |
| <version>${version.utility.findbugs}</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- Allow for marking nullability of values.--> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>${version.utility.jsr305}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <!-- Define release properties. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>${version.plugin.release}</version> |
| <configuration> |
| <useReleaseProfile>false</useReleaseProfile> |
| <releaseProfiles>extras,gpg</releaseProfiles> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <tagNameFormat>byte-buddy-@{project.version}</tagNameFormat> |
| </configuration> |
| </plugin> |
| <!-- Enable mutation testing. --> |
| <plugin> |
| <groupId>org.pitest</groupId> |
| <artifactId>pitest-maven</artifactId> |
| <version>${version.plugin.pitest}</version> |
| <configuration> |
| <targetClasses> |
| <param>${pitest.target}.*</param> |
| </targetClasses> |
| <targetTests> |
| <param>${pitest.target}.*</param> |
| </targetTests> |
| </configuration> |
| </plugin> |
| <!-- Configure Jacoco support for evaluating test case coverage. --> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${version.plugin.jacoco}</version> |
| <configuration> |
| <skip>${jacoco.skip}</skip> |
| <includes> |
| <include>net/bytebuddy/**</include> |
| </includes> |
| <excludes> |
| <exclude>net/bytebuddy/benchmark/generated/*</exclude> |
| <!-- Avoid adding synthetic members to test classes as test assert class members. --> |
| <exclude>*Test*</exclude> |
| <exclude>*test*</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <!-- Generate coveralls reports from CI server. --> |
| <plugin> |
| <groupId>org.eluder.coveralls</groupId> |
| <artifactId>coveralls-maven-plugin</artifactId> |
| <version>${version.plugin.coveralls}</version> |
| <configuration> |
| <sourceDirectories> |
| <sourceDirectory>${project.basedir}/byte-buddy-dep/src/precompiled/java</sourceDirectory> |
| </sourceDirectories> |
| </configuration> |
| </plugin> |
| <!-- Also allow for manual spotbugs execution. Note that the generated warnings do not always apply for Byte Buddy's use case. --> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${version.plugin.spotbugs}</version> |
| <configuration> |
| <skip>${spotbugs.skip}</skip> |
| <effort>Max</effort> |
| <threshold>Low</threshold> |
| <xmlOutput>true</xmlOutput> |
| <failOnError>false</failOnError> |
| <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory> |
| </configuration> |
| </plugin> |
| <!-- Enable scanning for methods above the inlining threshold (JDK 7+) --> |
| <plugin> |
| <groupId>com.github.ferstl</groupId> |
| <artifactId>jitwatch-jarscan-maven-plugin</artifactId> |
| <version>${version.plugin.jitwatch}</version> |
| </plugin> |
| <!-- Enable scanning for binary changes between releases --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>clirr-maven-plugin</artifactId> |
| <version>${version.plugin.clirr}</version> |
| </plugin> |
| <!-- Add license headers to all files. --> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>${version.plugin.license}</version> |
| <inherited>false</inherited> |
| <configuration> |
| <header>${project.basedir}/NOTICE</header> |
| <aggregate>true</aggregate> |
| <failIfMissing>true</failIfMissing> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <properties> |
| <current.year>Present</current.year> |
| <copyright.holder>${copyright.holder}</copyright.holder> |
| </properties> |
| <includes> |
| <include>**/main/java/**/*.java</include> |
| <include>**/precompiled/java/**/*.java</include> |
| <include>**/main/c/**/*.c</include> |
| </includes> |
| <strictCheck>true</strictCheck> |
| <mapping> |
| <java>SLASHSTAR_STYLE</java> |
| </mapping> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Setup plugin for deployment to Maven Central. --> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>${version.plugin.staging}</version> |
| <extensions>true</extensions> |
| <configuration> |
| <serverId>central</serverId> |
| <nexusUrl>${nexus.url}</nexusUrl> |
| <autoReleaseAfterClose>true</autoReleaseAfterClose> |
| </configuration> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>${version.plugin.clean}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>${version.plugin.jar}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>${version.plugin.resources}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>${version.plugin.install}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${version.plugin.surefire}</version> |
| <configuration> |
| <systemPropertyVariables> |
| <net.bytebuddy.experimental>${bytebuddy.experimental}</net.bytebuddy.experimental> |
| <net.bytebuddy.test.integration>${bytebuddy.integration}</net.bytebuddy.test.integration> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>${version.plugin.deploy}</version> |
| <configuration> |
| <updateReleaseInfo>true</updateReleaseInfo> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>${version.plugin.site}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${version.plugin.compiler}</version> |
| <inherited>true</inherited> |
| <configuration> |
| <source>${sourcecode.main.version}</source> |
| <target>${bytecode.main.version}</target> |
| <testSource>${sourcecode.test.version}</testSource> |
| <testTarget>${bytecode.test.version}</testTarget> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <showWarnings>true</showWarnings> |
| <showDeprecation>true</showDeprecation> |
| <compilerArgument>-Xlint:all,-options,-processing</compilerArgument> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>${version.plugin.plugin}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${version.asm}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-commons</artifactId> |
| <version>${version.asm}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <!-- Define explicit version to overcome problem with generated reports. --> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>${version.plugin.jxr}</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <distributionManagement> |
| <snapshotRepository> |
| <id>central</id> |
| <url>${nexus.url}/content/repositories/snapshots</url> |
| </snapshotRepository> |
| <repository> |
| <id>central</id> |
| <url>${nexus.url}/service/local/staging/deploy/maven2</url> |
| </repository> |
| </distributionManagement> |
| |
| <profiles> |
| <!-- Runs the build with compatibility for Java 6 JVMs. --> |
| <profile> |
| <id>java6-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>1.6</jdk> |
| </activation> |
| <properties> |
| <version.asm.deprecated>7.1</version.asm.deprecated> |
| <version.plugin.bundle>2.5.4</version.plugin.bundle> |
| <version.plugin.checkstyle>2.15</version.plugin.checkstyle> |
| <version.plugin.compiler>3.6.2</version.plugin.compiler> |
| <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs> |
| <version.plugin.exec>1.5.0</version.plugin.exec> |
| <version.plugin.plugin>3.5.2</version.plugin.plugin> |
| <version.plugin.shade>3.1.1</version.plugin.shade> |
| <version.plugin.surefire>2.22.1</version.plugin.surefire> |
| <version.plugin.javadoc>2.10.4</version.plugin.javadoc> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| <modules> |
| <module>byte-buddy</module> |
| <module>byte-buddy-dep</module> |
| <module>byte-buddy-benchmark</module> |
| <module>byte-buddy-agent</module> |
| <module>byte-buddy-android</module> |
| <module>byte-buddy-maven-plugin</module> |
| <module>byte-buddy-gradle-plugin</module> |
| </modules> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>${version.plugin.plugin}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${version.asm.deprecated}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-commons</artifactId> |
| <version>${version.asm.deprecated}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-deprecated</artifactId> |
| <version>${version.asm.deprecated}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <!-- Runs the build with compatibility for Java 7 JVMs. --> |
| <profile> |
| <id>java7-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>1.7</jdk> |
| </activation> |
| <properties> |
| <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs> |
| <version.plugin.javadoc>3.2.0</version.plugin.javadoc> |
| <version.plugin.japicmp>0.13.1</version.plugin.japicmp> |
| <version.plugin.shade>3.2.4</version.plugin.shade> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 9 JVMs. --> |
| <profile> |
| <id>java9-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>9</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.6</sourcecode.main.version> |
| <sourcecode.test.version>1.6</sourcecode.test.version> |
| <bytecode.main.version>1.6</bytecode.main.version> |
| <bytecode.test.version>1.6</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 10 JVMs. --> |
| <profile> |
| <id>java10-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>10</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.7</sourcecode.main.version> |
| <sourcecode.test.version>1.7</sourcecode.test.version> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 11 JVMs. --> |
| <profile> |
| <id>java11-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>11</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.7</sourcecode.main.version> |
| <sourcecode.test.version>1.7</sourcecode.test.version> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 12 JVMs. --> |
| <profile> |
| <id>java12-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>12</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.7</sourcecode.main.version> |
| <sourcecode.test.version>1.7</sourcecode.test.version> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 13 JVMs. --> |
| <profile> |
| <id>java13-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>13</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.7</sourcecode.main.version> |
| <sourcecode.test.version>1.7</sourcecode.test.version> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 14 JVMs. --> |
| <profile> |
| <id>java14-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>14</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>1.7</sourcecode.main.version> |
| <sourcecode.test.version>1.7</sourcecode.test.version> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 15 JVMs. --> |
| <profile> |
| <id>java15-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>15</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>8</sourcecode.main.version> |
| <sourcecode.test.version>8</sourcecode.test.version> |
| <bytecode.main.version>8</bytecode.main.version> |
| <bytecode.test.version>8</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 16 JVMs. --> |
| <profile> |
| <id>java16-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>16</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>8</sourcecode.main.version> |
| <sourcecode.test.version>8</sourcecode.test.version> |
| <bytecode.main.version>8</bytecode.main.version> |
| <bytecode.test.version>8</bytecode.test.version> |
| <jacoco.skip>true</jacoco.skip> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 15 JVMs. --> |
| <profile> |
| <id>java17-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>17</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>8</sourcecode.main.version> |
| <sourcecode.test.version>8</sourcecode.test.version> |
| <bytecode.main.version>8</bytecode.main.version> |
| <bytecode.test.version>8</bytecode.test.version> |
| <jacoco.skip>true</jacoco.skip> |
| <bytebuddy.experimental>true</bytebuddy.experimental> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 18 JVMs. --> |
| <profile> |
| <id>java18-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>18</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>8</sourcecode.main.version> |
| <sourcecode.test.version>8</sourcecode.test.version> |
| <bytecode.main.version>8</bytecode.main.version> |
| <bytecode.test.version>8</bytecode.test.version> |
| <jacoco.skip>true</jacoco.skip> |
| <bytebuddy.experimental>true</bytebuddy.experimental> |
| </properties> |
| </profile> |
| <!-- Runs the build with compatibility for Java 19 JVMs. --> |
| <profile> |
| <id>java19-compatibility</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <jdk>19</jdk> |
| </activation> |
| <properties> |
| <sourcecode.main.version>8</sourcecode.main.version> |
| <sourcecode.test.version>8</sourcecode.test.version> |
| <bytecode.main.version>8</bytecode.main.version> |
| <bytecode.test.version>8</bytecode.test.version> |
| <jacoco.skip>true</jacoco.skip> |
| <bytebuddy.experimental>true</bytebuddy.experimental> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 6. --> |
| <profile> |
| <id>java6</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>1.6</bytecode.main.version> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 7. --> |
| <profile> |
| <id>java7</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>1.7</bytecode.main.version> |
| <bytecode.test.version>1.7</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 8. --> |
| <profile> |
| <id>java8</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>1.8</bytecode.main.version> |
| <bytecode.test.version>1.8</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 9. --> |
| <profile> |
| <id>java9</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>9</bytecode.main.version> |
| <bytecode.test.version>9</bytecode.test.version> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 10. --> |
| <profile> |
| <id>java10</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>10</bytecode.main.version> |
| <bytecode.test.version>10</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 11. --> |
| <profile> |
| <id>java11</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>11</bytecode.main.version> |
| <bytecode.test.version>11</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 12. --> |
| <profile> |
| <id>java12</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>12</bytecode.main.version> |
| <bytecode.test.version>12</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 13. --> |
| <profile> |
| <id>java13</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>13</bytecode.main.version> |
| <bytecode.test.version>13</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 14. --> |
| <profile> |
| <id>java14</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>14</bytecode.main.version> |
| <bytecode.test.version>14</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 15. --> |
| <profile> |
| <id>java15</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>15</bytecode.main.version> |
| <bytecode.test.version>15</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 16. --> |
| <profile> |
| <id>java16</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>16</bytecode.main.version> |
| <bytecode.test.version>16</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 17. --> |
| <profile> |
| <id>java17</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>17</bytecode.main.version> |
| <bytecode.test.version>17</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 18. --> |
| <profile> |
| <id>java18</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>18</bytecode.main.version> |
| <bytecode.test.version>18</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Builds using a byte code target for Java 18. --> |
| <profile> |
| <id>java19</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytecode.main.version>19</bytecode.main.version> |
| <bytecode.test.version>19</bytecode.test.version> |
| <spotbugs.skip>true</spotbugs.skip> |
| </properties> |
| </profile> |
| <!-- Creates additional artifacts that are required for deployment. --> |
| <profile> |
| <id>extras</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytebuddy.extras>true</bytebuddy.extras> |
| </properties> |
| <build> |
| <plugins> |
| <!-- Create source code artifact. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>${version.plugin.source}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Create javadoc artifact. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${version.plugin.javadoc}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <source>${sourcecode.main.version}</source> |
| <detectJavaApiLink>true</detectJavaApiLink> |
| <links> |
| <link>${asm.url}/javadoc</link> |
| <link>https://javadoc.io/doc/net.java.dev.jna/jna/latest</link> |
| </links> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- Sign any created artifact. (Requires configuration of gpg on the executing machine.) --> |
| <profile> |
| <id>gpg</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <!-- Sign artifacts. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>${version.plugin.gpg}</version> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| <configuration> |
| <gpgArguments> |
| <arg>--pinentry-mode</arg> |
| <arg>loopback</arg> |
| </gpgArguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- Basic checks that are not requiring too much runtime. --> |
| <profile> |
| <id>checks</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <!-- Check style on build. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${version.plugin.checkstyle}</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <configLocation>checkstyle.xml</configLocation> |
| <consoleOutput>true</consoleOutput> |
| <failsOnError>true</failsOnError> |
| <excludes>**/generated/**/*</excludes> |
| <includeResources>false</includeResources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Check API compatibility. --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>animal-sniffer-maven-plugin</artifactId> |
| <version>${version.plugin.animal-sniffer}</version> |
| <executions> |
| <execution> |
| <phase>test</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <signature> |
| <groupId>org.codehaus.mojo.signature</groupId> |
| <artifactId>java15</artifactId> |
| <version>1.0</version> |
| </signature> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Make sure that Byte Buddy does never depend on ASM's tree API. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>${version.plugin.enforcer}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <fail>true</fail> |
| <rules> |
| <bannedDependencies> |
| <includes> |
| <include>org.ow2.asm:asm-tree</include> |
| </includes> |
| </bannedDependencies> |
| <requireMavenVersion> |
| <version>[3.2.5,)</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>[1.6,)</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- Integration profile that executes long-running tasks and additional static code analysis. --> |
| <profile> |
| <id>integration</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <bytebuddy.integration>true</bytebuddy.integration> |
| </properties> |
| <build> |
| <plugins> |
| <!-- Run spotbugs if not specified differently in a module.--> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${version.plugin.spotbugs}</version> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <skip>${spotbugs.skip}</skip> |
| <effort>Max</effort> |
| <threshold>Low</threshold> |
| <xmlOutput>true</xmlOutput> |
| <failOnError>true</failOnError> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |