Skip to content

Commit a795278

Browse files
britterjjohannesLouis Jacoment
authored
Add jboss-transaction-api to javax-transaction-api (#134)
Resolves #130 Co-authored-by: Jendrik Johannes <[email protected]> Co-authored-by: Louis Jacoment <[email protected]>
1 parent c764cce commit a795278

File tree

7 files changed

+35
-2
lines changed

7 files changed

+35
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Version 2.1
44
* [New Rule] [#125](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/125) mysql:mysql-connector-java / com.mysql:mysql-connector-j (Thanks [Eduardo Acosta Miguens](https://github.com/eduacostam)!)
5+
* [Adjusted Rule] [#130](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/130) javax-transaction-api rule now also covers jboss-transaction-api artifacts
56

67
## Version 2.0
78
* [New] [97](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/97) Unified DSL for conflict resolution, logging and metadata patching

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,9 @@ dependencies {
217217
implementation("org.hibernate.javax.persistence:hibernate-jpa-2.2-api:1.0.0.Beta2")
218218
implementation("org.javassist:javassist:3.29.1-GA")
219219
implementation("org.jboss.resteasy:jaxrs-api:3.0.1.Final")
220+
implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final")
221+
implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final")
222+
implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec:2.0.0.Final")
220223
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:1.0.1.Final")
221224
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:1.0.1.Final")
222225
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.2.Final")

samples/sample-all-deactivated/build.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,9 @@ compileClasspath - Compile classpath for source set 'main'.
213213
+--- org.hibernate.javax.persistence:hibernate-jpa-2.2-api:1.0.0.Beta2 FAILED
214214
+--- org.javassist:javassist:3.29.1-GA FAILED
215215
+--- org.jboss.resteasy:jaxrs-api:3.0.1.Final FAILED
216+
+--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final FAILED
217+
+--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final FAILED
218+
+--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec:2.0.0.Final FAILED
216219
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:1.0.1.Final FAILED
217220
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:1.0.1.Final FAILED
218221
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.2.Final FAILED

samples/sample-all/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ dependencies {
207207
implementation("org.hibernate.javax.persistence:hibernate-jpa-2.2-api:1.0.0.Beta2")
208208
implementation("org.javassist:javassist:3.29.1-GA")
209209
implementation("org.jboss.resteasy:jaxrs-api:2.0.0.GA")
210+
implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec:2.0.0.Final")
210211
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:1.0.1.Final")
211212
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:1.0.1.Final")
212213
implementation("org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.2.Final")
@@ -255,6 +256,8 @@ dependencies {
255256
// implementation("org.slf4j:slf4j-jdk14:2.0.12")
256257
// implementation("org.slf4j:slf4j-log4j12:2.0.12")
257258
// implementation("com.mchange:mchange-commons-java:0.3.0")
259+
// implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final")
260+
// implementation("org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final")
258261
}
259262

260263
jvmDependencyConflicts {
@@ -263,6 +266,7 @@ jvmDependencyConflicts {
263266
}
264267
conflictResolution {
265268
select(CapabilityDefinition.JAVAX_ACTIVATION_API, "javax.activation:javax.activation-api")
269+
select(CapabilityDefinition.JAVAX_TRANSACTION_API, "javax.transaction:javax.transaction-api")
266270
select(CapabilityDefinition.JAKARTA_SERVLET_API, "jakarta.servlet:jakarta.servlet-api")
267271
select(CapabilityDefinition.JAVAX_SERVLET_API, "javax.servlet:javax.servlet-api")
268272
select(CapabilityDefinition.BOUNCYCASTLE_BCTSP, "org.bouncycastle:bctsp-jdk15on")
@@ -274,4 +278,5 @@ tasks.detectCollisions {
274278
collisionFilter.exclude("org/bouncycastle/**")
275279
collisionFilter.exclude("javax/xml/namespace/QName.class")
276280
collisionFilter.exclude("com/sun/activation/registries/*")
281+
collisionFilter.exclude("javax/transaction/*")
277282
}

samples/sample-all/build.out

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ compileClasspath - Compile classpath for source set 'main'.
230230
+--- org.hibernate.javax.persistence:hibernate-jpa-2.2-api:1.0.0.Beta2 -> javax.persistence:javax.persistence-api:2.2
231231
+--- org.javassist:javassist:3.29.1-GA
232232
+--- org.jboss.resteasy:jaxrs-api:2.0.0.GA -> javax.ws.rs:javax.ws.rs-api:2.1.1
233+
+--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec:2.0.0.Final -> javax.transaction:javax.transaction-api:1.3
233234
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:1.0.1.Final -> javax.ws.rs:javax.ws.rs-api:2.1.1
234235
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:1.0.1.Final -> javax.ws.rs:javax.ws.rs-api:2.1.1
235236
+--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.2.Final -> javax.ws.rs:javax.ws.rs-api:2.1.1

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,10 @@ public enum CapabilityDefinition {
412412
JAVAX_TRANSACTION_API(HIGHEST_VERSION, JavaxTransactionApiRule.class,
413413
"javax.transaction:jta",
414414
"javax.transaction:javax.transaction-api",
415-
"jakarta.transaction:jakarta.transaction-api"
415+
"jakarta.transaction:jakarta.transaction-api",
416+
"org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec",
417+
"org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec",
418+
"org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec"
416419
),
417420
JAVAX_VALIDATION_API(HIGHEST_VERSION, JavaxValidationApiRule.class,
418421
"javax.validation:validation-api",

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,23 @@ public JavaxTransactionApiRule(CapabilityDefinition rule) {
3636

3737
@Override
3838
protected boolean shouldApply(ModuleVersionIdentifier id) {
39-
return VersionNumber.parse(id.getVersion()).compareTo(VersionNumber.parse(FIRST_JAKARTA_VERSION)) < 0;
39+
return VersionNumber.parse(getVersion(id)).compareTo(VersionNumber.parse(FIRST_JAKARTA_VERSION)) < 0;
40+
}
41+
42+
@Override
43+
protected String getVersion(ModuleVersionIdentifier id) {
44+
String name = id.getName();
45+
String moduleVersion = id.getVersion();
46+
47+
if (name.contains("jboss-transaction-api_")) {
48+
return transactionApiVersionForJbossName(name);
49+
}
50+
51+
return moduleVersion;
52+
}
53+
54+
private static String transactionApiVersionForJbossName(String name) {
55+
int index = "jboss-transaction-api_".length();
56+
return name.substring(index, index + 3) + ".0";
4057
}
4158
}

0 commit comments

Comments
 (0)