| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- <?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.11.22</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://oss.sonatype.org</nexus.url>
- <version.asm>9.2</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.2.4</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>
- <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>http://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.11.22</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>
- </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>
- <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>
- <!-- 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>
- <!-- 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>
|