throws AssemblyFormattingException
{
try
{
MavenReaderFilterRequest filterRequest =
new MavenReaderFilterRequest( source, true, configSource.getProject(), configSource.getFilters(),
isPropertiesFile, null, configSource.getMavenSession(), null );
// filterRequest.setInjectProjectBuildFilters(true);
filterRequest.setEscapeString( escapeString );
// if these are NOT set, just use the defaults, which are '${*}' and '@'.
if ( delimiters != null && !delimiters.isEmpty() )
{
LinkedHashSet<String> delims = new LinkedHashSet<String>();
for ( String delim : delimiters )
{
if ( delim == null )
{
// FIXME: ${filter:*} could also trigger this condition. Need a better long-term solution.
delims.add( "${*}" );
}
else
{
delims.add( delim );
}
}
filterRequest.setDelimiters( delims );
}
else
{
filterRequest.setDelimiters( filterRequest.getDelimiters() );
}
filterRequest.setInjectProjectBuildFilters( configSource.isIncludeProjectBuildFilters() );
return configSource.getMavenReaderFilter().filter( filterRequest );
}
catch ( MavenFilteringException e )
{
throw new AssemblyFormattingException( "Error filtering file '" + source + "': " + e.getMessage(), e );