diff --git a/.gitignore b/.gitignore
index ec3153369f5..028de3c76d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,6 +78,8 @@ quarkus/data/*.db
# Jakarta transformed sources #
###############################
-
/integration/admin-client-jakarta/src/
/.metadata/
+
+# Git ephemeral files
+*.versionsBackup
diff --git a/pom.xml b/pom.xml
index aa27678e56a..c3f12a1d7e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@
jboss-snapshots-repository
https://s01.oss.sonatype.org/content/repositories/snapshots/
- 2.7.6.Final
+ 2.12.0.Final
- 4.7.5.Final
- 2.13.3
- 2.13.3
- 5.6.5.Final
- 8.0.28
- 42.3.3
+ 4.7.7.Final
+ 2.13.3
+ 5.6.10.Final
+ 8.0.30
+ 42.4.2
+ 1.5.4.Final-format-001
+ 1.20.0.Final
3.0.1
- 1.5.4.Final-format-001
- 1.18.3.Final
+
+
+ ${jackson-bom.version}
+ ${jackson-bom.version}
+ ${hibernate-orm.version}
+ ${mysql-jdbc.version}
+ ${postgresql-jdbc.version}
+ ${wildfly-common.version}
- 1.1.0
+ 2.0.0
UTF-8
3.8.1
diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/LoggingPropertyMappers.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/LoggingPropertyMappers.java
index 9d1f9196de6..3d5b170b2c6 100644
--- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/LoggingPropertyMappers.java
+++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/LoggingPropertyMappers.java
@@ -30,8 +30,8 @@ public final class LoggingPropertyMappers {
.build(),
fromOption(LoggingOptions.LOG_CONSOLE_OUTPUT)
.to("quarkus.log.console.json")
- .paramLabel("default|json")
- .transformer(LoggingPropertyMappers::resolveLogConsoleOutput)
+ .paramLabel("output")
+ .transformer(LoggingPropertyMappers::resolveLogOutput)
.build(),
fromOption(LoggingOptions.LOG_CONSOLE_FORMAT)
.to("quarkus.log.console.format")
@@ -39,7 +39,6 @@ public final class LoggingPropertyMappers {
.build(),
fromOption(LoggingOptions.LOG_CONSOLE_COLOR)
.to("quarkus.log.console.color")
- .paramLabel(Boolean.TRUE + "|" + Boolean.FALSE)
.build(),
fromOption(LoggingOptions.LOG_CONSOLE_ENABLED)
.mapFrom("log")
@@ -53,13 +52,18 @@ public final class LoggingPropertyMappers {
.build(),
fromOption(LoggingOptions.LOG_FILE)
.to("quarkus.log.file.path")
- .paramLabel("/.log")
+ .paramLabel("file")
.transformer(LoggingPropertyMappers::resolveFileLogLocation)
.build(),
fromOption(LoggingOptions.LOG_FILE_FORMAT)
.to("quarkus.log.file.format")
.paramLabel("")
.build(),
+ fromOption(LoggingOptions.LOG_FILE_OUTPUT)
+ .to("quarkus.log.file.json")
+ .paramLabel("output")
+ .transformer(LoggingPropertyMappers::resolveLogOutput)
+ .build(),
fromOption(LoggingOptions.LOG_LEVEL)
.to("quarkus.log.level")
.transformer(LoggingPropertyMappers::resolveLogLevel)
@@ -68,7 +72,6 @@ public final class LoggingPropertyMappers {
fromOption(LoggingOptions.LOG_GELF_ENABLED)
.mapFrom("log")
.to("quarkus.log.handler.gelf.enabled")
- .paramLabel(Boolean.TRUE + "|" + Boolean.FALSE)
.transformer(LoggingPropertyMappers.resolveLogHandler("gelf"))
.build(),
fromOption(LoggingOptions.LOG_GELF_LEVEL)
@@ -89,7 +92,6 @@ public final class LoggingPropertyMappers {
.build(),
fromOption(LoggingOptions.LOG_GELF_INCLUDE_STACK_TRACE)
.to("quarkus.log.handler.gelf.extract-stack-trace")
- .paramLabel(Boolean.TRUE + "|" + Boolean.FALSE)
.build(),
fromOption(LoggingOptions.LOG_GELF_TIMESTAMP_FORMAT)
.to("quarkus.log.handler.gelf.timestamp-pattern")
@@ -105,11 +107,9 @@ public final class LoggingPropertyMappers {
.build(),
fromOption(LoggingOptions.LOG_GELF_INCLUDE_LOG_MSG_PARAMS)
.to("quarkus.log.handler.gelf.include-log-message-parameters")
- .paramLabel(Boolean.TRUE + "|" + Boolean.FALSE)
.build(),
fromOption(LoggingOptions.LOG_GELF_INCLUDE_LOCATION)
.to("quarkus.log.handler.gelf.include-location")
- .paramLabel(Boolean.TRUE + "|" + Boolean.FALSE)
.build()
};
}
@@ -198,7 +198,7 @@ public final class LoggingPropertyMappers {
return rootLevel;
}
- private static Optional resolveLogConsoleOutput(Optional value, ConfigSourceInterceptorContext context) {
+ private static Optional resolveLogOutput(Optional value, ConfigSourceInterceptorContext context) {
if (value.get().equals(LoggingOptions.DEFAULT_CONSOLE_OUTPUT.name().toLowerCase(Locale.ROOT))) {
return of(Boolean.FALSE.toString());
}
diff --git a/quarkus/runtime/src/main/resources/application.properties b/quarkus/runtime/src/main/resources/application.properties
index 2c6a608902a..52812af5ec7 100644
--- a/quarkus/runtime/src/main/resources/application.properties
+++ b/quarkus/runtime/src/main/resources/application.properties
@@ -31,3 +31,6 @@ quarkus.devservices.enabled=false
# We want to expose non-application paths (e.g. health) at the root path
quarkus.http.non-application-root-path=${quarkus.http.root-path}
+
+# Disable specific categories from logs
+quarkus.log.category."io.quarkus.config".level=off
\ No newline at end of file
diff --git a/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/configuration/test/ConfigurationTest.java b/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/configuration/test/ConfigurationTest.java
index 601c4ede0e7..f49ff376f80 100644
--- a/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/configuration/test/ConfigurationTest.java
+++ b/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/configuration/test/ConfigurationTest.java
@@ -47,8 +47,9 @@ import io.quarkus.runtime.configuration.ConfigUtils;
import io.smallrye.config.SmallRyeConfigProviderResolver;
import org.keycloak.quarkus.runtime.Environment;
import org.keycloak.quarkus.runtime.vault.FilesPlainTextVaultProviderFactory;
-import org.mariadb.jdbc.MySQLDataSource;
+import org.mariadb.jdbc.MariaDbDataSource;
import org.postgresql.xa.PGXADataSource;
+import com.mysql.cj.jdbc.MysqlDataSource;
public class ConfigurationTest {
@@ -332,7 +333,7 @@ public class ConfigurationTest {
config = createConfig();
assertEquals("jdbc:mariadb://localhost:3306/keycloak?test=test&test1=test1", config.getConfigValue("quarkus.datasource.jdbc.url").getValue());
assertEquals(MariaDBDialect.class.getName(), config.getConfigValue("quarkus.hibernate-orm.dialect").getValue());
- assertEquals(MySQLDataSource.class.getName(), config.getConfigValue("quarkus.datasource.jdbc.driver").getValue());
+ assertEquals(MariaDbDataSource.class.getName(), config.getConfigValue("quarkus.datasource.jdbc.driver").getValue());
System.setProperty(CLI_ARGS, "--db=postgres");
config = createConfig();
diff --git a/quarkus/set-quarkus-version.sh b/quarkus/set-quarkus-version.sh
new file mode 100755
index 00000000000..5b92a50792c
--- /dev/null
+++ b/quarkus/set-quarkus-version.sh
@@ -0,0 +1,61 @@
+#
+# Copyright 2022 Red Hat, Inc. and/or its affiliates
+# and other contributors as indicated by the @author tags.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+if [ "$1" == "-h" ]; then
+ echo "Change the Quarkus version to a specific version."
+ echo "Usage: set-quarkus-version "
+ exit
+fi
+
+DEFAULT_QUARKUS_VERSION="999-SNAPSHOT"
+QUARKUS_VERSION=${1:-"$DEFAULT_QUARKUS_VERSION"}
+QUARKUS_BRANCH="$QUARKUS_VERSION"
+
+if [ "$QUARKUS_BRANCH" == "$DEFAULT_QUARKUS_VERSION" ]; then
+ QUARKUS_BRANCH="main"
+fi
+
+QUARKUS_BOM_URL="https://raw.githubusercontent.com/quarkusio/quarkus/$QUARKUS_BRANCH/bom/application/pom.xml"
+
+if ! $(curl --output /dev/null --silent --head --fail "$QUARKUS_BOM_URL"); then
+ echo "Failed to resolve version from Quarkus BOM at '$QUARKUS_BOM_URL'"
+ exit 1
+fi
+
+QUARKUS_BOM=$(curl -s "$QUARKUS_BOM_URL")
+
+echo "Setting Quarkus version: $QUARKUS_VERSION"
+$(mvn -f ../pom.xml versions:revert 1> /dev/null)
+$(mvn versions:set-property -f ../pom.xml -Dproperty=quarkus.version -DnewVersion="$QUARKUS_VERSION" 1> /dev/null)
+
+DEPENDENCIES_LIST="resteasy jackson-bom hibernate-orm mysql-jdbc postgresql-jdbc microprofile-metrics-api wildfly-common wildfly-elytron"
+
+echo "Changing dependencies: $DEPENDENCIES_LIST"
+$(mvn -f ./pom.xml versions:revert 1> /dev/null)
+
+for dependency in $DEPENDENCIES_LIST; do
+ VERSION=$(grep -oP "(?<=<$dependency.version>).*(?=$dependency.version)" <<< "$QUARKUS_BOM")
+ if [ "$VERSION" == "" ]; then
+ echo "Failed to resolve version for dependency '$dependency'"
+ exit 1
+ fi
+ echo "Setting $VERSION to $dependency"
+ $(mvn versions:set-property -pl . -Dproperty="$dependency".version -DnewVersion="$VERSION" 1> /dev/null)
+done
+
+echo ""
+echo "Done!"
\ No newline at end of file
diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/approvals/cli/help/HelpCommandTest.testStartDevHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/approvals/cli/help/HelpCommandTest.testStartDevHelp.unix.approved.txt
index 53ba2246961..824f8339ae2 100644
--- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/approvals/cli/help/HelpCommandTest.testStartDevHelp.unix.approved.txt
+++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/approvals/cli/help/HelpCommandTest.testStartDevHelp.unix.approved.txt
@@ -177,14 +177,16 @@ Logging:
The format of unstructured console log entries. If the format has spaces in
it, escape the value using "". Default: %d{yyyy-MM-dd HH:mm:ss,SSS} %
-5p [%c] (%t) %s%e%n.
---log-console-output
+--log-console-output