- Run test with CONF: lombok.jacksonized.useJackson3 = true, adjust ecj tests.

- Validate config options.
This commit is contained in:
Lars Uffmann committed 2025-09-25 11:34:28 +02:00
1 parent cb612663db
commit faa0033685
11 files changed
+23 -11

No files matched your search

@@ -149,6 +149,10 @@ public class HandleJacksonized extends EclipseAnnotationHandler<Jacksonized> {
Boolean useJackson2 = annotationNode.getAst().readConfigurationOr(ConfigurationKeys.JACKSONIZED_USE_JACKSON2, Boolean.TRUE);
Boolean useJackson3 = annotationNode.getAst().readConfigurationOr(ConfigurationKeys.JACKSONIZED_USE_JACKSON3, Boolean.FALSE);
if (! (useJackson2 || useJackson3)) {
annotationNode.addError("Usage: lombok.jacksonized.useJackson2, lombok.jacksonized.useJackson3 or both must be true.");
return;
}
if (useJackson2) {
td.annotations = addAnnotation(td, td.annotations, JACKSON2_JSON_DESERIALIZE_ANNOTATION, builderMvp);
@@ -174,9 +174,12 @@ public class HandleJacksonized extends JavacAnnotationHandler<Jacksonized> {
}
Boolean useJackson2 = annotationNode.getAst().readConfigurationOr(ConfigurationKeys.JACKSONIZED_USE_JACKSON2, Boolean.TRUE);
//FIXME: default for jackson3 should be false, I need to figure out how to use a non default config option in tests.
Boolean useJackson3 = annotationNode.getAst().readConfigurationOr(ConfigurationKeys.JACKSONIZED_USE_JACKSON3, Boolean.TRUE);
Boolean useJackson3 = annotationNode.getAst().readConfigurationOr(ConfigurationKeys.JACKSONIZED_USE_JACKSON3, Boolean.FALSE);
if (! (useJackson2 || useJackson3)) {
annotationNode.addError("Usage: lombok.jacksonized.useJackson2, lombok.jacksonized.useJackson3 or both must be true.");
return;
}
if (useJackson2) {
JCExpression jsonDeserializeType = chainDots(annotatedNode, "com", "fasterxml", "jackson", "databind", "annotation", "JsonDeserialize");
JCExpression builderClassExpression = namePlusTypeParamsToTypeReference(maker, tdNode, annotationNode.toName(builderClassName), false, List.<JCTypeParameter>nil());
@@ -1,8 +1,8 @@
import java.util.List;
import lombok.Builder;
import lombok.extern.jackson.Jacksonized;
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderComplex.TestVoidName.class) class JacksonizedBuilderComplex {
public static @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "with",buildMethodName = "execute") class TestVoidName<T extends Number> {
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderComplex.TestVoidName.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderComplex.TestVoidName.class) class JacksonizedBuilderComplex {
public static @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "with",buildMethodName = "execute") @tools.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "with",buildMethodName = "execute") class TestVoidName<T extends Number> {
private @java.lang.SuppressWarnings("all") @lombok.Generated T number;
private @java.lang.SuppressWarnings("all") @lombok.Generated int arg2;
private @java.lang.SuppressWarnings("all") @lombok.Generated String arg3;
@@ -1,7 +1,7 @@
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@lombok.extern.jackson.Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) @lombok.Builder(access = lombok.AccessLevel.PROTECTED) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSimple.JacksonizedBuilderSimpleBuilder.class) class JacksonizedBuilderSimple<T> {
protected static @java.lang.SuppressWarnings("all") @lombok.Generated @JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonizedBuilderSimpleBuilder<T> {
@lombok.extern.jackson.Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) @lombok.Builder(access = lombok.AccessLevel.PROTECTED) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSimple.JacksonizedBuilderSimpleBuilder.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSimple.JacksonizedBuilderSimpleBuilder.class) class JacksonizedBuilderSimple<T> {
protected static @java.lang.SuppressWarnings("all") @lombok.Generated @JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") @tools.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonizedBuilderSimpleBuilder<T> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int yes;
private @java.lang.SuppressWarnings("all") @lombok.Generated List<T> also;
@java.lang.SuppressWarnings("all") @lombok.Generated JacksonizedBuilderSimpleBuilder() {
@@ -7,8 +7,8 @@ import com.google.common.collect.ImmutableMap;
import lombok.Builder;
import lombok.Singular;
import lombok.extern.jackson.Jacksonized;
public @Jacksonized @Builder @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSingular.JacksonizedBuilderSingularBuilder.class) class JacksonizedBuilderSingular {
public static @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonizedBuilderSingularBuilder {
public @Jacksonized @Builder @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSingular.JacksonizedBuilderSingularBuilder.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedBuilderSingular.JacksonizedBuilderSingularBuilder.class) class JacksonizedBuilderSingular {
public static @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") @tools.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonizedBuilderSingularBuilder {
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> any$key;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<Object> any$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> values;
@@ -161,4 +161,4 @@ public @Jacksonized @Builder @com.fasterxml.jackson.databind.annotation.JsonDese
public static @java.lang.SuppressWarnings("all") @lombok.Generated JacksonizedBuilderSingular.JacksonizedBuilderSingularBuilder builder() {
return new JacksonizedBuilderSingular.JacksonizedBuilderSingularBuilder();
}
}
}
@@ -1,5 +1,5 @@
public class JacksonizedSuperBuilderSimple {
public static @lombok.extern.jackson.Jacksonized @lombok.experimental.SuperBuilder @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) class Parent {
public static @lombok.extern.jackson.Jacksonized @lombok.experimental.SuperBuilder @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends JacksonizedSuperBuilderSimple.Parent, B extends JacksonizedSuperBuilderSimple.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
public ParentBuilder() {
@@ -18,7 +18,7 @@ public class JacksonizedSuperBuilderSimple {
return (("JacksonizedSuperBuilderSimple.Parent.ParentBuilder(field1=" + this.field1) + ")");
}
}
static final @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class ParentBuilderImpl extends JacksonizedSuperBuilderSimple.Parent.ParentBuilder<JacksonizedSuperBuilderSimple.Parent, JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl> {
static final @java.lang.SuppressWarnings("all") @lombok.Generated @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") @tools.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class ParentBuilderImpl extends JacksonizedSuperBuilderSimple.Parent.ParentBuilder<JacksonizedSuperBuilderSimple.Parent, JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl> {
private ParentBuilderImpl() {
super();
}
@@ -1,5 +1,6 @@
//version 8: Jackson deps are at least Java7+.
//CONF: lombok.builder.className = Test*Name
//CONF: lombok.jacksonized.useJackson3 = true
import java.util.List;
import lombok.Builder;
import lombok.extern.jackson.Jacksonized;
@@ -1,4 +1,5 @@
//version 8: Jackson deps are at least Java7+.
//CONF: lombok.jacksonized.useJackson3 = true
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -1,4 +1,5 @@
//version 8: Jackson deps are at least Java7+.
//CONF: lombok.jacksonized.useJackson3 = true
import java.util.List;
import java.util.Map;
@@ -1,4 +1,5 @@
//version 14:
//CONF: lombok.jacksonized.useJackson3 = true
import java.util.List;
import javax.annotation.Nullable;
import com.fasterxml.jackson.annotation.JsonAnySetter;
@@ -1,3 +1,4 @@
//CONF: lombok.jacksonized.useJackson3 = true
//version 8: Jackson deps are at least Java7+.
public class JacksonizedSuperBuilderSimple {
@lombok.extern.jackson.Jacksonized