Skip to content

Commit 3ad209b

Browse files
committed
init migration
1 parent 8ba684e commit 3ad209b

File tree

19 files changed

+48
-33
lines changed

19 files changed

+48
-33
lines changed

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ plugins {
99
id("de.thetaphi.forbiddenapis") version "3.8"
1010

1111
id("tracer-version")
12+
id("config-inversion-linter")
1213
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
1314

1415
id("com.gradleup.shadow") version "8.3.6" apply false

buildSrc/src/main/kotlin/datadog/gradle/plugin/config/ConfigInversionLinter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ private fun registerCheckEnvironmentVariablesUsage(project: Project) {
9999
val javaFiles = project.fileTree(project.projectDir) {
100100
include("**/src/main/java/**/*.java")
101101
exclude("**/build/**")
102-
exclude("internal-api/src/main/java/datadog/trace/api/ConfigHelper.java")
102+
exclude("utils/config-utils/src/main/java/datadog/trace/config/inversion/ConfigHelper.java")
103103
exclude("dd-java-agent/agent-bootstrap/**")
104-
exclude("dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java")
104+
exclude("dd-java-agent/src/main/java/datadog/trace/bootstrap/**")
105105
}
106106

107107
val pattern = Regex("""EnvironmentVariables\.get\s*\(""")

components/environment/src/main/java/datadog/environment/EnvironmentVariables.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static java.util.Collections.emptyMap;
44
import static java.util.Collections.unmodifiableMap;
55

6+
import de.thetaphi.forbiddenapis.SuppressForbidden;
67
import java.util.HashMap;
78
import java.util.Map;
89
import javax.annotation.Nullable;
@@ -17,10 +18,13 @@ public final class EnvironmentVariables {
1718
private EnvironmentVariables() {}
1819

1920
public static class EnvironmentVariablesProvider {
21+
22+
@SuppressForbidden
2023
public String get(String name) {
2124
return System.getenv(name);
2225
}
2326

27+
@SuppressForbidden
2428
public Map<String, String> getAll() {
2529
return System.getenv();
2630
}

dd-java-agent/agent-logging/src/main/java/datadog/trace/logging/ddlogger/DDLoggerFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package datadog.trace.logging.ddlogger;
22

3-
import datadog.environment.EnvironmentVariables;
43
import datadog.environment.SystemProperties;
54
import datadog.trace.api.Platform;
5+
import datadog.trace.config.inversion.ConfigHelper;
66
import datadog.trace.logging.LogLevel;
77
import datadog.trace.logging.LogLevelSwitcher;
88
import datadog.trace.logging.LoggerHelper;
@@ -108,7 +108,7 @@ private static boolean isFlagEnabled(
108108
if ("false".equalsIgnoreCase(value)) {
109109
return false;
110110
}
111-
value = EnvironmentVariables.get(envVar);
111+
value = ConfigHelper.get().getEnvironmentVariable(envVar);
112112
if ("true".equalsIgnoreCase(value)) {
113113
return true;
114114
}

dd-java-agent/instrumentation/aws-java/aws-java-lambda-handler-1.2/src/main/java/datadog/trace/instrumentation/aws/v1/lambda/LambdaHandlerInstrumentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
import com.amazonaws.services.lambda.runtime.Context;
1717
import com.amazonaws.services.lambda.runtime.RequestHandler;
1818
import com.google.auto.service.AutoService;
19-
import datadog.environment.EnvironmentVariables;
2019
import datadog.trace.agent.tooling.Instrumenter;
2120
import datadog.trace.agent.tooling.InstrumenterModule;
2221
import datadog.trace.bootstrap.CallDepthThreadLocalMap;
2322
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
2423
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
2524
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
2625
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
26+
import datadog.trace.config.inversion.ConfigHelper;
2727
import net.bytebuddy.asm.Advice;
2828
import net.bytebuddy.description.type.TypeDescription;
2929
import net.bytebuddy.matcher.ElementMatcher;
@@ -61,7 +61,7 @@ public String[] helperClassNames() {
6161

6262
@Override
6363
protected boolean defaultEnabled() {
64-
return EnvironmentVariables.get(HANDLER_ENV_NAME) != null;
64+
return ConfigHelper.get().getEnvironmentVariable(HANDLER_ENV_NAME) != null;
6565
}
6666

6767
@Override

dd-java-agent/instrumentation/maven-3.2.1/src/main/java/datadog/trace/instrumentation/maven3/MavenUtils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package datadog.trace.instrumentation.maven3;
22

3-
import datadog.environment.EnvironmentVariables;
43
import datadog.trace.api.civisibility.domain.JavaAgent;
4+
import datadog.trace.config.inversion.ConfigHelper;
55
import datadog.trace.util.MethodHandles;
66
import datadog.trace.util.Strings;
77
import de.thetaphi.forbiddenapis.SuppressForbidden;
@@ -66,7 +66,8 @@ public abstract class MavenUtils {
6666
* of the request object
6767
*/
6868
public static String getCommandLine(MavenSession session) {
69-
String mavenCmdLineArgsEnvVar = EnvironmentVariables.get(MAVEN_CMD_LINE_ARGS_ENVIRONMENT_VAR);
69+
String mavenCmdLineArgsEnvVar =
70+
ConfigHelper.get().getEnvironmentVariable(MAVEN_CMD_LINE_ARGS_ENVIRONMENT_VAR);
7071
if (mavenCmdLineArgsEnvVar != null) {
7172
return MVN_CMD_LINE_INVOCATION + mavenCmdLineArgsEnvVar;
7273
}

dd-java-agent/src/main/java6/datadog/trace/bootstrap/AgentPreCheck.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ private static boolean compatible() {
9090
}
9191

9292
// Reachable for testing
93+
@SuppressForbidden
9394
static boolean compatible(String javaVersion, String javaHome, PrintStream output) {
9495
int majorJavaVersion = parseJavaMajorVersion(javaVersion);
9596

gradle/forbiddenApiFilters/main.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ net.bytebuddy.matcher.ElementMatchers#isAbstract()
2929
java.lang.System#out
3030
java.lang.System#err
3131

32+
# avoid using System.getenv() or System.getenv(String) in code outside of ConfigHelper.java
33+
@defaultMessage Avoid using System.getenv() or System.getenv(String) in code outside of ConfigHelper.java
34+
java.lang.System#getenv()
35+
java.lang.System#getenv(java.lang.String)
36+
3237
#Use jdk LongAdder
3338
@defaultMessage use LongAdder instead of the legacy jctools FixedSizeStripedLongCounter
3439
org.jctools.counters.FixedSizeStripedLongCounter

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,6 @@
638638
import static datadog.trace.util.CollectionUtils.tryMakeImmutableSet;
639639
import static datadog.trace.util.ConfigStrings.propertyNameToEnvironmentVariableName;
640640

641-
import datadog.environment.EnvironmentVariables;
642641
import datadog.environment.JavaVirtualMachine;
643642
import datadog.environment.OperatingSystem;
644643
import datadog.environment.SystemProperties;
@@ -662,6 +661,7 @@
662661
import datadog.trace.bootstrap.config.provider.ConfigProvider;
663662
import datadog.trace.bootstrap.config.provider.SystemPropertiesConfigSource;
664663
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
664+
import datadog.trace.config.inversion.ConfigHelper;
665665
import datadog.trace.context.TraceScope;
666666
import datadog.trace.util.ConfigStrings;
667667
import datadog.trace.util.PidHelper;
@@ -5303,7 +5303,7 @@ private static boolean isWindowsOS() {
53035303
}
53045304

53055305
private static String getEnv(String name) {
5306-
String value = EnvironmentVariables.get(name);
5306+
String value = ConfigHelper.get().getEnvironmentVariable(name);
53075307
if (value != null) {
53085308
// Report non-default sequence id for consistency
53095309
ConfigCollector.get().put(name, value, ConfigOrigin.ENV, NON_DEFAULT_SEQ_ID);

internal-api/src/main/java/datadog/trace/util/PidHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package datadog.trace.util;
22

3-
import datadog.environment.EnvironmentVariables;
43
import datadog.environment.JavaVirtualMachine;
54
import datadog.environment.OperatingSystem;
65
import datadog.environment.SystemProperties;
6+
import datadog.trace.config.inversion.ConfigHelper;
77
import de.thetaphi.forbiddenapis.SuppressForbidden;
88
import java.io.IOException;
99
import java.lang.management.ManagementFactory;
@@ -80,13 +80,13 @@ private static String getTempDir() {
8080
return "/tmp";
8181
} else if (OperatingSystem.isWindows()) {
8282
return Stream.of("TMP", "TEMP", "USERPROFILE")
83-
.map(EnvironmentVariables::get)
83+
.map(ConfigHelper.get()::getEnvironmentVariable)
8484
.filter(Objects::nonNull)
8585
.filter(((Predicate<String>) String::isEmpty).negate())
8686
.findFirst()
8787
.orElse("C:\\Windows");
8888
} else if (OperatingSystem.isMacOs()) {
89-
return EnvironmentVariables.get("TMPDIR");
89+
return ConfigHelper.get().getEnvironmentVariable("TMPDIR");
9090
} else {
9191
return SystemProperties.get("java.io.tmpdir");
9292
}

0 commit comments

Comments
 (0)