Skip to content

Commit 9ea1aa6

Browse files
authored
update for jackson 3.0.0-rc8 (#18)
1 parent 2aed088 commit 9ea1aa6

2 files changed

Lines changed: 102 additions & 12 deletions

File tree

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,37 +28,43 @@ recipeList:
2828
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
2929
groupId: com.fasterxml.jackson.core
3030
artifactId: jackson-annotations
31-
newVersion: 2.19.2
31+
newVersion: 2.20-rc1
3232
- org.openrewrite.java.dependencies.ChangeDependency:
3333
oldGroupId: com.fasterxml.jackson.core
3434
oldArtifactId: jackson-core
3535
newGroupId: tools.jackson.core
3636
newArtifactId: jackson-core
37-
newVersion: 3.0.0-rc7
37+
newVersion: 3.0.0-rc8
38+
- org.openrewrite.java.dependencies.ChangeDependency:
39+
oldGroupId: com.fasterxml.jackson
40+
oldArtifactId: jackson-bom
41+
newGroupId: tools.jackson
42+
newArtifactId: jackson-bom
43+
newVersion: 3.0.0-rc8
3844
- org.openrewrite.java.dependencies.ChangeDependency:
3945
oldGroupId: com.fasterxml.jackson.core
4046
oldArtifactId: jackson-databind
4147
newGroupId: tools.jackson.core
4248
newArtifactId: jackson-databind
43-
newVersion: 3.0.0-rc7
49+
newVersion: 3.0.0-rc8
4450
- org.openrewrite.java.dependencies.ChangeDependency:
4551
oldGroupId: com.fasterxml.jackson.module
4652
oldArtifactId: jackson-module-parameter-names
4753
newGroupId: tools.jackson.core
4854
newArtifactId: jackson-databind
49-
newVersion: 3.0.0-rc7
55+
newVersion: 3.0.0-rc8
5056
- org.openrewrite.java.dependencies.ChangeDependency:
5157
oldGroupId: com.fasterxml.jackson.datatype
5258
oldArtifactId: jackson-datatype-jdk8
5359
newGroupId: tools.jackson.core
5460
newArtifactId: jackson-databind
55-
newVersion: 3.0.0-rc7
61+
newVersion: 3.0.0-rc8
5662
- org.openrewrite.java.dependencies.ChangeDependency:
5763
oldGroupId: com.fasterxml.jackson.datatype
5864
oldArtifactId: jackson-datatype-jsr310
5965
newGroupId: tools.jackson.core
6066
newArtifactId: jackson-databind
61-
newVersion: 3.0.0-rc7
67+
newVersion: 3.0.0-rc8
6268
- org.openrewrite.java.ChangeType:
6369
oldFullyQualifiedTypeName: com.fasterxml.jackson.core.JsonParseException
6470
newFullyQualifiedTypeName: tools.jackson.core.StreamReadException

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

Lines changed: 90 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,6 @@ void jacksonUpgradeToVersion3() {
9393
assertThat(versionMatcher.find()).describedAs("Expected 3.0.x in %s", pom).isTrue();
9494
String jacksonVersion = versionMatcher.group(0);
9595

96-
Matcher annotationsVersionMatcher = Pattern.compile("3\\.\\d+(\\.\\d+)*(-rc[\\d]*)?").matcher(pom);
97-
assertThat(annotationsVersionMatcher.find()).describedAs("Expected 3.x in %s", pom).isTrue();
98-
String annotationsVersion = annotationsVersionMatcher.group(0);
99-
10096
return """
10197
<project>
10298
<modelVersion>4.0.0</modelVersion>
@@ -107,7 +103,7 @@ void jacksonUpgradeToVersion3() {
107103
<dependency>
108104
<groupId>com.fasterxml.jackson.core</groupId>
109105
<artifactId>jackson-annotations</artifactId>
110-
<version>2.19.2</version>
106+
<version>2.20-rc1</version>
111107
</dependency>
112108
<dependency>
113109
<groupId>tools.jackson.core</groupId>
@@ -121,7 +117,95 @@ void jacksonUpgradeToVersion3() {
121117
</dependency>
122118
</dependencies>
123119
</project>
124-
""".formatted(annotationsVersion, jacksonVersion, jacksonVersion);
120+
""".formatted(jacksonVersion, jacksonVersion);
121+
})),
122+
//language=java
123+
java(
124+
"""
125+
import com.fasterxml.jackson.annotation.JsonProperty;
126+
import com.fasterxml.jackson.core.JsonFactory;
127+
import com.fasterxml.jackson.core.JsonFactoryBuilder;
128+
import com.fasterxml.jackson.databind.ObjectMapper;
129+
130+
class Test {
131+
public String foo(@JsonProperty("foo") String foo) {
132+
return foo;
133+
}
134+
135+
static void helloJackson() {
136+
Object[] input = new Object[] { "one", "two" };
137+
JsonFactory factory = new JsonFactoryBuilder().build();
138+
}
139+
}
140+
""",
141+
"""
142+
import com.fasterxml.jackson.annotation.JsonProperty;
143+
import tools.jackson.core.JsonFactory;
144+
import tools.jackson.core.JsonFactoryBuilder;
145+
import tools.jackson.databind.ObjectMapper;
146+
147+
class Test {
148+
public String foo(@JsonProperty("foo") String foo) {
149+
return foo;
150+
}
151+
152+
static void helloJackson() {
153+
Object[] input = new Object[] { "one", "two" };
154+
JsonFactory factory = new JsonFactoryBuilder().build();
155+
}
156+
}
157+
"""
158+
)
159+
);
160+
}
161+
162+
@Test
163+
void jacksonUpgradeToVersion3_jacksonBomOnly() {
164+
rewriteRun(
165+
//language=xml
166+
pomXml(
167+
"""
168+
<project>
169+
<modelVersion>4.0.0</modelVersion>
170+
<groupId>org.example</groupId>
171+
<artifactId>example</artifactId>
172+
<version>1.0.0</version>
173+
<dependencyManagement>
174+
<dependencies>
175+
<dependency>
176+
<groupId>com.fasterxml.jackson</groupId>
177+
<artifactId>jackson-bom</artifactId>
178+
<version>2.19.0</version>
179+
<scope>pom</scope>
180+
<type>import</type>
181+
</dependency>
182+
</dependencies>
183+
</dependencyManagement>
184+
</project>
185+
""",
186+
spec -> spec.after(pom -> {
187+
Matcher versionMatcher = Pattern.compile("3\\.\\d+\\.\\d+(-rc[\\d]*)?").matcher(pom);
188+
assertThat(versionMatcher.find()).describedAs("Expected 3.0.x in %s", pom).isTrue();
189+
String jacksonVersion = versionMatcher.group(0);
190+
return """
191+
<project>
192+
<modelVersion>4.0.0</modelVersion>
193+
<groupId>org.example</groupId>
194+
<artifactId>example</artifactId>
195+
<version>1.0.0</version>
196+
<dependencyManagement>
197+
<dependencies>
198+
<dependency>
199+
<groupId>tools.jackson</groupId>
200+
<artifactId>jackson-bom</artifactId>
201+
<version>%s</version>
202+
<scope>pom</scope>
203+
<type>import</type>
204+
</dependency>
205+
</dependencies>
206+
</dependencyManagement>
207+
</project>
208+
""".formatted(jacksonVersion);
125209
})),
126210
//language=java
127211
java(

0 commit comments

Comments
 (0)