diff --git a/instrumentation/build.gradle b/instrumentation/build.gradle deleted file mode 100644 index 0b6474bb44..0000000000 --- a/instrumentation/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -// this project will run in isolation under the agent's classloader -plugins { - id("otel.shadow-conventions") - id("otel.java-conventions") -} - -Project instr_project = project -subprojects { - afterEvaluate { Project subProj -> - if (subProj.getPlugins().hasPlugin('java')) { - // Make it so all instrumentation subproject tests can be run with a single command. - instr_project.tasks.named('test').configure { - dependsOn(subProj.tasks.test) - } - - if (subProj.name == 'javaagent') { - instr_project.dependencies { - implementation(project(subProj.getPath())) - } - } - } - } -} - -dependencies { - compileOnly project(':instrumentation-api') - compileOnly project(':javaagent-api') - implementation project(':javaagent-tooling') - implementation project(':javaagent-extension-api') -} - -configurations { - // exclude bootstrap dependencies from shadowJar - implementation.exclude group: 'org.slf4j' - implementation.exclude group: 'io.opentelemetry', module: 'opentelemetry-api' - implementation.exclude group: 'io.opentelemetry', module: 'opentelemetry-api-metrics' - implementation.exclude group: 'io.opentelemetry', module: 'opentelemetry-semconv' -} - -shadowJar { - duplicatesStrategy = DuplicatesStrategy.FAIL - - dependencies { - //These classes are added to bootstrap classloader by javaagent module - exclude(project(':javaagent-bootstrap')) - exclude(project(':instrumentation-api')) - exclude(project(':javaagent-api')) - } -} - -tasks.register("listInstrumentations") { - group = "Help" - description = "List all available instrumentation modules" - doFirst { - subprojects - .findAll { it.plugins.hasPlugin("otel.muzzle-check") } - .collect { it.path } - .each { println it } - } -} diff --git a/instrumentation/build.gradle.kts b/instrumentation/build.gradle.kts new file mode 100644 index 0000000000..71a3ebb0b7 --- /dev/null +++ b/instrumentation/build.gradle.kts @@ -0,0 +1,66 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +// this project will run in isolation under the agent's classloader +plugins { + id("otel.shadow-conventions") + id("otel.java-conventions") +} + +val instrumentationProjectTest = tasks.named("test") +val instrumentationProjectDependencies = dependencies + +subprojects { + val subProj = this + plugins.withId("java") { + instrumentationProjectTest.configure { + dependsOn(subProj.tasks.named("test")) + } + } + + plugins.withId("otel.javaagent-instrumentation") { + instrumentationProjectDependencies.run { + implementation(project(subProj.path)) + } + } +} + +dependencies { + compileOnly(project(":instrumentation-api")) + compileOnly(project(":javaagent-api")) + implementation(project(":javaagent-tooling")) + implementation(project(":javaagent-extension-api")) +} + +configurations { + // exclude bootstrap dependencies from shadowJar + implementation { + exclude("org.slf4j") + exclude("io.opentelemetry", "opentelemetry-api") + exclude("io.opentelemetry", "opentelemetry-api-metrics") + exclude("io.opentelemetry", "opentelemetry-semconv") + } +} + +tasks { + named("shadowJar") { + duplicatesStrategy = DuplicatesStrategy.FAIL + + dependencies { + //These classes are added to bootstrap classloader by javaagent module + exclude(project(":javaagent-bootstrap")) + exclude(project(":instrumentation-api")) + exclude(project(":javaagent-api")) + } + } + + register("listInstrumentations") { + group = "Help" + description = "List all available instrumentation modules" + doFirst { + subprojects + .filter { it.plugins.hasPlugin("otel.muzzle-check") } + .map { it.path } + .forEach { println(it) } + } + } +}