Merge pull request #103 from DataDog/tyler/guava-bundle
Rename google and byteman dependencies
This commit is contained in:
commit
82444c3258
|
@ -46,3 +46,4 @@ Thumbs.db
|
||||||
/logs/*
|
/logs/*
|
||||||
/bin
|
/bin
|
||||||
/out
|
/out
|
||||||
|
*/out
|
||||||
|
|
|
@ -6,6 +6,7 @@ apply from: "${rootDir}/gradle/java.gradle"
|
||||||
description = 'dd-java-agent-ittests'
|
description = 'dd-java-agent-ittests'
|
||||||
dependencies {
|
dependencies {
|
||||||
testCompile project(':dd-java-agent')
|
testCompile project(':dd-java-agent')
|
||||||
|
|
||||||
testCompile group: 'io.opentracing', name: 'opentracing-mock', version: '0.30.0'
|
testCompile group: 'io.opentracing', name: 'opentracing-mock', version: '0.30.0'
|
||||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'
|
testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'
|
||||||
|
@ -32,6 +33,12 @@ dependencies {
|
||||||
testCompile group: 'org.apache.activemq', name: 'activemq-broker', version: '5.14.5'
|
testCompile group: 'org.apache.activemq', name: 'activemq-broker', version: '5.14.5'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configurations.all {
|
||||||
|
resolutionStrategy {
|
||||||
|
force 'com.google.guava:guava:18.0' // Force to test package renaming in agent jar. (see ShadowPackageRenamingTest)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
jvmArgs "-Ddd.trace.configurationFile=${project.buildDir}/resources/test/dd-trace.yaml"
|
jvmArgs "-Ddd.trace.configurationFile=${project.buildDir}/resources/test/dd-trace.yaml"
|
||||||
jvmArgs "-javaagent:${project(':dd-java-agent').buildDir}/libs/dd-java-agent-${project.version}.jar"
|
jvmArgs "-javaagent:${project(':dd-java-agent').buildDir}/libs/dd-java-agent-${project.version}.jar"
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.datadoghq.trace.agent;
|
||||||
|
|
||||||
|
import com.google.common.collect.MapMaker;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class ShadowPackageRenamingTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
try {
|
||||||
|
(new MapMaker()).softValues(); // this method exists in 18.0 but was removed in 20.0
|
||||||
|
} catch (final NoSuchMethodError e) {
|
||||||
|
Assert.fail("wrong class was loaded");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -93,16 +93,22 @@ shadowJar {
|
||||||
|
|
||||||
// mergeServiceFiles()
|
// mergeServiceFiles()
|
||||||
|
|
||||||
// Various tests fail when these are uncommented:
|
|
||||||
// relocate 'com.google', 'dd.deps.com.google'
|
|
||||||
// relocate 'org.jboss.byteman', 'dd.deps.org.jboss.byteman'
|
|
||||||
|
|
||||||
// Don't relocate slf4j or opentracing deps.
|
// Don't relocate slf4j or opentracing deps.
|
||||||
relocate 'com.fasterxml', 'dd.deps.com.fasterxml'
|
relocate 'com.fasterxml', 'dd.deps.com.fasterxml'
|
||||||
relocate 'javassist', 'dd.deps.javassist'
|
relocate 'javassist', 'dd.deps.javassist'
|
||||||
relocate 'org.reflections', 'dd.deps.org.reflections'
|
relocate 'org.reflections', 'dd.deps.org.reflections'
|
||||||
relocate 'org.yaml', 'dd.deps.org.yaml'
|
relocate 'org.yaml', 'dd.deps.org.yaml'
|
||||||
|
|
||||||
|
relocate('org.jboss.byteman', 'dd.deps.org.jboss.byteman') {
|
||||||
|
// Renaming these causes a verify error in the tests.
|
||||||
|
exclude 'org.jboss.byteman.rule.*'
|
||||||
|
exclude 'org.jboss.byteman.rule.helper.*'
|
||||||
|
}
|
||||||
|
relocate('com.google', 'dd.deps.com.google') {
|
||||||
|
// This is used in the Cassandra Cluster.connectAsync signature so we can't relocate it. :fingers_crossed:
|
||||||
|
exclude 'com.google.common.util.concurrent.ListenableFuture'
|
||||||
|
}
|
||||||
|
|
||||||
//Exclude Java 9 compiled classes:
|
//Exclude Java 9 compiled classes:
|
||||||
exclude 'org/jboss/byteman/agent/JigsawAccessEnablerGenerator.class'
|
exclude 'org/jboss/byteman/agent/JigsawAccessEnablerGenerator.class'
|
||||||
exclude 'org/jboss/byteman/agent/JigsawAccessManager$1.class'
|
exclude 'org/jboss/byteman/agent/JigsawAccessManager$1.class'
|
||||||
|
|
Loading…
Reference in New Issue