diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java index 8e9fcd9a8..8261dec1c 100644 --- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java +++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java @@ -64,7 +64,6 @@ public static RepositorySystem newRepositorySystem(final String factory) { public static SessionBuilder newRepositorySystemSession(RepositorySystem system) { SessionBuilder result = new SessionBuilderSupplier(system) .get() - .setSystemProperties(System.getProperties()) .withLocalRepositoryBaseDirectories(Path.of("target/local-repo")) .setRepositoryListener(new ConsoleRepositoryListener()) .setTransferListener(new ConsoleTransferListener()) diff --git a/maven-resolver-supplier-mvn3/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java b/maven-resolver-supplier-mvn3/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java index 882edef62..07f0ea7ac 100644 --- a/maven-resolver-supplier-mvn3/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java +++ b/maven-resolver-supplier-mvn3/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java @@ -19,8 +19,10 @@ package org.eclipse.aether.supplier; import java.util.Arrays; +import java.util.Locale; import java.util.function.Supplier; +import org.apache.maven.utils.Os; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession.CloseableSession; import org.eclipse.aether.RepositorySystemSession.SessionBuilder; @@ -70,6 +72,11 @@ public SessionBuilderSupplier(RepositorySystem repositorySystem) { protected void configureSessionBuilder(SessionBuilder session) { session.setSystemProperties(System.getProperties()); + boolean caseSensitive = !Os.IS_WINDOWS; + System.getenv().forEach((key, value) -> { + key = "env." + (caseSensitive ? key : key.toUpperCase(Locale.ENGLISH)); + session.setSystemProperty(key, value); + }); session.setDependencyTraverser(getDependencyTraverser()); session.setDependencyManager(getDependencyManager()); session.setDependencySelector(getDependencySelector()); diff --git a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java index 2d6a935e1..c548b7a25 100644 --- a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java +++ b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java @@ -18,9 +18,11 @@ */ package org.eclipse.aether.supplier; +import java.util.Locale; import java.util.function.Supplier; import org.apache.maven.repository.internal.MavenSessionBuilderSupplier; +import org.apache.maven.utils.Os; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession.CloseableSession; import org.eclipse.aether.RepositorySystemSession.SessionBuilder; @@ -38,4 +40,15 @@ public class SessionBuilderSupplier extends MavenSessionBuilderSupplier { public SessionBuilderSupplier(RepositorySystem repositorySystem) { super(repositorySystem); } + + @Override + protected void configureSessionBuilder(SessionBuilder session) { + super.configureSessionBuilder(session); + session.setSystemProperties(System.getProperties()); + boolean caseSensitive = !Os.IS_WINDOWS; + System.getenv().forEach((key, value) -> { + key = "env." + (caseSensitive ? key : key.toUpperCase(Locale.ENGLISH)); + session.setSystemProperty(key, value); + }); + } }