diff --git a/plexus-compiler-test/pom.xml b/plexus-compiler-test/pom.xml index 3dcab953..e57b9015 100644 --- a/plexus-compiler-test/pom.xml +++ b/plexus-compiler-test/pom.xml @@ -57,6 +57,10 @@ org.codehaus.plexus plexus-utils + + org.codehaus.plexus + plexus-interpolation + org.codehaus.plexus plexus-xml diff --git a/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java b/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java index 977ffbd1..cd79a06f 100644 --- a/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java +++ b/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java @@ -26,12 +26,7 @@ import javax.inject.Inject; import java.io.File; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import org.apache.maven.artifact.Artifact; @@ -43,6 +38,7 @@ import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.settings.Settings; import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader; +import org.codehaus.plexus.interpolation.*; import org.codehaus.plexus.testing.PlexusTest; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.ReaderFactory; @@ -85,6 +81,13 @@ final void setUpLocalRepo() throws Exception { if (settingsFile.exists()) { Settings settings = new SettingsXpp3Reader().read(ReaderFactory.newXmlReader(settingsFile)); localRepo = settings.getLocalRepository(); + if (localRepo != null && localRepo.contains("${") && localRepo.contains("}")) { + Interpolator interpolator = new StringSearchInterpolator(); + interpolator.addValueSource(new PropertiesBasedValueSource(System.getProperties())); + interpolator.addValueSource( + new PrefixedValueSourceWrapper(new MapBasedValueSource(System.getenv()), "env")); + localRepo = interpolator.interpolate(localRepo); + } } } if (localRepo == null) { diff --git a/pom.xml b/pom.xml index 13171985..309ff11b 100644 --- a/pom.xml +++ b/pom.xml @@ -133,6 +133,11 @@ plexus-utils 4.0.0 + + org.codehaus.plexus + plexus-interpolation + 1.26 + org.codehaus.plexus plexus-xml