From 42cece67c2d169659636d9da17e200c20a3089af Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Wed, 6 Nov 2019 13:37:11 -0500 Subject: [PATCH] Fix namespace clashes Using `datadog.trace.agent` to hold agent class causes problems due to shadowing into this package of other classes. --- .../src/main/java/datadog/trace/{agent => bootstrap}/Agent.java | 2 +- .../src/main/java/datadog/trace/agent/tooling/Constants.java | 1 - .../src/test/groovy/OSGIClassloadingTest.groovy | 2 +- .../src/main/java/datadog/trace/agent/AgentBootstrap.java | 2 +- .../java/datadog/trace/agent/test/IntegrationTestUtils.java | 2 +- .../src/test/java/jvmbootstraptest/AgentLoadedChecker.java | 2 +- .../src/main/groovy/datadog/trace/agent/test/SpockRunner.java | 1 - 7 files changed, 5 insertions(+), 7 deletions(-) rename dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/{agent => bootstrap}/Agent.java (99%) diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/agent/Agent.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java similarity index 99% rename from dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/agent/Agent.java rename to dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java index fe3be1b629..e3d5fa0690 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/agent/Agent.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java @@ -1,4 +1,4 @@ -package datadog.trace.agent; +package datadog.trace.bootstrap; import java.lang.instrument.Instrumentation; import java.lang.reflect.Constructor; diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Constants.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Constants.java index 913c4aca57..76e5f34273 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Constants.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Constants.java @@ -15,7 +15,6 @@ public final class Constants { */ public static final String[] BOOTSTRAP_PACKAGE_PREFIXES = { "datadog.slf4j", - "datadog.trace.agent", "datadog.trace.api", "datadog.trace.bootstrap", "datadog.trace.context", diff --git a/dd-java-agent/instrumentation/osgi-classloading/src/test/groovy/OSGIClassloadingTest.groovy b/dd-java-agent/instrumentation/osgi-classloading/src/test/groovy/OSGIClassloadingTest.groovy index d3f251fea3..8d4002636f 100644 --- a/dd-java-agent/instrumentation/osgi-classloading/src/test/groovy/OSGIClassloadingTest.groovy +++ b/dd-java-agent/instrumentation/osgi-classloading/src/test/groovy/OSGIClassloadingTest.groovy @@ -10,7 +10,7 @@ class OSGIClassloadingTest extends AgentTestRunner { @Rule public final RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties() - static final String BOOT_DELEGATION_ADDITION = "datadog.slf4j.*,datadog.slf4j,datadog.trace.agent.*,datadog.trace.api.*,datadog.trace.api,datadog.trace.bootstrap.*,datadog.trace.bootstrap,datadog.trace.context.*,datadog.trace.context,datadog.trace.instrumentation.api.*,datadog.trace.instrumentation.api,io.opentracing.*,io.opentracing" + static final String BOOT_DELEGATION_ADDITION = "datadog.slf4j.*,datadog.slf4j,datadog.trace.api.*,datadog.trace.api,datadog.trace.bootstrap.*,datadog.trace.bootstrap,datadog.trace.context.*,datadog.trace.context,datadog.trace.instrumentation.api.*,datadog.trace.instrumentation.api,io.opentracing.*,io.opentracing" def "delegation property set on module load"() { when: diff --git a/dd-java-agent/src/main/java/datadog/trace/agent/AgentBootstrap.java b/dd-java-agent/src/main/java/datadog/trace/agent/AgentBootstrap.java index da5e2eee7c..c353fdc501 100644 --- a/dd-java-agent/src/main/java/datadog/trace/agent/AgentBootstrap.java +++ b/dd-java-agent/src/main/java/datadog/trace/agent/AgentBootstrap.java @@ -51,7 +51,7 @@ public class AgentBootstrap { final URL bootstrapURL = installBootstrapJar(inst); final Class agentClass = - ClassLoader.getSystemClassLoader().loadClass("datadog.trace.agent.Agent"); + ClassLoader.getSystemClassLoader().loadClass("datadog.trace.bootstrap.Agent"); final Method startMethod = agentClass.getMethod("start", Instrumentation.class, URL.class); startMethod.invoke(null, inst, bootstrapURL); } diff --git a/dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java b/dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java index fca5dcd5c5..60ce216004 100644 --- a/dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java +++ b/dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java @@ -40,7 +40,7 @@ public class IntegrationTestUtils { Field classloaderField = null; try { final Class agentClass = - ClassLoader.getSystemClassLoader().loadClass("datadog.trace.agent.Agent"); + ClassLoader.getSystemClassLoader().loadClass("datadog.trace.bootstrap.Agent"); classloaderField = agentClass.getDeclaredField(fieldName); classloaderField.setAccessible(true); return (ClassLoader) classloaderField.get(null); diff --git a/dd-java-agent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java b/dd-java-agent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java index d5eed10bbb..9c7ac905e6 100644 --- a/dd-java-agent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java +++ b/dd-java-agent/src/test/java/jvmbootstraptest/AgentLoadedChecker.java @@ -7,7 +7,7 @@ public class AgentLoadedChecker { public static void main(final String[] args) throws ClassNotFoundException { // Empty classloader that delegates to bootstrap final URLClassLoader emptyClassLoader = new URLClassLoader(new URL[] {}, null); - final Class agentClass = emptyClassLoader.loadClass("datadog.trace.agent.Agent"); + final Class agentClass = emptyClassLoader.loadClass("datadog.trace.bootstrap.Agent"); if (agentClass.getClassLoader() != null) { throw new RuntimeException( diff --git a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/SpockRunner.java b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/SpockRunner.java index c88c38cb2e..e0d8807f7a 100644 --- a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/SpockRunner.java +++ b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/SpockRunner.java @@ -32,7 +32,6 @@ public class SpockRunner extends Sputnik { */ public static final String[] BOOTSTRAP_PACKAGE_PREFIXES_COPY = { "datadog.slf4j", - "datadog.trace.agent", "datadog.trace.api", "datadog.trace.bootstrap", "datadog.trace.context",