From 200e050a9734aa84f171c8dc381d22ae1f2e7309 Mon Sep 17 00:00:00 2001 From: Ladislav Thon Date: Fri, 14 Feb 2025 11:31:14 +0100 Subject: [PATCH] Maven Resolver: fix discovering settings-security.xml (cherry picked from commit b435ed76cf2fd13e151687e17b98a13eae899c69) --- .../resolver/maven/BootstrapMavenContext.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapMavenContext.java b/independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapMavenContext.java index 711a029b2bb25..aeb71fefb4801 100644 --- a/independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapMavenContext.java +++ b/independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapMavenContext.java @@ -533,7 +533,18 @@ private DefaultRepositorySystemSession newRepositorySystemSession() throws Boots DefaultSettingsDecryptionRequest decrypt = new DefaultSettingsDecryptionRequest(); decrypt.setProxies(settings.getProxies()); decrypt.setServers(settings.getServers()); + // need to set `settings-security.xml` location extra, because it isn't discovered + // by BeanBag when constructing `DefaultSecDispatcher` + File settingsSecurityXml = null; + boolean setSettingsSecurity = !System.getProperties().containsKey(SETTINGS_SECURITY) + && (settingsSecurityXml = new File(getUserMavenConfigurationHome(), "settings-security.xml")).exists(); + if (setSettingsSecurity) { + System.setProperty(SETTINGS_SECURITY, settingsSecurityXml.toString()); + } SettingsDecryptionResult decrypted = getSettingsDecrypter().decrypt(decrypt); + if (setSettingsSecurity) { + System.clearProperty(SETTINGS_SECURITY); + } if (!decrypted.getProblems().isEmpty() && log.isDebugEnabled()) { for (SettingsProblem problem : decrypted.getProblems()) {