Skip to content
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

SOLR-17619 add logchange plugin #3044

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Conversation

dsmiley
Copy link
Contributor

@dsmiley dsmiley commented Jan 18, 2025

@dsmiley dsmiley requested a review from malliaridis January 18, 2025 18:18
@github-actions github-actions bot added dependencies Dependency upgrades tool:build labels Jan 18, 2025
@dsmiley
Copy link
Contributor Author

dsmiley commented Jan 18, 2025

However it doesn't work because a conflict of Groovy transitive dependencies between this plugin and elsewhere in our build:

* What went wrong:
A problem occurred configuring root project 'solr-root'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not resolve org.apache.groovy:groovy:4.0.24.
     Required by:
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-ant:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-cli-picocli:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-console:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-datetime:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-docgenerator:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-groovydoc:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-groovysh:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-jmx:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-json:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-jsr223:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-macro:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-nio:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-servlet:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-sql:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-swing:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-templates:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-test:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-test-junit5:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-xml:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-yaml:4.0.24
         root project : > dev.logchange:dev.logchange.gradle.plugin:1.16.4 > org.apache.groovy:groovy-all:4.0.24 > org.apache.groovy:groovy-ant:4.0.24 > org.apache.groovy:groovy-bom:4.0.24
      > Module 'org.apache.groovy:groovy' has been rejected:
           Cannot select module with conflict on capability 'org.codehaus.groovy:groovy:4.0.24' also provided by [org.codehaus.groovy:groovy:3.0.9(runtime)]

@malliaridis I could really use your help on this aspect please. Build plugins seem special/different from a dependency standpoint.

@marwin1991
Copy link

@dsmiley Hello, check logchange/logchange#397 (comment)

@malliaridis
Copy link
Contributor

Marking the dependency to groovy-all as provided at the plugin level seems to be the best and easiest solution for solving this conflict. I am not sure how we could apply constraints to plugins that are loaded before the constraints block.

Thanks for addressing this @marwin1991 so quickly. 💪

And move logchange config
@dsmiley
Copy link
Contributor Author

dsmiley commented Jan 20, 2025

I added a gradle task that generates a change YAML. This is tailored for our project, pre-fills some things, and is overall less of a hassle that logchange:add is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Dependency upgrades tool:build
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants