diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java index f87583cf11b1b..f3f6418f0dc4e 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java @@ -404,6 +404,10 @@ private void copyJarSourcesToLib(OutputTargetBuildItem outputTargetBuildItem, Path targetDirectory = outputTargetBuildItem.getOutputDirectory() .resolve(outputTargetBuildItem.getBaseName() + "-native-image-source-jar"); Path libDir = targetDirectory.resolve(JarResultBuildStep.LIB); + File libDirFile = libDir.toFile(); + if (!libDirFile.exists()) { + libDirFile.mkdirs(); + } final List appDeps = curateOutcomeBuildItem.getEffectiveModel().getUserDependencies(); for (AppDependency appDep : appDeps) { diff --git a/extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/runtime/MPRealmRuntimeConfig.java b/extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/runtime/MPRealmRuntimeConfig.java index b040d316efefe..d6f348ed8dd45 100644 --- a/extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/runtime/MPRealmRuntimeConfig.java +++ b/extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/runtime/MPRealmRuntimeConfig.java @@ -7,6 +7,8 @@ import io.quarkus.runtime.annotations.ConfigItem; import io.quarkus.runtime.annotations.ConfigPhase; import io.quarkus.runtime.annotations.ConfigRoot; +import io.quarkus.runtime.annotations.ConvertWith; +import io.quarkus.runtime.configuration.TrimmedStringConverter; /** * Configuration information used to populate a {@linkplain org.wildfly.security.auth.realm.SimpleMapBackedSecurityRealm} @@ -35,6 +37,7 @@ public class MPRealmRuntimeConfig { * See Embedded Users. */ @ConfigItem(defaultValueDocumentation = "none") + @ConvertWith(TrimmedStringConverter.class) public Map users; /** @@ -42,6 +45,7 @@ public class MPRealmRuntimeConfig { * See Embedded Roles. */ @ConfigItem(defaultValueDocumentation = "none") + @ConvertWith(TrimmedStringConverter.class) public Map roles; } diff --git a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootMetadataBuilder.java b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootMetadataBuilder.java index 07ad4515b94e1..a29c1c15c370f 100644 --- a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootMetadataBuilder.java +++ b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootMetadataBuilder.java @@ -250,17 +250,9 @@ private MergedSettings mergeSettings(PersistenceUnitDescriptor persistenceUnit) } cfg.put(WRAP_RESULT_SETS, "false"); - //Hibernate Envers requires XML_MAPPING_ENABLED to be activated, but we don't want to enable this for any other use: - if (isEnversPresent) { - if (readBooleanConfigurationValue(cfg, XML_MAPPING_ENABLED)) { - LOG.warn( - "XML mapping is not supported. It will be partially activated to allow compatibility with Hibernate Envers, but this support is temporary"); - } - } else { - if (readBooleanConfigurationValue(cfg, XML_MAPPING_ENABLED)) { - LOG.warn("XML mapping is not supported. Setting " + XML_MAPPING_ENABLED + " to false."); - } - cfg.put(XML_MAPPING_ENABLED, "false"); + if (readBooleanConfigurationValue(cfg, XML_MAPPING_ENABLED)) { + LOG.warn( + "XML mapping is not supported. It will be partially activated to allow compatibility with Hibernate Envers, but this support is temporary"); } // Note: this one is not a boolean, just having the property enables it diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/PolicyConfig.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/PolicyConfig.java index cd4860dddaf93..b5feb89fb2eef 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/PolicyConfig.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/PolicyConfig.java @@ -4,6 +4,8 @@ import io.quarkus.runtime.annotations.ConfigGroup; import io.quarkus.runtime.annotations.ConfigItem; +import io.quarkus.runtime.annotations.ConvertWith; +import io.quarkus.runtime.configuration.TrimmedStringConverter; @ConfigGroup public class PolicyConfig { @@ -12,5 +14,6 @@ public class PolicyConfig { * The roles that are allowed to access resources protected by this policy */ @ConfigItem + @ConvertWith(TrimmedStringConverter.class) public List rolesAllowed; } diff --git a/integration-tests/elytron-undertow/src/main/resources/application.properties b/integration-tests/elytron-undertow/src/main/resources/application.properties index 146f7da098274..4ac7dea74a8bc 100644 --- a/integration-tests/elytron-undertow/src/main/resources/application.properties +++ b/integration-tests/elytron-undertow/src/main/resources/application.properties @@ -1,8 +1,10 @@ quarkus.security.users.embedded.enabled=true -quarkus.security.users.embedded.users.john=john -quarkus.security.users.embedded.roles.john=employees -quarkus.security.users.embedded.users.mary=mary -quarkus.security.users.embedded.roles.mary=managers +#note that the spaces after the usernames and roles are deliberate +#to verify that they are trimmed correctly +quarkus.security.users.embedded.users.john=john +quarkus.security.users.embedded.roles.john=employees +quarkus.security.users.embedded.users.mary=mary +quarkus.security.users.embedded.roles.mary=managers quarkus.security.users.embedded.users.poul=poul quarkus.security.users.embedded.roles.poul=interns quarkus.security.users.embedded.plain-text=true