// NOTE: Order counts here!
List<ValueSource> valueSources = new ArrayList<ValueSource>( 9 );
if ( projectDir != null )
{
ValueSource basedirValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
{
public Object getValue( String expression )
{
if ( "basedir".equals( expression ) )
{
return projectDir.getAbsolutePath();
}
return null;
}
}, PROJECT_PREFIXES, true );
valueSources.add( basedirValueSource );
ValueSource baseUriValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
{
public Object getValue( String expression )
{
if ( "baseUri".equals( expression ) )
{
return projectDir.getAbsoluteFile().toURI().toString();
}
return null;
}
}, PROJECT_PREFIXES, false );
valueSources.add( baseUriValueSource );
String timestampFormat = DEFAULT_BUILD_TIMESTAMP_FORMAT;
if ( modelProperties != null )
{
timestampFormat = modelProperties.getProperty( BUILD_TIMESTAMP_FORMAT_PROPERTY, timestampFormat );
}
valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), timestampFormat ) );
}
valueSources.add( modelValueSource1 );
valueSources.add( new MapBasedValueSource( config.getUserProperties() ) );
valueSources.add( new MapBasedValueSource( modelProperties ) );
valueSources.add( new MapBasedValueSource( config.getSystemProperties() ) );
valueSources.add( new AbstractValueSource( false )
{
public Object getValue( String expression )
{
return config.getSystemProperties().getProperty( "env." + expression );
}