Fix javaagent publishing (#3929)

* Fix javaagent publishing

* Take manifest attributes from the jar task too
This commit is contained in:
Mateusz Rzeszutek 2021-08-24 20:40:36 +02:00 committed by GitHub
parent 1dae415ebc
commit 6ba91989a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 19 deletions

View File

@ -14,11 +14,11 @@ dependencies {
tasks { tasks {
test { test {
dependsOn(":javaagent:shadowJar") dependsOn(":javaagent:fullJavaagentJar")
maxParallelForks = 2 maxParallelForks = 2
doFirst { doFirst {
jvmArgs("-Dio.opentelemetry.smoketest.agent.shadowJar.path=${project(":javaagent").tasks.getByName<ShadowJar>("shadowJar").archivePath}") jvmArgs("-Dio.opentelemetry.smoketest.agent.shadowJar.path=${project(":javaagent").tasks.getByName<ShadowJar>("fullJavaagentJar").archivePath}")
} }
} }
} }

View File

@ -39,7 +39,7 @@ tasks {
val jmhStartFlightRecording = gradle.startParameter.projectProperties.get("jmh.startFlightRecording") val jmhStartFlightRecording = gradle.startParameter.projectProperties.get("jmh.startFlightRecording")
named<JMHTask>("jmh") { named<JMHTask>("jmh") {
val shadowTask = project(":javaagent").tasks.named<ShadowJar>("shadowJar").get() val shadowTask = project(":javaagent").tasks.named<ShadowJar>("fullJavaagentJar").get()
inputs.files(layout.files(shadowTask)) inputs.files(layout.files(shadowTask))
// note: without an exporter, toSpanData() won't even be called // note: without an exporter, toSpanData() won't even be called

View File

@ -54,7 +54,7 @@ tasks {
} }
named("jmh") { named("jmh") {
dependsOn(":javaagent:shadowJar") dependsOn(":javaagent:fullJavaagentJar")
} }
} }

View File

@ -100,11 +100,6 @@ tasks {
} }
} }
// lightShadow is the default classifier we publish so disable the default jar.
jar {
enabled = false
}
val relocateJavaagentLibs by registering(ShadowJar::class) { val relocateJavaagentLibs by registering(ShadowJar::class) {
configurations = listOf(javaagentLibs) configurations = listOf(javaagentLibs)
@ -128,7 +123,7 @@ tasks {
} }
//Includes instrumentations, but not exporters //Includes instrumentations, but not exporters
val lightShadow by registering(ShadowJar::class) { val shadowJar by existing(ShadowJar::class) {
configurations = listOf(bootstrapLibs) configurations = listOf(bootstrapLibs)
dependsOn(relocateJavaagentLibs) dependsOn(relocateJavaagentLibs)
@ -137,6 +132,7 @@ tasks {
archiveClassifier.set("") archiveClassifier.set("")
manifest { manifest {
attributes(jar.get().manifest.attributes)
attributes( attributes(
"Main-Class" to "io.opentelemetry.javaagent.OpenTelemetryAgent", "Main-Class" to "io.opentelemetry.javaagent.OpenTelemetryAgent",
"Agent-Class" to "io.opentelemetry.javaagent.OpenTelemetryAgent", "Agent-Class" to "io.opentelemetry.javaagent.OpenTelemetryAgent",
@ -148,7 +144,7 @@ tasks {
} }
//Includes everything needed for OOTB experience //Includes everything needed for OOTB experience
val shadowJar by existing(ShadowJar::class) { val fullJavaagentJar by registering(ShadowJar::class) {
configurations = listOf(bootstrapLibs) configurations = listOf(bootstrapLibs)
dependsOn(relocateJavaagentLibs, relocateExporterLibs) dependsOn(relocateJavaagentLibs, relocateExporterLibs)
@ -160,23 +156,23 @@ tasks {
archiveClassifier.set("all") archiveClassifier.set("all")
manifest { manifest {
attributes(lightShadow.get().manifest.attributes) attributes(shadowJar.get().manifest.attributes)
} }
} }
assemble { assemble {
dependsOn(lightShadow, shadowJar) dependsOn(shadowJar, fullJavaagentJar)
} }
withType<Test>().configureEach { withType<Test>().configureEach {
dependsOn(shadowJar) dependsOn(fullJavaagentJar)
inputs.file(shadowJar.get().archiveFile) inputs.file(fullJavaagentJar.get().archiveFile)
jvmArgs("-Dotel.javaagent.debug=true") jvmArgs("-Dotel.javaagent.debug=true")
doFirst { doFirst {
// Defining here to allow jacoco to be first on the command line. // Defining here to allow jacoco to be first on the command line.
jvmArgs("-javaagent:${shadowJar.get().archiveFile.get().asFile}") jvmArgs("-javaagent:${fullJavaagentJar.get().archiveFile.get().asFile}")
} }
testLogging { testLogging {
@ -195,7 +191,7 @@ tasks {
publishing { publishing {
publications { publications {
named<MavenPublication>("maven") { named<MavenPublication>("maven") {
artifact(lightShadow) artifact(fullJavaagentJar)
} }
} }
} }

View File

@ -43,7 +43,7 @@ dependencies {
tasks { tasks {
test { test {
inputs.files(project(":javaagent").tasks.getByName("shadowJar").outputs.files) inputs.files(project(":javaagent").tasks.getByName("fullJavaagentJar").outputs.files)
maxParallelForks = 2 maxParallelForks = 2
testLogging.showStandardStreams = true testLogging.showStandardStreams = true
@ -79,7 +79,7 @@ tasks {
} }
} }
val shadowTask = project(":javaagent").tasks.named<ShadowJar>("shadowJar").get() val shadowTask = project(":javaagent").tasks.named<ShadowJar>("fullJavaagentJar").get()
inputs.files(layout.files(shadowTask)) inputs.files(layout.files(shadowTask))
doFirst { doFirst {