META-INF.maven.net.bytebuddy.byte-buddy-dep.pom.xml Maven / Gradle / Ivy
<?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> <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> <version>1.15.1</version> </parent> <!-- About precompilation: This module contains compiled class files which require a given Java version to meet all properties. To avoid that the build target Java version conflicts with this required version, precompiled files are used unless those files are supposed to be built from source which can be activated by a given profile. This functionality is mainly required for tests but is also used for adding some Advice templates. Unfortunately, it is not possible in Maven to disable a profile from another profile. Therefore, profiles must be activated by setting properties with the same name as the profiles for precompilation. This requires a minimal change in syntax by substituting a 'P' with a 'D'. It is also possible to compile the native method sample by using the 'native-compile' profile on Linux. --> <artifactId>byte-buddy-dep</artifactId> <packaging>jar</packaging> <name>Byte Buddy (with dependencies)</name> <description> Byte Buddy is a Java library for creating Java classes at run time. This artifact is a build of Byte Buddy with a remaining dependency onto ASM. You should never depend on this module without repackaging Byte Buddy and ASM into your own namespace. </description> <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> <exclusions> <exclusion> <groupId>org.ow2.asm</groupId> <artifactId>asm-analysis</artifactId> </exclusion> <exclusion> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${version.jna}</version> <scope>provided</scope> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>${version.jna}</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${version.junit}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${version.mockito}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> </exclusion> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-util</artifactId> <version>${version.asm}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-analysis</artifactId> <version>${version.asm}</version> <scope>test</scope> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>..</directory> <targetPath>META-INF</targetPath> <filtering>true</filtering> <includes> <include>LICENSE</include> <include>NOTICE</include> </includes> </resource> </resources> <plugins> <!-- Create hashCode/equals method and cache some expensive properties. --> <plugin> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-maven-plugin</artifactId> <version>1.15.0</version> <executions> <execution> <phase>compile</phase> <goals> <goal>transform</goal> </goals> <configuration> <initialization> <entryPoint>REDEFINE</entryPoint> </initialization> <transformations> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.15.0</version> <plugin>net.bytebuddy.build.HashCodeAndEqualsPlugin$WithNonNullableFields</plugin> <arguments> <argument> <index>0</index> <value>net.bytebuddy.utility.nullability.MaybeNull</value> </argument> </arguments> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.15.0</version> <plugin>net.bytebuddy.build.CachedReturnPlugin</plugin> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.15.0</version> <plugin>net.bytebuddy.build.AccessControllerPlugin</plugin> <arguments> <argument> <index>0</index> <value>net.bytebuddy.securitymanager</value> </argument> </arguments> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.15.0</version> <plugin>net.bytebuddy.build.DispatcherAnnotationPlugin</plugin> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.15.0</version> <plugin>net.bytebuddy.build.RepeatedAnnotationPlugin</plugin> </transformation> </transformations> </configuration> </execution> </executions> </plugin> </plugins> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${version.plugin.javadoc}</version> <configuration> <offlineLinks> <!-- Use previously downloaded 'package-list' file as substitute for published 'element-list' file. --> <link> <url>https://javadoc.io/doc/org.ow2.asm/asm/${version.asm}</url> <location>${project.basedir}/target/javadoc-lists/asm-${version.asm}</location> </link> </offlineLinks> <links> <link>https://javadoc.io/doc/net.java.dev.jna/jna/${version.jna}</link> </links> </configuration> </plugin> </plugins> </pluginManagement> </build> <profiles> <profile> <id>build-java-7</id> <activation> <activeByDefault>false</activeByDefault> <jdk>1.7</jdk> </activation> <build> <plugins> <!-- Avoids occasional segfault. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${version.plugin.surefire}</version> <configuration combine.children="append"> <excludes> <exclude>net.bytebuddy.asm.MemberSubstitution</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>build-java-11</id> <activation> <activeByDefault>false</activeByDefault> <jdk>11</jdk> </activation> <build> <plugins> <!-- Avoids occasional segfault. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${version.plugin.surefire}</version> <configuration combine.children="append"> <excludes> <exclude>net.bytebuddy.description.type.TypeDescriptionArrayProjectionTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionForLoadedAnnotationTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionForLoadedAnnotationDifferentClassLoaderTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionLatentTest</exclude> <exclude>net.bytebuddy.pool.TypePoolDefaultAnnotationDescriptionTest</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>build-java-17-windows</id> <activation> <activeByDefault>false</activeByDefault> <jdk>17</jdk> <os> <family>Windows</family> </os> </activation> <build> <plugins> <!-- Avoids occasional segfault. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${version.plugin.surefire}</version> <configuration combine.children="append"> <excludes> <exclude>net.bytebuddy.description.type.TypeDescriptionArrayProjectionTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionForLoadedAnnotationTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionForLoadedAnnotationDifferentClassLoaderTest</exclude> <exclude>net.bytebuddy.description.annotation.AnnotationDescriptionLatentTest</exclude> <exclude>net.bytebuddy.pool.TypePoolDefaultAnnotationDescriptionTest</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>extras</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <!-- Download 'element-list' file which is published by newer javadoc versions, store as 'package-list' file. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>download-javadoc-lists</id> <phase>process-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${javadoc.download.skip}</skip> <target> <mkdir dir="${project.basedir}/target/javadoc-lists/asm-${version.asm}" /> <get src="https://javadoc.io/doc/org.ow2.asm/asm/${version.asm}/element-list" dest="${project.basedir}/target/javadoc-lists/asm-${version.asm}/package-list" skipexisting="true" /> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>native-compile</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${version.plugin.exec}</version> <executions> <execution> <id>compile-test</id> <phase>compile</phase> <goals> <goal>exec</goal> </goals> <configuration> <executable>gcc</executable> <arguments> <argument>-fPIC</argument> <argument>-I${java.home}/../include</argument> <argument>-I${java.home}/../include/linux</argument> <argument>-I${project.basedir}/src/test/c</argument> <argument>-shared</argument> <argument>-o</argument> <argument>${project.basedir}/src/test/resources/net_bytebuddy_test_c_NativeSample.so</argument> <argument>${project.basedir}/src/test/c/net_bytebuddy_test_c_NativeSample.c</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Precompilation configuration for Java 1.4 class files. --> <profile> <id>java-4-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-4-precompile</name> </property> </activation> <properties> <sourcecode.test.version>1.4</sourcecode.test.version> <bytecode.test.version>1.4</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-4-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-4</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${version.plugin.compiler}</version> <executions> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> <configuration> <testIncludes> <include>net/bytebuddy/test/precompiled/v4/**</include> </testIncludes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-4-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-4"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v4/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-4-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-4-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-4</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 1.4 (JSR 14) class files. --> <profile> <id>java-4-jsr14-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-4-jsr14-precompile</name> </property> </activation> <properties> <version.plugin.compiler>2.0.1</version.plugin.compiler> <sourcecode.test.version>1.4</sourcecode.test.version> <bytecode.test.version>jsr14</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-4-jsr14-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-4-jsr14</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${version.plugin.compiler}</version> <executions> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> <configuration> <target>${bytecode.test.version}</target> <testIncludes> <include>net/bytebuddy/test/precompiled/v4jsr14/**</include> </testIncludes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-4-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-4-jsr14"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v4jsr14/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-4-jsr14-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-4-jsr14-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-4-jsr14</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 1.6 class files. --> <profile> <id>java-6-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-6-precompile</name> </property> </activation> <properties> <bytecode.main.version>1.6</bytecode.main.version> <bytecode.test.version>1.6</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-6-precompile</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/main/java-6</source> </sources> </configuration> </execution> <execution> <id>java-6-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-6</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-6-precompile-copy</id> <phase>process-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/main/precompiled-6"> <fileset dir="${project.build.outputDirectory}" includes="net/bytebuddy/build/CachedReturnPlugin$Advice$*.class" /> </copy> </target> </configuration> </execution> <execution> <id>java-6-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-6"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v6/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-6-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-6-precompile</name> </property> </activation> <build> <resources> <resource> <directory>src/main/precompiled-6</directory> </resource> </resources> <testResources> <testResource> <directory>src/test/precompiled-6</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 1.7 class files. --> <profile> <id>java-7-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-7-precompile</name> </property> </activation> <properties> <bytecode.main.version>1.7</bytecode.main.version> <bytecode.test.version>1.7</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-7-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-7</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-7-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-7"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v7/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-7-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-7-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-7</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 1.8 class files. --> <profile> <id>java-8-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-8-precompile</name> </property> </activation> <properties> <sourcecode.test.version>1.8</sourcecode.test.version> <bytecode.test.version>1.8</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-8-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-8</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-8-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-8"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v8/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-8-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-8-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-8</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 1.8 (with parameter names) class files. --> <profile> <id>java-8-parameters-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-8-parameters-precompile</name> </property> </activation> <properties> <sourcecode.test.version>1.8</sourcecode.test.version> <bytecode.test.version>1.8</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-8-parameters-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-8-parameters</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${version.plugin.compiler}</version> <executions> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> <configuration> <parameters>true</parameters> <testIncludes> <include>net/bytebuddy/test/precompiled/v8parameters/**</include> </testIncludes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-8-parameters-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-8-parameters"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v8parameters/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-8-parameters-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-8-parameters-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-8-parameters</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 11 class files. --> <profile> <id>java-11-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-11-precompile</name> </property> </activation> <properties> <sourcecode.test.version>11</sourcecode.test.version> <bytecode.test.version>11</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-11-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-11</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-11-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-11"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v11/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-11-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-11-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-11</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 16 class files. --> <profile> <id>java-16-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-16-precompile</name> </property> </activation> <properties> <sourcecode.test.version>16</sourcecode.test.version> <bytecode.test.version>16</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-16-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-16</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-16-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-16"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v16/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-16-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-16-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-16</directory> </testResource> </testResources> </build> </profile> <!-- Precompilation configuration for Java 17 class files. --> <profile> <id>java-17-precompile</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>java-17-precompile</name> </property> </activation> <properties> <sourcecode.test.version>17</sourcecode.test.version> <bytecode.test.version>17</bytecode.test.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.plugin.buildhelper}</version> <executions> <execution> <id>java-17-precompile-test</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>src/test/java-17</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${version.plugin.antrun}</version> <executions> <execution> <id>java-17-precompile-test-copy</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${project.basedir}/src/test/precompiled-17"> <fileset dir="${project.build.testOutputDirectory}" includes="net/bytebuddy/test/precompiled/v17/*.class" /> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>java-17-no-precompile</id> <activation> <activeByDefault>true</activeByDefault> <property> <name>!java-17-precompile</name> </property> </activation> <build> <testResources> <testResource> <directory>src/test/precompiled-17</directory> </testResource> </testResources> </build> </profile> </profiles> </project>