Skip to content

Commit a8908c0

Browse files
committed
Move helpers to a separate project for future bundling
This will allow us to eventually inject these classes in the correct classpath rather than having them on the system classpath.
1 parent 4048e79 commit a8908c0

14 files changed

Lines changed: 58 additions & 37 deletions

dd-java-agent/dd-java-agent.gradle

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ whitelistedInstructionClasses += whitelistedBranchClasses += [
2424
dependencies {
2525
compile project(':dd-trace')
2626
compile project(':dd-trace-annotations')
27+
compile(project(path: ':dd-java-agent:integrations:helpers', configuration: "shadow")) {
28+
transitive = false
29+
}
2730

2831
compile group: 'io.opentracing.contrib', name: 'opentracing-agent', version: '0.1.0'
2932
compile group: 'org.reflections', name: 'reflections', version: '0.9.11'
@@ -33,50 +36,18 @@ dependencies {
3336
compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'
3437
// ^ Generally a bad idea for libraries, but we're shadowing.
3538

36-
37-
compile(group: 'io.opentracing.contrib', name: 'opentracing-web-servlet-filter', version: '0.0.9') {
38-
exclude(group: 'org.eclipse.jetty', module: 'jetty-servlet')
39-
}
40-
compile(group: 'io.opentracing.contrib', name: 'opentracing-mongo-driver', version: '0.0.3') {
41-
exclude(group: 'org.mongodb', module: 'mongodb-driver-async')
42-
exclude(group: 'org.mongodb', module: 'mongo-java-driver')
43-
}
44-
compile(group: 'io.opentracing.contrib', name: 'opentracing-okhttp3', version: '0.0.5') {
45-
exclude(group: 'com.squareup.okhttp3', module: 'okhttp')
46-
}
47-
compile(group: 'io.opentracing.contrib', name: 'opentracing-jms-2', version: '0.0.3') {
48-
exclude(group: 'javax.jms', module: 'javax.jms-api')
49-
}
50-
compile(group: 'io.opentracing.contrib', name: 'opentracing-aws-sdk', version: '0.0.2') {
51-
exclude(group: 'com.amazonaws', module: 'aws-java-sdk')
52-
}
53-
compile(group: 'io.opentracing.contrib', name: 'opentracing-cassandra-driver', version: '0.0.2') {
54-
exclude(group: 'com.datastax.cassandra', module: 'cassandra-driver-core')
55-
}
56-
compile(group: 'io.opentracing.contrib', name: 'opentracing-apache-httpclient', version: '0.0.2') {
57-
exclude(group: 'org.apache.httpcomponents', module: 'httpclient')
58-
}
59-
39+
testCompile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
6040
testCompile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
6141
testCompile group: 'io.opentracing', name: 'opentracing-mock', version: '0.30.0'
62-
testCompile group: 'junit', name: 'junit', version: '4.12'
63-
testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'
64-
testCompile group: 'org.mockito', name: 'mockito-core', version: '2.7.22'
65-
testCompile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
66-
compileOnly group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.3.6.v20151106'
67-
compileOnly group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '9.0.0.M1'
68-
compileOnly group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
69-
compileOnly group: 'org.mongodb', name: 'mongodb-driver-async', version: '3.4.2'
70-
compileOnly group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
71-
compileOnly group: 'javax.jms', name: 'javax.jms-api', version: '2.0.1'
72-
compileOnly group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.119'
73-
compileOnly group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '3.2.0'
74-
compileOnly group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.3'
7542

7643
// Not bundled in with the agent. Usage requires being on the app's classpath (eg. Spring Boot's executable jar)
7744
compileOnly group: 'io.opentracing.contrib', name: 'opentracing-jdbc', version: '0.0.3'
7845
}
7946

47+
project(':dd-java-agent:integrations:helpers').afterEvaluate { helperProject ->
48+
project.compileJava.dependsOn helperProject.tasks.shadowJar
49+
}
50+
8051
jar {
8152
classifier = 'unbundled'
8253

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
apply plugin: "com.github.johnrengelman.shadow"
2+
apply from: "${rootDir}/gradle/java.gradle"
3+
4+
// We want to keep this jar as lean as possible. Only helpers and OT contrib classes.
5+
configurations.compile {
6+
transitive = false
7+
}
8+
9+
dependencies {
10+
compileOnly project(':dd-trace')
11+
compileOnly project(':dd-trace-annotations')
12+
compileOnly group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
13+
14+
compileOnly group: 'io.opentracing.contrib', name: 'opentracing-agent', version: '0.1.0'
15+
16+
compile group: 'io.opentracing.contrib', name: 'opentracing-web-servlet-filter', version: '0.0.9'
17+
compile group: 'io.opentracing.contrib', name: 'opentracing-mongo-driver', version: '0.0.3'
18+
compile group: 'io.opentracing.contrib', name: 'opentracing-okhttp3', version: '0.0.5'
19+
compile group: 'io.opentracing.contrib', name: 'opentracing-jms-common', version: '0.0.3'
20+
compile group: 'io.opentracing.contrib', name: 'opentracing-jms-2', version: '0.0.3'
21+
compile group: 'io.opentracing.contrib', name: 'opentracing-aws-sdk', version: '0.0.2'
22+
compile group: 'io.opentracing.contrib', name: 'opentracing-cassandra-driver', version: '0.0.2'
23+
compile group: 'io.opentracing.contrib', name: 'opentracing-apache-httpclient', version: '0.0.2'
24+
25+
compileOnly group: 'org.eclipse.jetty', name: 'jetty-util', version: '9.3.6.v20151106'
26+
compileOnly group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.3.6.v20151106'
27+
compileOnly group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.3.6.v20151106'
28+
compileOnly group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '9.0.0.M1'
29+
compileOnly group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
30+
compileOnly group: 'org.mongodb', name: 'mongodb-driver-async', version: '3.4.2'
31+
compileOnly group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
32+
compileOnly group: 'javax.jms', name: 'javax.jms-api', version: '2.0.1'
33+
compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-core', version: '1.11.119'
34+
compileOnly group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '3.2.0'
35+
compileOnly group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.3'
36+
}
37+
38+
jar {
39+
classifier = 'unbundled'
40+
}
41+
42+
shadowJar {
43+
classifier null
44+
configurations = [project.configurations.compile]
45+
46+
dependencies {
47+
exclude(dependency('org.projectlombok:lombok:1.16.18'))
48+
}
49+
}

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/AWSClientHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/AWSClientHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/ApacheHTTPClientHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/ApacheHTTPClientHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/CassandraHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/CassandraHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/DDAgentTracingHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/DDAgentTracingHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/JMSMessageConsumerHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/JMSMessageConsumerHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/JMSMessageProducerHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/JMSMessageProducerHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/JettyServletHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/JettyServletHelper.java

File renamed without changes.

dd-java-agent/src/main/java/com/datadoghq/trace/agent/integration/MongoHelper.java renamed to dd-java-agent/integrations/helpers/src/main/java/com/datadoghq/trace/agent/integration/MongoHelper.java

File renamed without changes.

0 commit comments

Comments
 (0)