Skip to content

Commit f6c7a2f

Browse files
kdombeckKen Dombecktimtebeek
authored
fix: Migrate Jackson com.fasterxml.jackson.(jaxrs,jakarta.rs,jr) dependencies (#68)
to tools.jackson.(jaxrs,jakarta.rs,jr) Co-authored-by: Ken Dombeck <[email protected]> Co-authored-by: Tim te Beek <[email protected]>
1 parent 0e85d62 commit f6c7a2f

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed

src/main/resources/META-INF/rewrite/jackson-2-3.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,21 @@ recipeList:
189189
oldArtifactId: jackson-datatype-*
190190
newGroupId: tools.jackson.datatype
191191
newVersion: 3.0.x
192+
- org.openrewrite.java.dependencies.ChangeDependency:
193+
oldGroupId: com.fasterxml.jackson.jaxrs
194+
oldArtifactId: "*"
195+
newGroupId: tools.jackson.jaxrs
196+
newVersion: 3.0.x
197+
- org.openrewrite.java.dependencies.ChangeDependency:
198+
oldGroupId: com.fasterxml.jackson.jakarta.rs
199+
oldArtifactId: "*"
200+
newGroupId: tools.jackson.jakarta.rs
201+
newVersion: 3.0.x
202+
- org.openrewrite.java.dependencies.ChangeDependency:
203+
oldGroupId: com.fasterxml.jackson.jr
204+
oldArtifactId: "*"
205+
newGroupId: tools.jackson.jr
206+
newVersion: 3.0.x
192207
# Retained for the case where two or more removed modules are present, without jackson-databind
193208
- org.openrewrite.maven.RemoveDuplicateDependencies
194209

src/test/java/org/openrewrite/java/jackson/Jackson3DependenciesTest.java

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,4 +455,100 @@ void datatypeMigrated(String artifact) {
455455
)
456456
);
457457
}
458+
459+
@ParameterizedTest
460+
@ValueSource(strings = {"jackson-jaxrs-base", "jackson-jaxrs-cbor-provider", "jackson-jaxrs-json-provider",
461+
"jackson-jaxrs-smile-provider", "jackson-jaxrs-xml-provider", "jackson-jaxrs-yaml-provider"})
462+
void jaxrsMigrated(String artifact) {
463+
rewriteRun(
464+
pomXml(
465+
//language=xml
466+
"""
467+
<project>
468+
<modelVersion>4.0.0</modelVersion>
469+
<groupId>org.example</groupId>
470+
<artifactId>example</artifactId>
471+
<version>1.0.0</version>
472+
<dependencies>
473+
<dependency>
474+
<groupId>com.fasterxml.jackson.jaxrs</groupId>
475+
<artifactId>%s</artifactId>
476+
<version>2.20.0</version>
477+
</dependency>
478+
</dependencies>
479+
</project>
480+
""".formatted(artifact),
481+
spec -> spec.after(pom ->
482+
assertThat(pom)
483+
.doesNotContain(">com.fasterxml.jackson.jaxrs<")
484+
.contains(">tools.jackson.jaxrs<")
485+
.containsPattern("3\\.\\d+\\.\\d+")
486+
.actual())
487+
)
488+
);
489+
}
490+
491+
@ParameterizedTest
492+
@ValueSource(strings = {"jackson-jakarta-rs-base", "jackson-jakarta-rs-cbor-provider", "jackson-jakarta-rs-json-provider",
493+
"jackson-jakarta-rs-smile-provider", "jackson-jakarta-rs-xml-provider", "jackson-jakarta-rs-yaml-provider"})
494+
void jakartaRsMigrated(String artifact) {
495+
rewriteRun(
496+
pomXml(
497+
//language=xml
498+
"""
499+
<project>
500+
<modelVersion>4.0.0</modelVersion>
501+
<groupId>org.example</groupId>
502+
<artifactId>example</artifactId>
503+
<version>1.0.0</version>
504+
<dependencies>
505+
<dependency>
506+
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
507+
<artifactId>%s</artifactId>
508+
<version>2.20.0</version>
509+
</dependency>
510+
</dependencies>
511+
</project>
512+
""".formatted(artifact),
513+
spec -> spec.after(pom ->
514+
assertThat(pom)
515+
.doesNotContain(">com.fasterxml.jackson.jakarta.rs<")
516+
.contains(">tools.jackson.jakarta.rs<")
517+
.containsPattern("3\\.\\d+\\.\\d+")
518+
.actual())
519+
)
520+
);
521+
}
522+
523+
@ParameterizedTest
524+
@ValueSource(strings = {"jackson-jr-all", "jackson-jr-annotation-support", "jackson-jr-extension-javatime",
525+
"jackson-jr-objects", "jackson-jr-retrofit2", "jackson-jr-stree"})
526+
void jrMigrated(String artifact) {
527+
rewriteRun(
528+
pomXml(
529+
//language=xml
530+
"""
531+
<project>
532+
<modelVersion>4.0.0</modelVersion>
533+
<groupId>org.example</groupId>
534+
<artifactId>example</artifactId>
535+
<version>1.0.0</version>
536+
<dependencies>
537+
<dependency>
538+
<groupId>com.fasterxml.jackson.jr</groupId>
539+
<artifactId>%s</artifactId>
540+
<version>2.20.0</version>
541+
</dependency>
542+
</dependencies>
543+
</project>
544+
""".formatted(artifact),
545+
spec -> spec.after(pom ->
546+
assertThat(pom)
547+
.doesNotContain(">com.fasterxml.jackson.jr<")
548+
.contains(">tools.jackson.jr<")
549+
.containsPattern("3\\.\\d+\\.\\d+")
550+
.actual())
551+
)
552+
);
553+
}
458554
}

0 commit comments

Comments
 (0)