-
Notifications
You must be signed in to change notification settings - Fork 424
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
[#1291] build.gradle for 'picocli-shell-jline3' submodule is changed: Gradle configuration is switched (from 'implementation' to 'api') for 'org.jline:jline' dependency #1292
Conversation
…anged: Gradle configuration is switched (from 'implementation' to 'api') for 'org.jline:jline' dependency note: solves broken build issues for any Maven project that uses 'picocli-shell-jline3' version 4.6.0
Codecov Report
@@ Coverage Diff @@
## master #1292 +/- ##
=========================================
Coverage 93.78% 93.78%
Complexity 469 469
=========================================
Files 2 2
Lines 6948 6948
Branches 1864 1864
=========================================
Hits 6516 6516
Misses 146 146
Partials 286 286 Continue to review full report at Codecov.
|
I suppose the same change should be applied to all other modules, as we have the same issue for |
@@ -13,7 +13,7 @@ targetCompatibility = 1.8 | |||
|
|||
dependencies { | |||
implementation rootProject |
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.
Shouldn't we change this to api
too?
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.
Thanx for a review @remal ! I will push another commit for picocli-spring-boot-starter
tomorrow (and hopefully all these commits will be squashed into one if/when this gets merged into master).
As for a rootProject
... To be honest: this is the first that I see this Gradle directive used as a dependency (I presume that it references code/dependency from root/src/ (that somehow didn't find its way into some separate submodule).
⏩ Going further: if we compare transitive dependencies for picocli-shell-jline3
recent versions (4.5.2 vs. 4.6.0):
- https://search.maven.org/artifact/info.picocli/picocli-shell-jline3/4.5.2/jar
- https://search.maven.org/artifact/info.picocli/picocli-shell-jline3/4.6.0/jar
we will found out that Maven scope changed from compile to runtime for these three dependencies:
info.picocli:picocli
(root project, mentioned above)org.jline:jline
(https://github.com/jline/jline3/blob/master/jline/pom.xml)org.jline:jline-console
(https://github.com/jline/jline3/blob/master/console/pom.xml)
It seems that Gradle configuration for all of those three dependencies should be changed from implementation to api in order to re-introduce Maven scope compile (when those dependencies are used transitively, that is).
I will have to sleep on this 😴
Thank you both for the contribution! |
No problem @remkop ! I see that you were super-fast and that changes are landed into master: https://github.com/remkop/picocli/commits/v4.6.1 😃 |
@dejan2609 Thank you for your help! 👍🙏 |
…o be `api` scope" This reverts commit 35c06e7.
…o be `api` scope" This reverts commit 35c06e7.
note: solves broken build issues for any Maven project that uses 'picocli-shell-jline3' version 4.6.0
related issue: #1291 Cannot compile with picocli-shell-jline3 dependency using Maven