| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one or more |
| ~ contributor license agreements. See the NOTICE file distributed with |
| ~ this work for additional information regarding copyright ownership. |
| ~ The ASF licenses this file to You under the Apache License, Version 2.0 |
| ~ (the "License"); you may not use this file except in compliance with |
| ~ the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| ~ |
| --> |
| |
| <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>org.apache.skywalking</groupId> |
| <artifactId>java-agent-sniffer</artifactId> |
| <version>9.1.0</version> |
| </parent> |
| |
| <artifactId>apm-agent-core</artifactId> |
| <packaging>jar</packaging> |
| |
| <name>apm-agent-core</name> |
| <url>http://maven.apache.org</url> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <generateGitPropertiesFilename>${project.build.outputDirectory}/skywalking-agent-version.properties</generateGitPropertiesFilename> |
| <guava.version>32.0.1-jre</guava.version> |
| <wiremock.version>2.6.0</wiremock.version> |
| <netty-tcnative-boringssl-static.version>2.0.7.Final</netty-tcnative-boringssl-static.version> |
| <os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version> |
| <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version> |
| <shade.com.google.source>com.google</shade.com.google.source> |
| <shade.com.google.target>${shade.package}.${shade.com.google.source}</shade.com.google.target> |
| <shade.io.grpc.source>io.grpc</shade.io.grpc.source> |
| <shade.io.grpc.target>${shade.package}.${shade.io.grpc.source}</shade.io.grpc.target> |
| <shade.io.netty.source>io.netty</shade.io.netty.source> |
| <shade.io.netty.target>${shade.package}.${shade.io.netty.source}</shade.io.netty.target> |
| <shade.io.opencensus.source>io.opencensus</shade.io.opencensus.source> |
| <shade.io.opencensus.target>${shade.package}.${shade.io.opencensus.source}</shade.io.opencensus.target> |
| <shade.io.perfmark.source>io.perfmark</shade.io.perfmark.source> |
| <shade.io.perfmark.target>${shade.package}.${shade.io.perfmark.source}</shade.io.perfmark.target> |
| <shade.org.slf4j.source>org.slf4j</shade.org.slf4j.source> |
| <shade.org.slf4j.target>${shade.package}.${shade.org.slf4j.source}</shade.org.slf4j.target> |
| <ststem-rules.version>1.18.0</ststem-rules.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.skywalking</groupId> |
| <artifactId>java-agent-network</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.skywalking</groupId> |
| <artifactId>java-agent-util</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy-agent</artifactId> |
| <version>${bytebuddy.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.github.tomakehurst</groupId> |
| <artifactId>wiremock</artifactId> |
| <version>${wiremock.version}</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>jackson-annotations</artifactId> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>jackson-core</artifactId> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>jackson-databind</artifactId> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-testing</artifactId> |
| <version>${grpc.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>mockito-core</artifactId> |
| <groupId>org.mockito</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>netty-codec-http2</artifactId> |
| <groupId>io.netty</groupId> |
| </exclusion> |
| </exclusions> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.skywalking</groupId> |
| <artifactId>java-agent-datacarrier</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.stefanbirkner</groupId> |
| <artifactId>system-rules</artifactId> |
| <version>${ststem-rules.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| </dependencies> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>${bytebuddy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${os-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <phase>initialize</phase> |
| <goals> |
| <goal>detect</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>${git-commit-id-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>get-the-git-infos</id> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| <phase>initialize</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <failOnNoGitDirectory>false</failOnNoGitDirectory> |
| <generateGitPropertiesFile>true</generateGitPropertiesFile> |
| <generateGitPropertiesFilename>${generateGitPropertiesFilename}</generateGitPropertiesFilename> |
| <commitIdGenerationMode>full</commitIdGenerationMode> |
| <includeOnlyProperties> |
| <includeOnlyProperty>git.build.version</includeOnlyProperty> |
| <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> |
| </includeOnlyProperties> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <artifactSet> |
| <excludes> |
| <exclude>net.bytebuddy:byte-buddy:jar:</exclude> |
| <exclude>com.google.errorprone:error_prone_annotations:jar:</exclude> |
| <exclude>com.google.code.findbugs:jsr305:jar:</exclude> |
| <exclude>com.google.android:annotations:jar:</exclude> |
| <exclude>com.google.j2objc:j2objc-annotations:jar:</exclude> |
| <exclude>com.google.api.grpc:proto-google-common-protos:jar:</exclude> |
| <exclude>org.checkerframework:checker-compat-qual:jar:</exclude> |
| <exclude>org.checkerframework:checker-qual:jar:</exclude> |
| <exclude>org.codehaus.mojo:animal-sniffer-annotations:jar:</exclude> |
| </excludes> |
| </artifactSet> |
| <relocations> |
| <relocation> |
| <pattern>${shade.com.google.source}</pattern> |
| <shadedPattern>${shade.com.google.target}</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>${shade.io.grpc.source}</pattern> |
| <shadedPattern>${shade.io.grpc.target}</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>${shade.io.netty.source}</pattern> |
| <shadedPattern>${shade.io.netty.target}</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>${shade.io.opencensus.source}</pattern> |
| <shadedPattern>${shade.io.opencensus.target}</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>${shade.io.perfmark.source}</pattern> |
| <shadedPattern>${shade.io.perfmark.target}</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>${shade.org.slf4j.source}</pattern> |
| <shadedPattern>${shade.org.slf4j.target}</shadedPattern> |
| </relocation> |
| </relocations> |
| <filters> |
| <filter> |
| <artifact>com.google.protobuf:protobuf-java</artifact> |
| <excludes> |
| <exclude>google/protobuf/*.proto</exclude> |
| <exclude>google/protobuf/compiler/*.proto</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <transformers> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> |
| </transformers> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <delete dir="${project.basedir}/../../packages" /> |
| </target> |
| </configuration> |
| </execution> |
| <execution> |
| <id>unpack</id> |
| <phase>package</phase> |
| <configuration> |
| <target> |
| <echo message="unjar" /> |
| <unzip src="${project.build.directory}/${project.artifactId}-${project.version}.jar" dest="${project.build.directory}/unpacked/" /> |
| <echo message="rename service providers in META-INF/services" /> |
| <move file="${project.build.directory}/unpacked/META-INF/native/libnetty_tcnative_osx_aarch_64.jnilib" tofile="${project.build.directory}/unpacked/META-INF/native/liborg_apache_skywalking_apm_dependencies_netty_tcnative_osx_aarch_64.jnilib" /> |
| <move file="${project.build.directory}/unpacked/META-INF/native/libnetty_tcnative_linux_aarch_64.so" tofile="${project.build.directory}/unpacked/META-INF/native/liborg_apache_skywalking_apm_dependencies_netty_tcnative_linux_aarch_64.so" /> |
| <move file="${project.build.directory}/unpacked/META-INF/native/libnetty_tcnative_osx_x86_64.jnilib" tofile="${project.build.directory}/unpacked/META-INF/native/liborg_apache_skywalking_apm_dependencies_netty_tcnative_osx_x86_64.jnilib" /> |
| <move file="${project.build.directory}/unpacked/META-INF/native/libnetty_tcnative_linux_x86_64.so" tofile="${project.build.directory}/unpacked/META-INF/native/liborg_apache_skywalking_apm_dependencies_netty_tcnative_linux_x86_64.so" /> |
| <move file="${project.build.directory}/unpacked/META-INF/native/netty_tcnative_windows_x86_64.dll" tofile="${project.build.directory}/unpacked/META-INF/native/org_apache_skywalking_apm_dependencies_netty_tcnative_windows_x86_64.dll" /> |
| <echo message="jar back" /> |
| <jar destfile="${project.build.directory}/${project.artifactId}-${project.version}.jar" basedir="${project.build.directory}/unpacked" /> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |