Migrate instrumentation/build.gradle to kotlin (#3444)
This commit is contained in:
parent
c46761b8a9
commit
92a04644d0
|
@ -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 }
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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>("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) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue