diff --git a/bom/application/pom.xml b/bom/application/pom.xml index fbbf4e3f737e9..03a619ddf401c 100644 --- a/bom/application/pom.xml +++ b/bom/application/pom.xml @@ -40,7 +40,7 @@ 1.2 1.0 1.13.0 - 2.11.0 + 2.11.1 3.2.1 3.0.5 2.1.23 diff --git a/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Cloud.java b/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Cloud.java index cffd9b6d8cd46..c9436f55f9c09 100644 --- a/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Cloud.java +++ b/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Cloud.java @@ -6,6 +6,7 @@ @Unremovable @ConfigMapping(prefix = "cloud") +@Prod public interface Cloud { @WithParentName Server server(); diff --git a/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Prod.java b/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Prod.java new file mode 100644 index 0000000000000..6010a1f6925b5 --- /dev/null +++ b/integration-tests/smallrye-config/src/main/java/io/quarkus/it/smallrye/config/Prod.java @@ -0,0 +1,29 @@ +package io.quarkus.it.smallrye.config; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import javax.validation.Constraint; +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import javax.validation.Payload; + +@Target({ ElementType.TYPE_USE, ElementType.FIELD }) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy = Prod.Validator.class) +public @interface Prod { + String message() default "server is not prod"; + + Class[] groups() default {}; + + Class[] payload() default {}; + + class Validator implements ConstraintValidator { + @Override + public boolean isValid(final Cloud value, final ConstraintValidatorContext context) { + return value.server().equals("prod"); + } + } +} diff --git a/integration-tests/smallrye-config/src/test/java/io/quarkus/it/smallrye/config/ServerResourceTest.java b/integration-tests/smallrye-config/src/test/java/io/quarkus/it/smallrye/config/ServerResourceTest.java index 5d96721359ff5..060c3bb661708 100644 --- a/integration-tests/smallrye-config/src/test/java/io/quarkus/it/smallrye/config/ServerResourceTest.java +++ b/integration-tests/smallrye-config/src/test/java/io/quarkus/it/smallrye/config/ServerResourceTest.java @@ -102,7 +102,7 @@ void invalid() { given().get("/server/validator/{prefix}", "cloud") .then() .statusCode(OK.getStatusCode()) - .body("errors", hasSize(8)) + .body("errors", hasSize(9)) .body("errors", hasItem("cloud.log.days must be less than or equal to 15")) .body("errors", hasItem("cloud.cors.origins[1].port must be greater than or equal to 8000")) .body("errors", hasItem("cloud.info.name size must be between 0 and 3")) @@ -110,6 +110,7 @@ void invalid() { .body("errors", hasItem("cloud.info.alias[0] size must be between 0 and 3")) .body("errors", hasItem("cloud.info.admins.root[1].username size must be between 0 and 4")) .body("errors", hasItem("cloud.info.firewall.accepted[1] size must be between 8 and 15")) - .body("errors", hasItem("cloud.proxy.timeout must be less than or equal to 10")); + .body("errors", hasItem("cloud.proxy.timeout must be less than or equal to 10")) + .body("errors", hasItem("server is not prod")); } } diff --git a/jakarta/rewrite.yml b/jakarta/rewrite.yml index b2beb4cae59d9..43b6a56673f5a 100644 --- a/jakarta/rewrite.yml +++ b/jakarta/rewrite.yml @@ -424,7 +424,7 @@ recipeList: newValue: 3.0 - org.openrewrite.maven.ChangePropertyValue: key: smallrye-config.version - newValue: 3.0.0-RC3 + newValue: 3.0.0-RC4 - org.openrewrite.maven.ChangePropertyValue: key: smallrye-fault-tolerance.version newValue: 6.0.0-RC4