byte-buddy-maven-plugin

Used in: 0 components

Overview

Description

A plugin for post-processing class files via Byte Buddy in a Maven build.

Snippets

<dependency>
    <groupId>net.bytebuddy</groupId>
    <artifactId>byte-buddy-maven-plugin</artifactId>
    <version>1.17.5</version>
</dependency>

Maven POM File

<?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.17.5</version>
    </parent>

    <artifactId>byte-buddy-maven-plugin</artifactId>
    <packaging>maven-plugin</packaging>

    <name>Byte Buddy Maven plugin</name>
    <description>A plugin for post-processing class files via Byte Buddy in a Maven build.</description>

    <properties>
        <version.maven>3.2.5</version.maven>
        <version.maven.annotation>3.5.2</version.maven.annotation>
        <version.maven.aether>1.1.0</version.maven.aether>
        <version.maven.plexus-build-api>0.0.7</version.maven.plexus-build-api>
        <version.maven.test>3.3.0</version.maven.test>
        <version.slf4j>1.7.36</version.slf4j>
        <version.maven.plexus-archiver>4.8.0</version.maven.plexus-archiver>
        <version.maven.plexus-util>3.4.2</version.maven.plexus-util>
        <version.commons-io>2.14.0</version.commons-io>
        <version.commons-compress>1.26.0</version.commons-compress>
        <version.guava>32.1.2-jre</version.guava>
        <japicmp.skip>true</japicmp.skip>
    </properties>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>byte-buddy</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>${version.maven}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>${version.maven.annotation}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.aether</groupId>
            <artifactId>aether-api</artifactId>
            <version>${version.maven.aether}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
            <version>${version.maven}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.aether</groupId>
            <artifactId>aether-util</artifactId>
            <version>${version.maven.aether}</version>
        </dependency>
        <dependency>
            <groupId>org.sonatype.plexus</groupId>
            <artifactId>plexus-build-api</artifactId>
            <version>${version.maven.plexus-build-api}</version>
        </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.apache.maven</groupId>
            <artifactId>maven-compat</artifactId>
            <version>${version.maven}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-testing</groupId>
            <artifactId>maven-plugin-testing-harness</artifactId>
            <version>${version.maven.test}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>${version.slf4j}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-archiver</artifactId>
                <version>${version.maven.plexus-archiver}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>${version.maven.plexus-util}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${version.commons-io}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${version.commons-compress}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${version.guava}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <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>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.plugin.javadoc}</version>
                    <configuration>
                        <offlineLinks>
                            <link>
                                <url>https://javadoc.io/doc/net.bytebuddy/byte-buddy/${project.version}</url>
                                <location>${project.basedir}/../byte-buddy/target/apidocs</location>
                            </link>
                        </offlineLinks>
                        <links>
                            <link>https://javadoc.io/doc/org.apache.maven/maven-core/${version.maven}</link>
                            <link>https://javadoc.io/doc/org.apache.maven.plugin-tools/maven-plugin-annotations/${version.maven.annotation}</link>
                            <link>https://javadoc.io/doc/org.eclipse.aether/aether-api/${version.maven.aether}</link>
                            <link>https://javadoc.io/doc/org.sonatype.plexus/plexus-build-api/${version.maven.plexus-build-api}</link>
                        </links>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <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.maven.plexus-archiver>2.1.1</version.maven.plexus-archiver>
                <version.maven.plexus-util>3.3.1</version.maven.plexus-util>
                <version.commons-io>2.5</version.commons-io>
                <version.commons-compress>1.12</version.commons-compress>
                <version.guava>20.0</version.guava>
            </properties>
        </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.maven.plexus-archiver>2.11</version.maven.plexus-archiver>
                <version.maven.plexus-util>3.3.1</version.maven.plexus-util>
                <version.commons-io>2.6</version.commons-io>
                <version.commons-compress>1.20</version.commons-compress>
                <version.guava>16.0.1</version.guava>
                <version.guava>20.0</version.guava>
            </properties>
        </profile>
    </profiles>

</project>