From 0897560513dcbe08bc10bb74cbc760dba6e699a5 Mon Sep 17 00:00:00 2001 From: Steven Hawkins Date: Fri, 5 Sep 2025 13:21:20 -0400 Subject: [PATCH] fix: moves unsupported feature logging (#42380) closes: #42334 Signed-off-by: Steve Hawkins --- common/src/main/java/org/keycloak/common/Profile.java | 7 ++----- .../org/keycloak/quarkus/deployment/KeycloakProcessor.java | 4 ++++ .../keycloak/services/resources/KeycloakApplication.java | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/org/keycloak/common/Profile.java b/common/src/main/java/org/keycloak/common/Profile.java index cb107b103f0..37b1f067e81 100755 --- a/common/src/main/java/org/keycloak/common/Profile.java +++ b/common/src/main/java/org/keycloak/common/Profile.java @@ -342,8 +342,7 @@ public class Profile { verifyConfig(features); - CURRENT = new Profile(profile, features); - return CURRENT; + return init(profile, features); } private static boolean isEnabledByDefault(ProfileName profile, Feature f) { @@ -426,8 +425,6 @@ public class Profile { private Profile(ProfileName profileName, Map features) { this.profileName = profileName; this.features = Collections.unmodifiableMap(features); - - logUnsupportedFeatures(); } public static Profile getInstance() { @@ -507,7 +504,7 @@ public class Profile { } } - private void logUnsupportedFeatures() { + public void logUnsupportedFeatures() { logUnsupportedFeatures(Feature.Type.PREVIEW, getPreviewFeatures(), Logger.Level.INFO); logUnsupportedFeatures(Feature.Type.EXPERIMENTAL, getExperimentalFeatures(), Logger.Level.WARN); logUnsupportedFeatures(Feature.Type.DEPRECATED, getDeprecatedFeatures(), Logger.Level.WARN); diff --git a/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java b/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java index 9397b4dc988..38f4571790d 100644 --- a/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java +++ b/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java @@ -251,6 +251,10 @@ class KeycloakProcessor { void configureProfile(KeycloakRecorder recorder) { Profile profile = getCurrentOrCreateFeatureProfile(); + if (!Environment.isRebuildCheck()) { + profile.logUnsupportedFeatures(); + } + // record the features so that they are not calculated again at runtime recorder.configureProfile(profile.getName(), profile.getFeatures()); } diff --git a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java index 56eb4d6bee6..2b17721f36c 100644 --- a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java +++ b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java @@ -18,6 +18,7 @@ package org.keycloak.services.resources; import org.jboss.logging.Logger; import org.keycloak.Config; +import org.keycloak.common.Profile; import org.keycloak.common.crypto.CryptoIntegration; import org.keycloak.config.ConfigProviderFactory; import org.keycloak.exportimport.ExportImportConfig; @@ -58,7 +59,7 @@ public abstract class KeycloakApplication extends Application { try { logger.debugv("PlatformProvider: {0}", platform.getClass().getName()); - + Profile.getInstance().logUnsupportedFeatures(); loadConfig(); platform.onStartup(this::startup);