mirror of https://github.com/apache/maven.git
o turn on envar support in 2.1, we just can't turn it off now at this point.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@572190 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4005482797
commit
0a36e611f2
|
@ -25,15 +25,15 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
|
||||||
import org.codehaus.plexus.logging.AbstractLogEnabled;
|
import org.codehaus.plexus.logging.AbstractLogEnabled;
|
||||||
import org.codehaus.plexus.logging.Logger;
|
import org.codehaus.plexus.logging.Logger;
|
||||||
import org.codehaus.plexus.util.StringUtils;
|
import org.codehaus.plexus.util.StringUtils;
|
||||||
|
import org.codehaus.plexus.util.cli.CommandLineUtils;
|
||||||
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
|
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
|
||||||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Properties;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -50,9 +50,12 @@ public class RegexBasedModelInterpolator
|
||||||
{
|
{
|
||||||
private static final Pattern EXPRESSION_PATTERN = Pattern.compile( "\\$\\{(pom\\.|project\\.|env\\.)?([^}]+)\\}" );
|
private static final Pattern EXPRESSION_PATTERN = Pattern.compile( "\\$\\{(pom\\.|project\\.|env\\.)?([^}]+)\\}" );
|
||||||
|
|
||||||
|
private Properties envars;
|
||||||
|
|
||||||
public RegexBasedModelInterpolator()
|
public RegexBasedModelInterpolator()
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
envars = CommandLineUtils.getSystemEnvVars();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Model interpolate( Model model, Map context )
|
public Model interpolate( Model model, Map context )
|
||||||
|
@ -181,6 +184,11 @@ public class RegexBasedModelInterpolator
|
||||||
value = model.getProperties().getProperty( realExpr );
|
value = model.getProperties().getProperty( realExpr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( value == null )
|
||||||
|
{
|
||||||
|
value = envars.getProperty( realExpr );
|
||||||
|
}
|
||||||
|
|
||||||
// Any expression, not just artifactId, version etc., but also scm.repository
|
// Any expression, not just artifactId, version etc., but also scm.repository
|
||||||
// were evaluated against the model, even if there is no prefix.
|
// were evaluated against the model, even if there is no prefix.
|
||||||
// If the 2.1 strategy fails, try the legacy approach. If it yields a result, warn for it.
|
// If the 2.1 strategy fails, try the legacy approach. If it yields a result, warn for it.
|
||||||
|
@ -213,6 +221,8 @@ public class RegexBasedModelInterpolator
|
||||||
// but this could result in multiple lookups of stringValue, and replaceAll is not correct behaviour
|
// but this could result in multiple lookups of stringValue, and replaceAll is not correct behaviour
|
||||||
matcher.reset( result );
|
matcher.reset( result );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// This is the desired behaviour, however there are too many crappy poms in the repo and an issue with the
|
// This is the desired behaviour, however there are too many crappy poms in the repo and an issue with the
|
||||||
// timing of executing the interpolation
|
// timing of executing the interpolation
|
||||||
|
|
Loading…
Reference in New Issue