-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Add Shadow jar publication to lang-painless module. #2681
Conversation
❌ Gradle Check failure 27ff98590c5f1ff3ee87b4bcbe874714883c0899 |
This change creates a shadow jar for asm dependencies so that they do not conflict with direct asm dependencies from log4j AL2 patch. Signed-off-by: Marc Handalian <[email protected]>
start gradle check |
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.
Could you please explain in more detail what's going on here or in the original issue. This is pretty hard to grok.
modules/lang-painless/build.gradle
Outdated
api 'org.ow2.asm:asm:9.2' | ||
implementation 'org.ow2.asm:asm-util:9.2' |
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.
Any chance someone was relying on this dependency and using through lang-painless module?
#### implementation
Dependencies that are used by the project at compile and runtime but are not exposed as a compile dependency to other dependent projects. Dependencies added to the `implementation` configuration are considered an implementation detail that can be changed at a later date without affecting any dependent projects.
#### api
Dependencies that are used as compile and runtime dependencies of a project and are considered part of the external api of the project.
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.
Its possible, will revisit this if performing our own shadowing is the right path fwd, I'm not convinced thats the case.
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.
I've changed these back to api, but I don't think this will make a difference because we are rewriting the package namespace.
I see these dependencies in the |
Added a comment on the original issue. TLDR this rewrites the namespace of these dependencies so we are not attempting to load the system dependencies injected by the hotpatch that are causing the issue.
This is stumping me, I'm not able to repro the failure running check on lang-expression with the hotpatch enabled. |
Signed-off-by: Marc Handalian <[email protected]>
…y gradle. Signed-off-by: Marc Handalian <[email protected]>
Signed-off-by: Marc Handalian <[email protected]>
* Add Shadow jar publication to lang-painless module. This change creates a shadow jar for asm dependencies so that they do not conflict with direct asm dependencies from log4j AL2 patch. Signed-off-by: Marc Handalian <[email protected]> * Remove security.manager systemProperty that is not required. Signed-off-by: Marc Handalian <[email protected]> * Add explicit task dependency for publishing to maven local required by gradle. Signed-off-by: Marc Handalian <[email protected]> * Move asm dependencies back to api scope. Signed-off-by: Marc Handalian <[email protected]> (cherry picked from commit d7d4108)
* Add Shadow jar publication to lang-painless module. This change creates a shadow jar for asm dependencies so that they do not conflict with direct asm dependencies from log4j AL2 patch. Signed-off-by: Marc Handalian <[email protected]> * Remove security.manager systemProperty that is not required. Signed-off-by: Marc Handalian <[email protected]> * Add explicit task dependency for publishing to maven local required by gradle. Signed-off-by: Marc Handalian <[email protected]> * Move asm dependencies back to api scope. Signed-off-by: Marc Handalian <[email protected]> (cherry picked from commit d7d4108)
* Add Shadow jar publication to lang-painless module. This change creates a shadow jar for asm dependencies so that they do not conflict with direct asm dependencies from log4j AL2 patch. Signed-off-by: Marc Handalian <[email protected]> * Remove security.manager systemProperty that is not required. Signed-off-by: Marc Handalian <[email protected]> * Add explicit task dependency for publishing to maven local required by gradle. Signed-off-by: Marc Handalian <[email protected]> * Move asm dependencies back to api scope. Signed-off-by: Marc Handalian <[email protected]> (cherry picked from commit d7d4108) Co-authored-by: Marc Handalian <[email protected]>
* Add Shadow jar publication to lang-painless module. This change creates a shadow jar for asm dependencies so that they do not conflict with direct asm dependencies from log4j AL2 patch. Signed-off-by: Marc Handalian <[email protected]> * Remove security.manager systemProperty that is not required. Signed-off-by: Marc Handalian <[email protected]> * Add explicit task dependency for publishing to maven local required by gradle. Signed-off-by: Marc Handalian <[email protected]> * Move asm dependencies back to api scope. Signed-off-by: Marc Handalian <[email protected]> (cherry picked from commit d7d4108) Co-authored-by: Marc Handalian <[email protected]>
@mch2 Will we want to revert this at some point when the hot patching issue is generally fixed? open an issue? |
Signed-off-by: Marc Handalian [email protected]
Description
This change creates a shadow jar for asm dependencies so
that they do not conflict with direct asm dependencies from log4j AL2 patch.
This change also adds explicit task dependency order for generated tasks. This is breaking with latest gradle version that warns of implicit dependencies & -Werr enabled by default.
This also bumps all asm dependencies to version 9.2.
Issues Resolved
#2664
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.