private String stripBasedirToken( String s ) { if ( s != null ) { String basedirExpr = null; for ( String expression : BASEDIR_EXPRESSIONS ) { if ( s.startsWith( expression ) ) { basedirExpr = expression; break; } } if ( basedirExpr != null ) { if ( s.length() > basedirExpr.length() ) { // Take out basedir expression and the leading slash s = chopLeadingFileSeparator( s.substring( basedirExpr.length() ) ); } else { s = "."; } } } return s; }
public Object execute( String expression, Object value ) { expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true ); if ( projectDir != null && value != null && unprefixedPathKeys.contains( expression ) ) { return pathTranslator.alignToBaseDirectory( String.valueOf( value ), projectDir ); } return value; }
String s = stripBasedirToken( path );
if ( project.getBasedir() != null ) relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() ); debugMessages ); interpolatedOriginal = pathTranslator.unalignFromBaseDirectory( interpolatedOriginal, project.getBasedir() ); debugMessages ); interpolatedOriginal2 = pathTranslator.alignToBaseDirectory( interpolatedOriginal2, project.getBasedir() ); debugMessages ); interpolatedChanged = pathTranslator.alignToBaseDirectory( interpolatedChanged, project.getBasedir() );
build.setDirectory( unalignFromBaseDirectory( build.getDirectory(), basedir ) ); build.setSourceDirectory( unalignFromBaseDirectory( build.getSourceDirectory(), basedir ) ); build.setTestSourceDirectory( unalignFromBaseDirectory( build.getTestSourceDirectory(), basedir ) ); build.setScriptSourceDirectory( unalignFromBaseDirectory( build.getScriptSourceDirectory(), basedir ) ); resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) ); resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) ); filters.add( unalignFromBaseDirectory( filter, basedir ) ); build.setOutputDirectory( unalignFromBaseDirectory( build.getOutputDirectory(), basedir ) ); build.setTestOutputDirectory( unalignFromBaseDirectory( build.getTestOutputDirectory(), basedir ) ); reporting.setOutputDirectory( unalignFromBaseDirectory( reporting.getOutputDirectory(), basedir ) );
build.setDirectory( alignToBaseDirectory( build.getDirectory(), basedir ) ); build.setSourceDirectory( alignToBaseDirectory( build.getSourceDirectory(), basedir ) ); build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) ); resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) ); resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) ); filters.add( alignToBaseDirectory( filter, basedir ) ); build.setOutputDirectory( alignToBaseDirectory( build.getOutputDirectory(), basedir ) ); build.setTestOutputDirectory( alignToBaseDirectory( build.getTestOutputDirectory(), basedir ) ); reporting.setOutputDirectory( alignToBaseDirectory( reporting.getOutputDirectory(), basedir ) );
originalResource.setDirectory( pathTranslator.unalignFromBaseDirectory( dir, project.getBasedir() ) ); originalResource.setTargetPath( pathTranslator.unalignFromBaseDirectory( target, project.getBasedir() ) );
private List translateListOfPaths( List paths, File basedir ) { if ( paths == null ) { return null; } else if ( basedir == null ) { return paths; } List result = new ArrayList( paths.size() ); for ( Iterator it = paths.iterator(); it.hasNext(); ) { String path = (String) it.next(); String aligned = pathTranslator.alignToBaseDirectory( path, basedir ); result.add( aligned ); } return result; }
permutations[0] = pathTranslator.alignToBaseDirectory( (String) originalInterpolatedStrings.get( idx ), project.getBasedir() ); permutations[1] = (String) originalStrings.get( idx ); if ( project.getBasedir() != null ) relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() ); debugMessages ); interpolated = pathTranslator.alignToBaseDirectory( interpolated, project.getBasedir() );
s = chopLeadingFileSeparator( s.substring( basedirExpr.length() ) );
public String alignToBaseDirectory( String path, File basedir ) { if ( basedir == null ) { return path; } if ( path == null ) { return null; } String s = stripBasedirToken( path ); File file = new File( s ); if ( file.isAbsolute() ) { // path was already absolute, just normalize file separator and we're done s = file.getPath(); } else if ( file.getPath().startsWith( File.separator ) ) { // drive-relative Windows path, don't align with project directory but with drive root s = file.getAbsolutePath(); } else { // an ordinary relative path, align with project directory s = new File( new File( basedir, s ).toURI().normalize() ).getAbsolutePath(); } return s; }
build.setDirectory( unalignFromBaseDirectory( build.getDirectory(), basedir ) ); build.setSourceDirectory( unalignFromBaseDirectory( build.getSourceDirectory(), basedir ) ); build.setTestSourceDirectory( unalignFromBaseDirectory( build.getTestSourceDirectory(), basedir ) ); resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) ); resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) ); for ( String filter : build.getFilters() ) filters.add( unalignFromBaseDirectory( filter, basedir ) ); build.setOutputDirectory( unalignFromBaseDirectory( build.getOutputDirectory(), basedir ) ); build.setTestOutputDirectory( unalignFromBaseDirectory( build.getTestOutputDirectory(), basedir ) ); reporting.setOutputDirectory( unalignFromBaseDirectory( reporting.getOutputDirectory(), basedir ) );
build.setDirectory( alignToBaseDirectory( build.getDirectory(), basedir ) ); build.setSourceDirectory( alignToBaseDirectory( build.getSourceDirectory(), basedir ) ); build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) ); resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) ); resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) ); for ( String filter : build.getFilters() ) filters.add( alignToBaseDirectory( filter, basedir ) ); build.setOutputDirectory( alignToBaseDirectory( build.getOutputDirectory(), basedir ) ); build.setTestOutputDirectory( alignToBaseDirectory( build.getTestOutputDirectory(), basedir ) ); reporting.setOutputDirectory( alignToBaseDirectory( reporting.getOutputDirectory(), basedir ) );
public Object execute( String expression, Object value ) { expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true ); if ( projectDir != null && value != null && unprefixedPathKeys.contains( expression ) ) { return pathTranslator.alignToBaseDirectory( String.valueOf( value ), projectDir ); } return value; }
public String unalignFromBaseDirectory( String path, File basedir ) { if ( basedir == null ) { return path; } if ( path == null ) { return null; } path = path.trim(); String base = basedir.getAbsolutePath(); if ( path.startsWith( base ) ) { path = chopLeadingFileSeparator( path.substring( base.length() ) ); } if ( path.length() <= 0 ) { path = "."; } if ( !new File( path ).isAbsolute() ) { path = path.replace( '\\', '/' ); } return path; }
pathTranslator.alignToBaseDirectory( model, basedir );
/** * {@inheritDoc} */ public String unalignFromBaseDirectory( String path, File basedir ) { if ( basedir == null ) { return path; } if ( path == null ) { return null; } path = path.trim(); String base = basedir.getAbsolutePath(); if ( path.startsWith( base ) ) { path = chopLeadingFileSeparator( path.substring( base.length() ) ); } if ( !new File( path ).isAbsolute() ) { path = path.replace( '\\', '/' ); } return path; }
@Override public File alignToBaseDirectory( File file ) { return new File( pathTranslator.alignToBaseDirectory( file.getPath(), new File(basedir) ) ); }
public File alignToBaseDirectory( File file ) { return new File( pathTranslator.alignToBaseDirectory( file.getPath(), new File(basedir) ) ); }
public File alignToBaseDirectory( File file ) { return new File( pathTranslator.alignToBaseDirectory( file.getPath(), new File(basedir) ) ); }