Skip to content

Commit 0322dae

Browse files
committed
feat: migrate to Jackson 3.x (tools.jackson 3.2.1) per easy4j-deploy spec
1 parent b16b68f commit 0322dae

5 files changed

Lines changed: 27 additions & 23 deletions

File tree

pom.xml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,8 @@
483483
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
484484
<!-- Dependency versions -->
485485
<commons-exec.version>1.6.0</commons-exec.version>
486-
<jackson.version>2.22.0</jackson.version>
486+
<jackson.version>3.2.1</jackson.version>
487+
<jackson-bom.version>3.2.1</jackson-bom.version>
487488
<junit-jupiter.version>6.1.0</junit-jupiter.version>
488489
<junit.version>5.11.4</junit.version>
489490
<lombok.version>1.18.46</lombok.version>
@@ -510,13 +511,16 @@
510511

511512
<dependencyManagement>
512513
<dependencies>
513-
514+
<!-- Jackson BOM -->
514515
<dependency>
515-
<groupId>com.fasterxml.jackson.core</groupId>
516-
<artifactId>jackson-databind</artifactId>
517-
<version>${jackson.version}</version>
516+
<groupId>tools.jackson</groupId>
517+
<artifactId>jackson-bom</artifactId>
518+
<version>${jackson-bom.version}</version>
519+
<type>pom</type>
520+
<scope>import</scope>
518521
</dependency>
519522

523+
520524
<dependency>
521525
<groupId>org.apache.commons</groupId>
522526
<artifactId>commons-exec</artifactId>
@@ -549,7 +553,7 @@
549553
<dependencies>
550554

551555
<dependency>
552-
<groupId>com.fasterxml.jackson.core</groupId>
556+
<groupId>tools.jackson.core</groupId>
553557
<artifactId>jackson-databind</artifactId>
554558
</dependency>
555559

src/main/java/io/github/easy4j/claudecode/ClaudeCodeClient.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@
1515
*/
1616
package io.github.easy4j.claudecode;
1717

18-
import com.fasterxml.jackson.databind.DeserializationFeature;
19-
import com.fasterxml.jackson.databind.ObjectMapper;
18+
import tools.jackson.databind.DeserializationFeature;
19+
import tools.jackson.databind.ObjectMapper;
20+
import tools.jackson.databind.json.JsonMapper;
2021
import io.github.easy4j.claudecode.cli.ClaudeCodeCli;
2122
import io.github.easy4j.claudecode.cli.ClaudeCodeCliExecutor;
2223
import io.github.easy4j.claudecode.cli.ClaudeCodeCliResult;
2324
import io.github.easy4j.claudecode.model.ClaudeAgent;
2425
import io.github.easy4j.claudecode.model.ClaudeMessage;
2526
import io.github.easy4j.claudecode.model.ClaudeResult;
26-
import com.fasterxml.jackson.core.type.TypeReference;
27+
import tools.jackson.core.type.TypeReference;
2728
import org.slf4j.Logger;
2829
import org.slf4j.LoggerFactory;
2930

@@ -84,8 +85,7 @@ public class ClaudeCodeClient implements AutoCloseable {
8485
* This is the same mapper used for parsing both {@code stream-json}
8586
* payloads and the {@code claude agents --json} response.
8687
*/
87-
private static final ObjectMapper MAPPER = new ObjectMapper()
88-
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
88+
private static final ObjectMapper MAPPER = JsonMapper.builder().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();
8989

9090
private final ClaudeCodeClientConfig config;
9191
private final ClaudeCodeCli cli;

src/test/java/io/github/easy4j/claudecode/model/ClaudeAgentTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/
1616
package io.github.easy4j.claudecode.model;
1717

18-
import com.fasterxml.jackson.databind.DeserializationFeature;
19-
import com.fasterxml.jackson.databind.ObjectMapper;
18+
import tools.jackson.databind.DeserializationFeature;
19+
import tools.jackson.databind.ObjectMapper;
20+
import tools.jackson.databind.json.JsonMapper;
2021
import org.junit.jupiter.api.Test;
2122

2223
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -29,8 +30,7 @@
2930
*/
3031
class ClaudeAgentTest {
3132

32-
private final ObjectMapper mapper = new ObjectMapper()
33-
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
33+
private final ObjectMapper mapper = JsonMapper.builder().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();
3434

3535
@Test
3636
void shouldDeserialiseAllSnakeCaseFields() throws Exception {

src/test/java/io/github/easy4j/claudecode/model/ClaudeMessageTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/
1616
package io.github.easy4j.claudecode.model;
1717

18-
import com.fasterxml.jackson.databind.DeserializationFeature;
19-
import com.fasterxml.jackson.databind.ObjectMapper;
18+
import tools.jackson.databind.DeserializationFeature;
19+
import tools.jackson.databind.ObjectMapper;
20+
import tools.jackson.databind.json.JsonMapper;
2021
import org.junit.jupiter.api.Test;
2122

2223
import java.util.HashMap;
@@ -32,8 +33,7 @@
3233
*/
3334
class ClaudeMessageTest {
3435

35-
private final ObjectMapper mapper = new ObjectMapper()
36-
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
36+
private final ObjectMapper mapper = JsonMapper.builder().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();
3737

3838
@Test
3939
void shouldDeserialiseAssistantMessage() throws Exception {

src/test/java/io/github/easy4j/claudecode/model/ClaudeResultTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/
1616
package io.github.easy4j.claudecode.model;
1717

18-
import com.fasterxml.jackson.databind.DeserializationFeature;
19-
import com.fasterxml.jackson.databind.ObjectMapper;
18+
import tools.jackson.databind.DeserializationFeature;
19+
import tools.jackson.databind.ObjectMapper;
20+
import tools.jackson.databind.json.JsonMapper;
2021
import org.junit.jupiter.api.Test;
2122

2223
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -30,8 +31,7 @@
3031
*/
3132
class ClaudeResultTest {
3233

33-
private final ObjectMapper mapper = new ObjectMapper()
34-
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
34+
private final ObjectMapper mapper = JsonMapper.builder().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();
3535

3636
@Test
3737
void shouldDeserialiseFullResultEnvelope() throws Exception {

0 commit comments

Comments
 (0)