zipkin-otel-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.zipkin.contrib.otel</groupId> <artifactId>zipkin-otel-parent</artifactId> <version>0.2.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright The OpenZipkin Authors SPDX-License-Identifier: Apache-2.0 --> <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>io.zipkin.contrib.otel</groupId> <artifactId>zipkin-otel-parent</artifactId> <version>0.2.0</version> <packaging>pom</packaging> <modules> <module>module</module> <module>collector-http</module> <module>encoder-brave</module> </modules> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> <issueManagement> <system>Github</system> <url>https://github.com/openzipkin-contrib/zipkin-otel/issues</url> </issueManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> <project.build.outputEncoding>UTF-8</project.build.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <main.basedir>${project.basedir}</main.basedir> <main.java.version>1.8</main.java.version> <main.signature.artifact>java18</main.signature.artifact> <!-- groupId overrinds allow testing feature branches with jitpack --> <!-- matching armeria/grpc/zipkin --> <zipkin.groupId>io.zipkin.zipkin2</zipkin.groupId> <!-- when updating, update docker/Dockerfile --> <zipkin.version>3.4.4</zipkin.version> <zipkin-reporter.version>3.4.3</zipkin-reporter.version> <spring-boot.version>3.3.7</spring-boot.version> <!-- armeria.groupId allows you to test feature branches with jitpack --> <armeria.groupId>com.linecorp.armeria</armeria.groupId> <armeria.version>1.30.2</armeria.version> <!-- This allows you to test feature branches with jitpack --> <!-- <brave.groupId>com.github.openzipkin.brave</brave.groupId>--> <!-- <brave.version>master-SNAPSHOT</brave.version>--> <brave.groupId>io.zipkin.brave</brave.groupId> <brave.version>6.0.3</brave.version> <opentelemetry.version>1.43.0</opentelemetry.version> <!-- Alpha jar! --> <opentelemetry-proto.version>1.4.0-alpha</opentelemetry-proto.version> <opentelemetry-semconv.version>1.29.0-alpha</opentelemetry-semconv.version> <assertj.version>3.25.3</assertj.version> <awaitility.version>4.2.1</awaitility.version> <junit-jupiter.version>5.10.2</junit-jupiter.version> <mockito.version>5.12.0</mockito.version> <testcontainers.version>1.19.8</testcontainers.version> <okhttp.version>4.12.0</okhttp.version> <!-- override to set exclusions per-project --> <errorprone.args /> <errorprone.version>2.27.1</errorprone.version> <license.skip>${skipTests}</license.skip> <animal-sniffer-maven-plugin.version>1.23</animal-sniffer-maven-plugin.version> <go-offline-maven-plugin.version>1.2.8</go-offline-maven-plugin.version> <!-- TODO: cleanup any redundant ignores now also in the 4.0 release (once final) --> <license-maven-plugin.version>4.5</license-maven-plugin.version> <maven-bundle-plugin.version>5.1.9</maven-bundle-plugin.version> <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> <!-- Use same version as https://github.com/openzipkin/docker-java --> <maven-dependency-plugin.version>3.6.1</maven-dependency-plugin.version> <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version> <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version> <!-- Use same version as https://github.com/openzipkin/docker-java --> <maven-help-plugin.version>3.4.0</maven-help-plugin.version> <maven-install-plugin.version>3.1.1</maven-install-plugin.version> <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version> <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version> <maven-release-plugin.version>3.0.1</maven-release-plugin.version> <maven-shade-plugin.version>3.5.2</maven-shade-plugin.version> <maven-source-plugin.version>3.3.1</maven-source-plugin.version> <maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version> <nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version> </properties> <name>Zipkin OpenTelemetry (Parent)</name> <description>Zipkin OpenTelemetry (Parent)</description> <url>https://github.com/openzipkin-contrib/zipkin-otel</url> <inceptionYear>2024</inceptionYear> <organization> <name>OpenZipkin</name> <url>https://zipkin.io/</url> </organization> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <scm> <url>https://github.com/openzipkin-contrib/zipkin-otel</url> <connection>scm:git:https://github.com/openzipkin-contrib/zipkin-otel.git</connection> <developerConnection>scm:git:https://github.com/openzipkin-contrib/zipkin-otel.git </developerConnection> <tag>0.2.0</tag> </scm> <!-- Developer section is needed for Maven Central, but doesn't need to include each person --> <developers> <developer> <id>openzipkin</id> <name>OpenZipkin Gitter</name> <url>https://gitter.im/openzipkin/zipkin</url> </developer> </developers> <dependencyManagement> <!-- Be careful here, especially to not import BOMs as io.zipkin.contrib.otel:encoder-brave has this parent. For example, if you imported Netty's BOM here, using Brave would also download that BOM as it depends indirectly on io.zipkin.contrib.otel:encoder-brave. As Brave itself is indirectly used, this can be extremely confusing when people are troubleshooting library version assignments. --> </dependencyManagement> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> <scope>test</scope> </dependency> <!-- Main code uses jul and tests log with log4j --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.5.6</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <!-- mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies --> <plugin> <groupId>de.qaware.maven</groupId> <artifactId>go-offline-maven-plugin</artifactId> <version>${go-offline-maven-plugin.version}</version> <configuration> <!-- Add dependencies indirectly referenced by build plugins --> <dynamicDependencies> <DynamicDependency> <groupId>org.codehaus.mojo.signature</groupId> <artifactId>${main.signature.artifact}</artifactId> <version>1.0</version> <type>signature</type> <repositoryType>MAIN</repositoryType> </DynamicDependency> <DynamicDependency> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin-git</artifactId> <version>${license-maven-plugin.version}</version> <repositoryType>MAIN</repositoryType> </DynamicDependency> <DynamicDependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${errorprone.version}</version> <repositoryType>MAIN</repositoryType> </DynamicDependency> <DynamicDependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit-platform</artifactId> <version>${maven-surefire-plugin.version}</version> <repositoryType>PLUGIN</repositoryType> </DynamicDependency> </dynamicDependencies> </configuration> </plugin> <!-- Uploads occur as a last step (which also adds checksums) --> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>${maven-deploy-plugin.version}</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>${maven-install-plugin.version}</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> <configuration> <archive> <!-- prevents huge pom file from also being added to the jar under META-INF/maven --> <addMavenDescriptor>false</addMavenDescriptor> </archive> </configuration> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>${maven-release-plugin.version}</version> <configuration> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>@{project.version}</tagNameFormat> </configuration> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${nexus-staging-maven-plugin.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- Ensure common utility commands use coherent versions (avoid lazy downloads) --> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>${maven-dependency-plugin.version}</version> </plugin> <plugin> <artifactId>maven-help-plugin</artifactId> <version>${maven-help-plugin.version}</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <inherited>true</inherited> <configuration> <source>${main.java.version}</source> <target>${main.java.version}</target> <fork>true</fork> <release>8</release> <showWarnings>true</showWarnings> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <!-- Ensures root cause ends up in the console --> <trimStackTrace>false</trimStackTrace> <!-- TODO: remove when assertj releases a new version, and includes updated bytebuddy. https://github.com/mockito/mockito/issues/3119#issuecomment-1732179039 --> <argLine>-Dnet.bytebuddy.experimental=true</argLine> </configuration> <dependencies> <!-- needed for surefire. https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit-jupiter.version}</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <executions> <execution> <id>integration-test</id> <goals> <goal>integration-test</goal> </goals> </execution> <execution> <id>verify</id> <goals> <goal>verify</goal> </goals> </execution> </executions> <configuration> <systemProperties> <!-- Gives better context when there's an exception such as AbortedStreamException. Set globally as we have failures sometimes in collector-elasticsearch and sometimes in zipkin-server tests (same code used two places). --> <com.linecorp.armeria.verboseExceptions>always</com.linecorp.armeria.verboseExceptions> </systemProperties> <!-- workaround to SUREFIRE-1831 --> <useModulePath>false</useModulePath> <!-- Ensures root cause ends up in the console --> <trimStackTrace>false</trimStackTrace> <!-- TODO: remove when assertj releases a new version, and includes updated bytebuddy. https://github.com/mockito/mockito/issues/3119#issuecomment-1732179039 --> <argLine>-Dnet.bytebuddy.experimental=true</argLine> </configuration> </plugin> <!-- Ensure no Java 9+ api usage --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <version>${animal-sniffer-maven-plugin.version}</version> <configuration> <checkTestClasses>false</checkTestClasses> <skip>${skipTests}</skip> <signature> <groupId>org.codehaus.mojo.signature</groupId> <artifactId>${main.signature.artifact}</artifactId> <version>1.0</version> </signature> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> <executions> <execution> <id>enforce-java</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <!-- Change this to control LTS JDK versions allowed to build the project. Keep in sync with .github/workflows --> <version>[17,18),[21,22)</version> <!-- In sync with Boot 3 JDK version --> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>${license-maven-plugin.version}</version> <configuration> <skip>${license.skip}</skip> <header>${maven.multiModuleProjectDirectory}/src/etc/header.txt</header> <mapping> <!-- Don't use javadoc style as this makes code formatters break it by adding tags! --> <java>SLASHSTAR_STYLE</java> <!-- build-bin/docker --> <configure_docker>SCRIPT_STYLE</configure_docker> <configure_docker_push>SCRIPT_STYLE</configure_docker_push> <docker_arch>SCRIPT_STYLE</docker_arch> <docker_args>SCRIPT_STYLE</docker_args> <docker_block_on_health>SCRIPT_STYLE</docker_block_on_health> <docker_build>SCRIPT_STYLE</docker_build> <docker_push>SCRIPT_STYLE</docker_push> <docker_test_image>SCRIPT_STYLE</docker_test_image> <!-- build-bin/git --> <login_git>SCRIPT_STYLE</login_git> <version_from_trigger_tag>SCRIPT_STYLE</version_from_trigger_tag> <!-- build-bin/gpg --> <configure_gpg>SCRIPT_STYLE</configure_gpg> <!-- build-bin/maven --> <maven_build>SCRIPT_STYLE</maven_build> <maven_build_or_unjar>SCRIPT_STYLE</maven_build_or_unjar> <maven_deploy>SCRIPT_STYLE</maven_deploy> <maven_go_offline>SCRIPT_STYLE</maven_go_offline> <maven_release>SCRIPT_STYLE</maven_release> <maven_opts>SCRIPT_STYLE</maven_opts> <maven_unjar>SCRIPT_STYLE</maven_unjar> </mapping> <excludes> <exclude>.gitignore</exclude> <exclude>.dockerignore</exclude> <exclude>.editorconfig</exclude> <exclude>.mvn/**</exclude> <exclude>mvnw*</exclude> <exclude>etc/header.txt</exclude> <exclude>**/.idea/**</exclude> <exclude>LICENSE</exclude> <exclude>**/*.md</exclude> <exclude>src/test/resources/**</exclude> <exclude>src/main/resources/**</exclude> <exclude>build-bin/*</exclude> </excludes> <strictCheck>true</strictCheck> </configuration> <dependencies> <dependency> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin-git</artifactId> <version>${license-maven-plugin.version}</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> </plugins> <resources> <!-- This adds the LICENSE and NOTICE file to the jar and -sources jar of each module --> <resource> <filtering>false</filtering> <directory>${main.basedir}</directory> <targetPath>META-INF/</targetPath> <includes> <include>LICENSE</include> <include>NOTICE</include> </includes> </resource> <!-- This ensures any Spring Boot YAML are included in the jar --> <resource> <filtering>false</filtering> <directory>src/main/resources</directory> <includes> <include>*.yml</include> </includes> </resource> </resources> </build> <profiles> <!-- -DskipTests ensures benchmarks don't end up in javadocs or in Maven Central --> <profile> <id>include-benchmarks</id> <activation> <property> <name>!skipTests</name> </property> </activation> <modules> <module>benchmarks</module> </modules> </profile> <profile> <id>error-prone-11+</id> <activation> <!-- Only LTS versions --> <jdk>[11,12),[17,18),[21,22)</jdk> </activation> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <inherited>true</inherited> <configuration> <source>${main.java.version}</source> <target>${main.java.version}</target> <fork>true</fork> <showWarnings>true</showWarnings> </configuration> <executions> <execution> <!-- only use errorprone on main source tree --> <id>default-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> <configuration> <forceJavacCompilerUse>true</forceJavacCompilerUse> <compilerArgs> <arg>-XDcompilePolicy=simple</arg> <arg>-Xplugin:ErrorProne ${errorprone.args}</arg> <!-- below needed for JDK16+ per https://errorprone.info/docs/installation --> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED </arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> </compilerArgs> <annotationProcessorPaths> <processorPath> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${errorprone.version}</version> </processorPath> </annotationProcessorPaths> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <!-- Zipkin release is about ~100M mostly from the two server distributions. Default will timeout after 5 minutes, which can trigger fairly easily with this size. --> <stagingProgressPauseDurationSeconds>20</stagingProgressPauseDurationSeconds> <stagingProgressTimeoutMinutes>30</stagingProgressTimeoutMinutes> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> <!-- Creates source jar --> <plugin> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Creates javadoc jar, skipping internal classes --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <sourceFileExcludes> <exclude>**/internal/*.java</exclude> <exclude>**/Internal*.java</exclude> </sourceFileExcludes> <excludePackageNames>*.internal.*</excludePackageNames> <failOnError>false</failOnError> <!-- hush pedantic warnings: we don't put param and return on everything! --> <doclint>none</doclint> <!-- While we publish modules, our source is pre-Java9 so tell javadoc that. --> <source>8</source> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>