From 2c0cebea4739a2e2811f0820e0e8f67ac70b3fea Mon Sep 17 00:00:00 2001 From: Alexander Schwartz Date: Thu, 30 Jun 2022 15:53:32 +0200 Subject: [PATCH] Direct kc.home.dir to Maven's target folder This prevents files created, for example, the store to end up in the user's home directory. Closes #12850 --- quarkus/server/pom.xml | 9 +++++++++ .../org/keycloak/quarkus/_private/IDELauncher.java | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/quarkus/server/pom.xml b/quarkus/server/pom.xml index 8d23b75ccae..61709d496a1 100644 --- a/quarkus/server/pom.xml +++ b/quarkus/server/pom.xml @@ -21,6 +21,12 @@ + + + + ${project.build.directory}/kc + + keycloak @@ -39,6 +45,9 @@ ${quarkus.version} keycloak + + ${kc.home.dir} + diff --git a/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java b/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java index c1e59ff7e92..ebdfc3152a6 100644 --- a/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java +++ b/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java @@ -1,5 +1,8 @@ package org.keycloak.quarkus._private; +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -27,6 +30,13 @@ public class IDELauncher { public static void main(String[] args) { List devArgs = new ArrayList<>(); + if (System.getProperty("kc.home.dir") == null) { + // direct the auto-created files to the target folder, so they are cleaned by "mvn clean" + // users can still provide a different folder by setting the property when starting it from their IDE. + Path path = Paths.get(System.getProperty("user.dir"), "target", "kc"); + System.setProperty("kc.home.dir", path.toAbsolutePath().toString()); + } + devArgs.addAll(Arrays.asList(args)); if (devArgs.isEmpty()) {