Skip to content

Commit be9ed57

Browse files
committed
Merge branch 'main' into renovate/org.postgresql-postgresql-42.x
2 parents 6742bfb + 8f240de commit be9ed57

20 files changed

+570
-94
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# JVM Dependency Conflict Resolution Gradle plugin - Changelog
22

3+
## Version 2.4
4+
* [Fix] [#238](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/238) Patch DSL now works for dependencies with non-standard variant names (e.g. com.google.guava).
5+
* [Fix] [#243](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/243) jakarta.xml.ws:jakarta.xml.ws-api no longer clashes with jakarta.jws:jakarta.jws-api for versions <= 4.0
6+
* [Deprecation] [#251](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/251) Deprecate GuavaComponentRule in favor of more general patch DSL.
7+
38
## Version 2.3
49
* [New Rule] [#66](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/66) itext:itext / com.lowagie:itext (Thanks [Björn Kautler](https://github.com/Vampire) for reporting)
510
* [New Rule] [#222](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/222) dk.brics.automaton:automaton / dk.brics:automaton (Thanks [Ketan Padegaonkar](https://github.com/ketan) for reporting)

README.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,14 @@ If some of the transitive dependencies are not wanted in your case, you can fine
100100
jvmDependencyConflicts {
101101
patch {
102102
module("com.google.guava:guava") {
103-
removeDependency("com.google.code.findbugs:jsr305")
104103
reduceToCompileOnlyApiDependency("com.google.errorprone:error_prone_annotations")
104+
reduceToCompileOnlyApiDependency("com.google.j2objc:j2objc-annotations")
105+
reduceToCompileOnlyApiDependency("org.jspecify:jspecify")
105106
}
106107
}
107108
}
108109
```
109110
110-
If you need the previous behavior for older Guava versions, you can explicitly apply the `GuavaComponentRule`.
111-
112-
```kotlin
113-
dependencies.components {
114-
withModule<GuavaComponentRule>("com.google.guava:guava")
115-
}
116-
```
117-
118111
## Disclaimer
119112
120113
Gradle and the Gradle logo are trademarks of Gradle, Inc.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
3+
distributionSha256Sum=7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME

samples/sample-all-deactivated/build.gradle.kts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ dependencies {
1010
implementation("cglib:cglib-nodep:3.3.0")
1111
implementation("cglib:cglib:3.3.0")
1212
implementation("ch.qos.logback:logback-classic:1.5.18")
13-
implementation("com.github.librepdf:openpdf:2.0.3")
13+
implementation("com.github.librepdf:openpdf:2.0.5")
1414
implementation("com.github.spotbugs:spotbugs-annotations:4.9.3")
1515
implementation("com.github.stephenc.jcip:jcip-annotations:1.0-1")
1616
implementation("com.google.code.findbugs:annotations:3.0.1")
@@ -21,7 +21,7 @@ dependencies {
2121
implementation("com.intellij:annotations:12.0")
2222
implementation("com.jwebmp:javax.inject:1.1")
2323
implementation("com.lowagie:itext:4.2.2")
24-
implementation("com.mchange:c3p0:0.11.0")
24+
implementation("com.mchange:c3p0:0.11.1")
2525
implementation("com.mchange:mchange-commons-java:0.3.2")
2626
implementation("com.miglayout:miglayout-swing:11.4.2")
2727
implementation("com.miglayout:miglayout:3.7.4")
@@ -128,13 +128,13 @@ dependencies {
128128
implementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3")
129129
implementation("org.apache.logging.log4j:log4j-to-slf4j:2.24.3")
130130
implementation("org.apache.solr:solr-commons-csv:3.5.0")
131-
implementation("org.apache.tomcat.embed:tomcat-embed-core:11.0.6")
132-
implementation("org.apache.tomcat.embed:tomcat-embed-websocket:11.0.6")
131+
implementation("org.apache.tomcat.embed:tomcat-embed-core:11.0.7")
132+
implementation("org.apache.tomcat.embed:tomcat-embed-websocket:11.0.7")
133133
implementation("org.apache.tomcat:servlet-api:6.0.53")
134-
implementation("org.apache.tomcat:tomcat-annotations-api:11.0.6")
135-
implementation("org.apache.tomcat:tomcat-servlet-api:11.0.6")
136-
implementation("org.apache.tomcat:tomcat-websocket-api:11.0.6")
137-
implementation("org.apache.tomcat:tomcat-websocket-client-api:11.0.6")
134+
implementation("org.apache.tomcat:tomcat-annotations-api:11.0.7")
135+
implementation("org.apache.tomcat:tomcat-servlet-api:11.0.7")
136+
implementation("org.apache.tomcat:tomcat-websocket-api:11.0.7")
137+
implementation("org.apache.tomcat:tomcat-websocket-client-api:11.0.7")
138138
implementation("org.apache.velocity:velocity-engine-core:2.4.1")
139139
implementation("org.apache.velocity:velocity:1.7")
140140
implementation("org.bouncycastle:bc-fips-debug:2.1.0")
@@ -253,8 +253,8 @@ dependencies {
253253
implementation("org.slf4j:slf4j-log4j12:2.0.17")
254254
implementation("org.slf4j:slf4j-nop:2.0.17")
255255
implementation("org.slf4j:slf4j-simple:2.0.17")
256-
implementation("org.springframework:spring-aop:6.2.6")
257-
implementation("org.springframework:spring-jcl:6.2.6")
256+
implementation("org.springframework:spring-aop:6.2.7")
257+
implementation("org.springframework:spring-jcl:6.2.7")
258258
implementation("postgresql:postgresql:9.1-901-1.jdbc4")
259259
implementation("servletapi:servletapi:2.4-20040521")
260260
implementation("stax:stax-api:1.0.1")

samples/sample-all-deactivated/build.out

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ compileClasspath - Compile classpath for source set 'main'.
99
+--- cglib:cglib-nodep:3.3.0 FAILED
1010
+--- cglib:cglib:3.3.0 FAILED
1111
+--- ch.qos.logback:logback-classic:1.5.18 FAILED
12-
+--- com.github.librepdf:openpdf:2.0.3 FAILED
12+
+--- com.github.librepdf:openpdf:2.0.5 FAILED
1313
+--- com.github.spotbugs:spotbugs-annotations:4.9.3 FAILED
1414
+--- com.github.stephenc.jcip:jcip-annotations:1.0-1 FAILED
1515
+--- com.google.code.findbugs:annotations:3.0.1 FAILED
@@ -20,7 +20,7 @@ compileClasspath - Compile classpath for source set 'main'.
2020
+--- com.intellij:annotations:12.0 FAILED
2121
+--- com.jwebmp:javax.inject:1.1 FAILED
2222
+--- com.lowagie:itext:4.2.2 FAILED
23-
+--- com.mchange:c3p0:0.11.0 FAILED
23+
+--- com.mchange:c3p0:0.11.1 FAILED
2424
+--- com.mchange:mchange-commons-java:0.3.2 FAILED
2525
+--- com.miglayout:miglayout-swing:11.4.2 FAILED
2626
+--- com.miglayout:miglayout:3.7.4 FAILED
@@ -136,13 +136,13 @@ compileClasspath - Compile classpath for source set 'main'.
136136
+--- org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3 FAILED
137137
+--- org.apache.logging.log4j:log4j-to-slf4j:2.24.3 FAILED
138138
+--- org.apache.solr:solr-commons-csv:3.5.0 FAILED
139-
+--- org.apache.tomcat.embed:tomcat-embed-core:11.0.6 FAILED
140-
+--- org.apache.tomcat.embed:tomcat-embed-websocket:11.0.6 FAILED
139+
+--- org.apache.tomcat.embed:tomcat-embed-core:11.0.7 FAILED
140+
+--- org.apache.tomcat.embed:tomcat-embed-websocket:11.0.7 FAILED
141141
+--- org.apache.tomcat:servlet-api:6.0.53 FAILED
142-
+--- org.apache.tomcat:tomcat-annotations-api:11.0.6 FAILED
143-
+--- org.apache.tomcat:tomcat-servlet-api:11.0.6 FAILED
144-
+--- org.apache.tomcat:tomcat-websocket-api:11.0.6 FAILED
145-
+--- org.apache.tomcat:tomcat-websocket-client-api:11.0.6 FAILED
142+
+--- org.apache.tomcat:tomcat-annotations-api:11.0.7 FAILED
143+
+--- org.apache.tomcat:tomcat-servlet-api:11.0.7 FAILED
144+
+--- org.apache.tomcat:tomcat-websocket-api:11.0.7 FAILED
145+
+--- org.apache.tomcat:tomcat-websocket-client-api:11.0.7 FAILED
146146
+--- org.apache.velocity:velocity-engine-core:2.4.1 FAILED
147147
+--- org.apache.velocity:velocity:1.7 FAILED
148148
+--- org.bouncycastle:bc-fips-debug:2.1.0 FAILED
@@ -261,8 +261,8 @@ compileClasspath - Compile classpath for source set 'main'.
261261
+--- org.slf4j:slf4j-log4j12:2.0.17 FAILED
262262
+--- org.slf4j:slf4j-nop:2.0.17 FAILED
263263
+--- org.slf4j:slf4j-simple:2.0.17 FAILED
264-
+--- org.springframework:spring-aop:6.2.6 FAILED
265-
+--- org.springframework:spring-jcl:6.2.6 FAILED
264+
+--- org.springframework:spring-aop:6.2.7 FAILED
265+
+--- org.springframework:spring-jcl:6.2.7 FAILED
266266
+--- postgresql:postgresql:9.1-901-1.jdbc4 FAILED
267267
+--- servletapi:servletapi:2.4-20040521 FAILED
268268
+--- stax:stax-api:1.0.1 FAILED

samples/sample-all/build.gradle.kts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies {
1313
implementation("cglib:cglib-nodep:3.3.0")
1414
implementation("cglib:cglib:3.3.0")
1515
implementation("ch.qos.logback:logback-classic:1.5.18")
16-
implementation("com.github.librepdf:openpdf:2.0.3")
16+
implementation("com.github.librepdf:openpdf:2.0.5")
1717
implementation("com.github.spotbugs:spotbugs-annotations:4.9.3")
1818
implementation("com.github.stephenc.jcip:jcip-annotations:1.0-1")
1919
implementation("com.google.code.findbugs:annotations:3.0.1")
@@ -24,7 +24,7 @@ dependencies {
2424
implementation("com.intellij:annotations:12.0")
2525
implementation("com.jwebmp:javax.inject:1.1")
2626
implementation("com.lowagie:itext:4.2.2")
27-
implementation("com.mchange:c3p0:0.11.0")
27+
implementation("com.mchange:c3p0:0.11.1")
2828
implementation("com.mchange:mchange-commons-java:0.3.2")
2929
implementation("com.miglayout:miglayout-swing:11.4.2")
3030
implementation("com.miglayout:miglayout:3.7.4")
@@ -131,13 +131,13 @@ dependencies {
131131
implementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3")
132132
implementation("org.apache.logging.log4j:log4j-to-slf4j:2.24.3")
133133
implementation("org.apache.solr:solr-commons-csv:3.5.0")
134-
implementation("org.apache.tomcat.embed:tomcat-embed-core:11.0.6")
135-
implementation("org.apache.tomcat.embed:tomcat-embed-websocket:11.0.6")
134+
implementation("org.apache.tomcat.embed:tomcat-embed-core:11.0.7")
135+
implementation("org.apache.tomcat.embed:tomcat-embed-websocket:11.0.7")
136136
implementation("org.apache.tomcat:servlet-api:6.0.53")
137-
implementation("org.apache.tomcat:tomcat-annotations-api:11.0.6")
138-
implementation("org.apache.tomcat:tomcat-servlet-api:11.0.6")
139-
implementation("org.apache.tomcat:tomcat-websocket-api:11.0.6")
140-
implementation("org.apache.tomcat:tomcat-websocket-client-api:11.0.6")
137+
implementation("org.apache.tomcat:tomcat-annotations-api:11.0.7")
138+
implementation("org.apache.tomcat:tomcat-servlet-api:11.0.7")
139+
implementation("org.apache.tomcat:tomcat-websocket-api:11.0.7")
140+
implementation("org.apache.tomcat:tomcat-websocket-client-api:11.0.7")
141141
implementation("org.apache.velocity:velocity-engine-core:2.4.1")
142142
implementation("org.apache.velocity:velocity:1.7")
143143
implementation("org.bouncycastle:bc-fips-debug:2.1.0")
@@ -256,8 +256,8 @@ dependencies {
256256
implementation("org.slf4j:slf4j-log4j12:2.0.17")
257257
implementation("org.slf4j:slf4j-nop:2.0.17")
258258
implementation("org.slf4j:slf4j-simple:2.0.17")
259-
implementation("org.springframework:spring-aop:6.2.6")
260-
implementation("org.springframework:spring-jcl:6.2.6")
259+
implementation("org.springframework:spring-aop:6.2.7")
260+
implementation("org.springframework:spring-jcl:6.2.7")
261261
implementation("postgresql:postgresql:9.1-901-1.jdbc4")
262262
implementation("servletapi:servletapi:2.4-20040521")
263263
implementation("stax:stax-api:1.0.1")

samples/sample-all/build.out

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ Root project 'sample-all_build.sample'
33
------------------------------------------------------------
44

55
compileClasspath - Compile classpath for source set 'main'.
6-
+--- aopalliance:aopalliance:1.0 -> org.springframework:spring-aop:6.2.6
7-
| +--- org.springframework:spring-beans:6.2.6
8-
| | \--- org.springframework:spring-core:6.2.6
9-
| | \--- org.springframework:spring-jcl:6.2.6 -> org.slf4j:jcl-over-slf4j:2.0.17
6+
+--- aopalliance:aopalliance:1.0 -> org.springframework:spring-aop:6.2.7
7+
| +--- org.springframework:spring-beans:6.2.7
8+
| | \--- org.springframework:spring-core:6.2.7
9+
| | \--- org.springframework:spring-jcl:6.2.7 -> org.slf4j:jcl-over-slf4j:2.0.17
1010
| | +--- org.slf4j:slf4j-api:2.0.17
1111
| | | \--- org.slf4j:slf4j-bom:2.0.17
1212
| | | +--- org.slf4j:slf4j-api:2.0.17 (c)
@@ -18,19 +18,19 @@ compileClasspath - Compile classpath for source set 'main'.
1818
| | | +--- org.slf4j:log4j-over-slf4j:2.0.17 (c)
1919
| | | \--- org.slf4j:jul-to-slf4j:2.0.17 (c)
2020
| | \--- org.slf4j:slf4j-bom:2.0.17 (*)
21-
| \--- org.springframework:spring-core:6.2.6 (*)
21+
| \--- org.springframework:spring-core:6.2.7 (*)
2222
+--- asm:asm:3.3.1 -> org.ow2.asm:asm:9.8
2323
| \--- org.ow2.asm:asm-bom:9.8
2424
| \--- org.ow2.asm:asm:9.8 (c)
25-
+--- c3p0:c3p0:0.9.1.2 -> com.mchange:c3p0:0.11.0
25+
+--- c3p0:c3p0:0.9.1.2 -> com.mchange:c3p0:0.11.1
2626
| \--- com.mchange:mchange-commons-java:0.3.2
2727
+--- cglib:cglib-nodep:3.3.0 -> cglib:cglib:3.3.0
2828
| \--- org.ow2.asm:asm:7.1 -> 9.8 (*)
2929
+--- cglib:cglib:3.3.0 (*)
3030
+--- ch.qos.logback:logback-classic:1.5.18 -> org.slf4j:slf4j-simple:2.0.17
3131
| +--- org.slf4j:slf4j-api:2.0.17 (*)
3232
| \--- org.slf4j:slf4j-bom:2.0.17 (*)
33-
+--- com.github.librepdf:openpdf:2.0.3 -> com.lowagie:itext:4.2.2
33+
+--- com.github.librepdf:openpdf:2.0.5 -> com.lowagie:itext:4.2.2
3434
| \--- com.itextpdf:itextpdf:5.5.6
3535
+--- com.github.spotbugs:spotbugs-annotations:4.9.3
3636
| \--- com.google.code.findbugs:jsr305:3.0.2
@@ -47,7 +47,7 @@ compileClasspath - Compile classpath for source set 'main'.
4747
+--- com.intellij:annotations:12.0 -> org.jetbrains:annotations:26.0.2
4848
+--- com.jwebmp:javax.inject:1.1
4949
+--- com.lowagie:itext:4.2.2 (*)
50-
+--- com.mchange:c3p0:0.11.0 (*)
50+
+--- com.mchange:c3p0:0.11.1 (*)
5151
+--- com.mchange:mchange-commons-java:0.3.2
5252
+--- com.miglayout:miglayout-swing:11.4.2
5353
| \--- com.miglayout:miglayout-core:11.4.2
@@ -194,13 +194,13 @@ compileClasspath - Compile classpath for source set 'main'.
194194
+--- org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3 -> org.slf4j:slf4j-simple:2.0.17 (*)
195195
+--- org.apache.logging.log4j:log4j-to-slf4j:2.24.3 (*)
196196
+--- org.apache.solr:solr-commons-csv:3.5.0 (*)
197-
+--- org.apache.tomcat.embed:tomcat-embed-core:11.0.6 -> jakarta.servlet:jakarta.servlet-api:6.1.0
198-
+--- org.apache.tomcat.embed:tomcat-embed-websocket:11.0.6 -> jakarta.websocket:jakarta.websocket-api:2.2.0
197+
+--- org.apache.tomcat.embed:tomcat-embed-core:11.0.7 -> jakarta.servlet:jakarta.servlet-api:6.1.0
198+
+--- org.apache.tomcat.embed:tomcat-embed-websocket:11.0.7 -> jakarta.websocket:jakarta.websocket-api:2.2.0
199199
+--- org.apache.tomcat:servlet-api:6.0.53 -> javax.servlet:javax.servlet-api:4.0.1
200-
+--- org.apache.tomcat:tomcat-annotations-api:11.0.6 -> jakarta.annotation:jakarta.annotation-api:3.0.0
201-
+--- org.apache.tomcat:tomcat-servlet-api:11.0.6 -> jakarta.servlet:jakarta.servlet-api:6.1.0
202-
+--- org.apache.tomcat:tomcat-websocket-api:11.0.6 -> jakarta.websocket:jakarta.websocket-api:2.2.0
203-
+--- org.apache.tomcat:tomcat-websocket-client-api:11.0.6 -> jakarta.websocket:jakarta.websocket-client-api:2.2.0
200+
+--- org.apache.tomcat:tomcat-annotations-api:11.0.7 -> jakarta.annotation:jakarta.annotation-api:3.0.0
201+
+--- org.apache.tomcat:tomcat-servlet-api:11.0.7 -> jakarta.servlet:jakarta.servlet-api:6.1.0
202+
+--- org.apache.tomcat:tomcat-websocket-api:11.0.7 -> jakarta.websocket:jakarta.websocket-api:2.2.0
203+
+--- org.apache.tomcat:tomcat-websocket-client-api:11.0.7 -> jakarta.websocket:jakarta.websocket-client-api:2.2.0
204204
+--- org.apache.velocity:velocity-engine-core:2.4.1
205205
| +--- org.apache.commons:commons-lang3:3.17.0
206206
| \--- org.slf4j:slf4j-api:1.7.36 -> 2.0.17 (*)
@@ -355,8 +355,8 @@ compileClasspath - Compile classpath for source set 'main'.
355355
+--- org.slf4j:slf4j-log4j12:2.0.17 -> org.slf4j:slf4j-simple:2.0.17 (*)
356356
+--- org.slf4j:slf4j-nop:2.0.17 -> org.slf4j:slf4j-simple:2.0.17 (*)
357357
+--- org.slf4j:slf4j-simple:2.0.17 (*)
358-
+--- org.springframework:spring-aop:6.2.6 (*)
359-
+--- org.springframework:spring-jcl:6.2.6 -> org.slf4j:jcl-over-slf4j:2.0.17 (*)
358+
+--- org.springframework:spring-aop:6.2.7 (*)
359+
+--- org.springframework:spring-jcl:6.2.7 -> org.slf4j:jcl-over-slf4j:2.0.17 (*)
360360
+--- postgresql:postgresql:9.1-901-1.jdbc4 -> org.postgresql:postgresql:42.7.6
361361
+--- servletapi:servletapi:2.4-20040521 -> javax.servlet:javax.servlet-api:4.0.1
362362
+--- stax:stax-api:1.0.1

src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApiRule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public JakartaJwsApiRule(CapabilityDefinition rule) {
3636

3737
@Override
3838
protected boolean shouldApply(ModuleVersionIdentifier id) {
39-
if (id.getName().equals("jakarta.xml.ws:jakarta.xml.ws-api")) {
39+
if (id.getName().equals("jakarta.xml.ws-api")) {
4040
return VersionNumber.parse(getVersion(id)).compareTo(VersionNumber.parse(JWS_MERGER_VERSION)) >= 0;
4141
}
4242
return true;

src/main/java/org/gradlex/jvm/dependency/conflict/resolution/rules/AddApiDependencyMetadataRule.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@
1919
import org.gradle.api.artifacts.CacheableRule;
2020
import org.gradle.api.artifacts.ComponentMetadataContext;
2121
import org.gradle.api.artifacts.ComponentMetadataRule;
22+
import org.gradle.api.attributes.Category;
23+
import org.gradle.api.attributes.Usage;
2224

2325
import javax.inject.Inject;
2426

27+
import static org.gradlex.jvm.dependency.conflict.resolution.rules.VariantSelection.allVariantsMatching;
28+
2529
/**
2630
* See:
2731
* <a href="https://docs.gradle.org/current/userguide/component_metadata_rules.html#fixing_wrong_dependency_details">
28-
* component_metadata_rules.html#fixing_wrong_dependency_details</a>
32+
* component_metadata_rules.html#fixing_wrong_dependency_details</a>
2933
*/
3034
@CacheableRule
3135
public abstract class AddApiDependencyMetadataRule implements ComponentMetadataRule {
@@ -39,6 +43,8 @@ public AddApiDependencyMetadataRule(String dependency) {
3943

4044
@Override
4145
public void execute(ComponentMetadataContext context) {
42-
context.getDetails().allVariants(v -> v.withDependencies(d -> d.add(dependency)));
46+
allVariantsMatching(context,
47+
id -> (id.matches(Usage.USAGE_ATTRIBUTE, Usage.JAVA_API) || id.matches(Usage.USAGE_ATTRIBUTE, Usage.JAVA_RUNTIME)) && id.matches(Category.CATEGORY_ATTRIBUTE, Category.LIBRARY),
48+
v -> v.withDependencies(d -> d.add(dependency)));
4349
}
4450
}

src/main/java/org/gradlex/jvm/dependency/conflict/resolution/rules/AddCompileOnlyApiDependencyMetadataRule.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@
1919
import org.gradle.api.artifacts.CacheableRule;
2020
import org.gradle.api.artifacts.ComponentMetadataContext;
2121
import org.gradle.api.artifacts.ComponentMetadataRule;
22+
import org.gradle.api.attributes.Category;
23+
import org.gradle.api.attributes.Usage;
2224

2325
import javax.inject.Inject;
2426

27+
import static org.gradlex.jvm.dependency.conflict.resolution.rules.VariantSelection.allVariantsMatching;
28+
2529
/**
2630
* See:
2731
* <a href="https://docs.gradle.org/current/userguide/component_metadata_rules.html#fixing_wrong_dependency_details">
28-
* component_metadata_rules.html#fixing_wrong_dependency_details</a>
32+
* component_metadata_rules.html#fixing_wrong_dependency_details</a>
2933
*/
3034
@CacheableRule
3135
public abstract class AddCompileOnlyApiDependencyMetadataRule implements ComponentMetadataRule {
@@ -39,7 +43,8 @@ public AddCompileOnlyApiDependencyMetadataRule(String dependency) {
3943

4044
@Override
4145
public void execute(ComponentMetadataContext context) {
42-
context.getDetails().withVariant("compile", v -> v.withDependencies(d -> d.add(dependency))); // .pom
43-
context.getDetails().withVariant("apiElements", v -> v.withDependencies(d -> d.add(dependency))); // .module
46+
allVariantsMatching(context,
47+
id -> (id.matches(Usage.USAGE_ATTRIBUTE, Usage.JAVA_API) && id.matches(Category.CATEGORY_ATTRIBUTE, Category.LIBRARY)),
48+
v -> v.withDependencies(d -> d.add(dependency)));
4449
}
4550
}

0 commit comments

Comments
 (0)