-
Notifications
You must be signed in to change notification settings - Fork 813
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
Remove muzzle from gradleplugins #4183
Remove muzzle from gradleplugins #4183
Conversation
generation phase. These classes become part of the code that plugin inspects and traverses during | ||
references collection phase. | ||
*/ | ||
add("codegen", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") |
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.
Just wondering: we already have this in the javaagent-instrumentation plugin, why do we need to duplicate it here?
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.
Yes, testing-common:integration-tests
applies otel.javaagent-testing
convention (which applies this one), but does not apply javaagent-instrumentation
convention
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.
IIRC, which I might not :P, I think we said that we don't want this artifact on the muzzle check's transformation classpath. Is that not an issue anymore, or is that not what happens with this change?
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" - you mean "tooling"? io.opentelemetry.instrumentation.javaagent-instrumentation.gradle.kts
always included tooling to codegen
conf. Or do I miss something?
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.
Oh ok - previously for javaagent-testing.gradle.kts it was picking it up through the build.gradle dependencies but now both of them use the configuration? Cool
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.
What I don't fully understand, is if we need muzzle-generation plugin at all in io.opentelemetry.instrumentation.javaagent-testing.gradle
.
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.
At least one of our test projects includes a test instrumentation so it doesn't work without the codegen.
generation phase. These classes become part of the code that plugin inspects and traverses during | ||
references collection phase. | ||
*/ | ||
add("codegen", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") |
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.
IIRC, which I might not :P, I think we said that we don't want this artifact on the muzzle check's transformation classpath. Is that not an issue anymore, or is that not what happens with this change?
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.
thx ❤️ I will cherish the memory of the one and only time time I did the gradle-plugins publishing dance 😂
* Include gradle-plugins as a composite build * Make gradle-plugins project independent from the main one * Delete old ClassRef and friends * Fixes * Polish * Polish * Simplify
Several changes in this PR.
First,
buildSrc
was renamed toconventions
and included into the main build as a composite.This allows for the second change: include
gradle-plugins
intoconventions
as a composite build. This way we can substitute maven dependencies on gradle plugins artifacts with local project dependency and always use the latest version of it.Third, all classes that actually depend on our main project were removed from
gradle-plugins
module and moved tomuzzle
. This completely breaks the cycle between main project and plugins and allows us always use the latest version of our code without intermediate publishing. The only interface between them is now a name of the classio.opentelemetry.javaagent.tooling.muzzle.generation.MuzzleCodeGenerationPlugin