specialExpressionOverrides.setProperty( "finalName", finalName );
specialExpressionOverrides.setProperty( "build.finalName", finalName );
}
// 1
interpolator.addValueSource( new PropertiesBasedValueSource( specialExpressionOverrides ) );
if ( moduleProject != null )
{
// 2
interpolator.addValueSource( new PrefixedObjectValueSource( "module.", moduleProject ) );
interpolator.addValueSource( new PrefixedPropertiesValueSource( "module.properties.",
moduleProject.getProperties() ) );
if ( moduleProject.getArtifact() != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "module.", moduleProject.getArtifact() ) );
}
}
if ( artifactProject != null )
{
// 3
interpolator.addValueSource( new PrefixedObjectValueSource( "artifact.", artifactProject ) );
interpolator.addValueSource( new PrefixedPropertiesValueSource( "artifact.properties.",
artifactProject.getProperties() ) );
if ( artifactProject.getArtifact() != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "artifact.", artifactProject.getArtifact() ) );
}
}
MavenSession session = null;
if ( configSource != null )
{
session = configSource.getMavenSession();
if ( session != null )
{
Properties userProperties = null;
try
{
userProperties = session.getExecutionProperties();
}
catch ( final NoSuchMethodError nsmer )
{
// OK, so user is using Maven <= 2.0.8. No big deal.
}
if ( userProperties != null )
{
// 4
interpolator.addValueSource( new PropertiesBasedValueSource( userProperties ) );
}
}
}
if ( mainProject != null )
{
// 5
interpolator.addValueSource( new PrefixedObjectValueSource( InterpolationConstants.PROJECT_PREFIXES,
mainProject, true ) );
// 6
interpolator.addValueSource( new PrefixedPropertiesValueSource(
InterpolationConstants.PROJECT_PROPERTIES_PREFIXES,
mainProject.getProperties(), true ) );
}
Properties commandLineProperties = System.getProperties();
if ( session != null )
{
commandLineProperties = new Properties();
if ( session.getExecutionProperties() != null )
{
commandLineProperties.putAll( session.getExecutionProperties() );
}
if ( session.getUserProperties() != null )
{
commandLineProperties.putAll( session.getUserProperties() );
}
}
// 7
interpolator.addValueSource( new PropertiesBasedValueSource( commandLineProperties ) );
try
{
// 8
interpolator.addValueSource( new PrefixedPropertiesValueSource( Collections.singletonList( "env." ),