Skip to content

Commit 2f090aa

Browse files
committed
fix:feat: support for Jackson 2.19.0
Signed-off-by: Marc Nuri <[email protected]>
1 parent 693a7dc commit 2f090aa

File tree

12 files changed

+82
-8
lines changed

12 files changed

+82
-8
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
## CHANGELOG
22

3+
### 6.14.0 (TBD)
4+
* Fix #7107: Jackson 2.19.0+ support
5+
6+
#### _**Note**_: Breaking changes
7+
* Fix #7107: This release is not backwards-compatible with previous versions of Jackson, you'll need to use Jackson 2.19.0 in your project for a correct behavior of the Kubernetes Client.
8+
39
### 6.13.5 (2025-01-18)
410

511
#### Bugs

crd-generator/api-v2/src/main/java/io/fabric8/crdv2/generator/AbstractJsonSchema.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,11 @@ private T resolveObject(LinkedHashMap<String, String> visited, InternalSchemaSwa
310310
visited = new LinkedHashMap<>();
311311
}
312312

313-
BeanProperty beanProperty = gos.beanProperties.get(property.getKey());
313+
final BeanProperty beanProperty = gos.beanProperties.get(property.getKey());
314314
Utils.checkNotNull(beanProperty, "CRD generation works only with bean properties");
315+
if (beanProperty.getAnnotation(JsonIgnore.class) != null) {
316+
continue;
317+
}
315318

316319
JsonSchema propertySchema = property.getValue();
317320
PropertyMetadata propertyMetadata = new PropertyMetadata(propertySchema, beanProperty);

crd-generator/api-v2/src/test/java/io/fabric8/crdv2/example/complex/k8s/ObjectMeta.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ public void setUid(String uid) {
221221
}
222222

223223
@JsonAnyGetter
224+
@JsonIgnore
224225
public Map<String, Object> getAdditionalProperties() {
225226
return this.additionalProperties;
226227
}

crd-generator/api-v2/src/test/java/io/fabric8/crdv2/example/complex/k8s/ServiceSpec.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ public void setType(String type) {
276276
}
277277

278278
@JsonAnyGetter
279+
@JsonIgnore
279280
public Map<String, Object> getAdditionalProperties() {
280281
return this.additionalProperties;
281282
}

crd-generator/api-v2/src/test/java/io/fabric8/crdv2/example/complex/k8s/StatefulSetSpec.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public void setServiceName(String serviceName) {
115115
}
116116

117117
@JsonAnyGetter
118+
@JsonIgnore
118119
public Map<String, Object> getAdditionalProperties() {
119120
return this.additionalProperties;
120121
}

crd-generator/api-v2/src/test/java/io/fabric8/crdv2/generator/v1/JsonSchemaTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ public static class PreserveUnknown {
325325
private Map<String, Object> values = new HashMap<>();
326326

327327
@JsonAnyGetter
328+
@JsonIgnore
328329
public Map<String, Object> getAdditionalProperties() {
329330
return this.values;
330331
}

crd-generator/test/src/test/java/io/fabric8/crd/generator/approvaltests/complex/k8s/ObjectMeta.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ public void setUid(String uid) {
221221
}
222222

223223
@JsonAnyGetter
224+
@JsonIgnore
224225
public Map<String, Object> getAdditionalProperties() {
225226
return this.additionalProperties;
226227
}

crd-generator/test/src/test/java/io/fabric8/crd/generator/approvaltests/complex/k8s/ServiceSpec.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ public void setType(String type) {
275275
}
276276

277277
@JsonAnyGetter
278+
@JsonIgnore
278279
public Map<String, Object> getAdditionalProperties() {
279280
return this.additionalProperties;
280281
}

crd-generator/test/src/test/java/io/fabric8/crd/generator/approvaltests/complex/k8s/StatefulSetSpec.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public void setServiceName(String serviceName) {
115115
}
116116

117117
@JsonAnyGetter
118+
@JsonIgnore
118119
public Map<String, Object> getAdditionalProperties() {
119120
return this.additionalProperties;
120121
}

kubernetes-model-generator/kubernetes-model-common/src/main/java/io/fabric8/kubernetes/model/jackson/SettableBeanPropertyDelegate.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
2828
import com.fasterxml.jackson.databind.introspect.ObjectIdInfo;
2929
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor;
30+
import com.fasterxml.jackson.databind.util.NameTransformer;
3031

3132
import java.io.IOException;
3233
import java.lang.annotation.Annotation;
@@ -147,6 +148,14 @@ public SettableBeanProperty withSimpleName(String simpleName) {
147148
return _with(delegate.withSimpleName(simpleName));
148149
}
149150

151+
/**
152+
* {@inheritDoc}
153+
*/
154+
@Override
155+
public SettableBeanProperty unwrapped(NameTransformer unwrapper) {
156+
return _with(delegate.unwrapped(unwrapper));
157+
}
158+
150159
/**
151160
* {@inheritDoc}
152161
*/

0 commit comments

Comments
 (0)