-
Notifications
You must be signed in to change notification settings - Fork 829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid manual artifact/archive renaming (composite build readiness) #3603
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,23 @@ | ||
import gradle.kotlin.dsl.accessors._33c50961cbf9e9e490400740be7b5d25.base | ||
|
||
plugins { | ||
`maven-publish` | ||
signing | ||
|
||
id("otel.japicmp-conventions") | ||
} | ||
|
||
base { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Moved from |
||
// May be set already by a parent project, only set if not. | ||
// TODO(anuraaga): Make this less hacky by creating a "module group" plugin. | ||
if (!project.name.startsWith("opentelemetry-")) { | ||
throw Error("archivesName of ${project.path} should start with opentelemetry-") | ||
} | ||
} | ||
|
||
// We must not change group ID or artifact ID here, otherwise composite builds won't work. | ||
// Ensure that the project name matches the expected artifact ID. | ||
|
||
publishing { | ||
publications { | ||
register<MavenPublication>("mavenPublication") { | ||
|
@@ -14,10 +27,8 @@ publishing { | |
versionParts[0] += "-${release}" | ||
version = versionParts.joinToString("-") | ||
} | ||
groupId = "io.opentelemetry" | ||
afterEvaluate { | ||
// not available until evaluated. | ||
artifactId = base.archivesName.get() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Getting rid of this and ensuring that project name == archive name == artifact ID was key here. |
||
pom.description.set(project.description) | ||
} | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,9 +5,11 @@ | |
|
||
package io.opentelemetry.sdk.example; | ||
|
||
import io.opentelemetry.api.common.AttributeKey; | ||
import io.opentelemetry.api.trace.Tracer; | ||
import io.opentelemetry.exporter.logging.LoggingSpanExporter; | ||
import io.opentelemetry.sdk.OpenTelemetrySdk; | ||
import io.opentelemetry.sdk.resources.Resource; | ||
import io.opentelemetry.sdk.trace.SdkTracerProvider; | ||
import io.opentelemetry.sdk.trace.SpanProcessor; | ||
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor; | ||
|
@@ -25,6 +27,9 @@ public final class ConfigureSpanProcessorExample { | |
private static final Tracer tracer = openTelemetry.getTracer("ConfigureSpanProcessorExample"); | ||
|
||
public static void main(String[] args) { | ||
System.out.println( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I added this to test the included build, I can remove or adapt it if desired. |
||
Resource.getDefault().getAttribute(AttributeKey.stringKey("telemetry.sdk.version"))); | ||
|
||
// Example how to configure the default SpanProcessors. | ||
defaultSpanProcessors(); | ||
// After this method, the following SpanProcessors are registered: | ||
|
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change is required for the composite build to work:
So this is not enough to make composite builds work as there is at least one other problem, namely how dependency management is set up. The constraints seem to be only applied if the ultimately built project has the constraints applied. For example, without this change, if I try inside the examples subdirectory:
We can see that
opentelemetry-exporter-zipkin
has the dependencyapi("io.zipkin.reporter2:zipkin-reporter")
. However, the api configuration extends from nothing, so it does not have dependency management applied, and opentelemetry-examples-zipkin:compileClasspath does not use the java-conventions plugin so it does not have dependency management applied either.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anuraaga Actually I'll need to resurrect this one change for the included build to actually work. Seems I tested with some changes from here mixed in when I made #3653.