/** * {@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; }
String s = stripBasedirToken( path );
public NBPluginParameterExpressionEvaluator( MavenProject project, Settings settings, Properties properties ) { this.pathTranslator = new DefaultPathTranslator(); this.properties = properties; this.project = project; this.settings = settings; String basedir = null; if ( project != null ) { File projectFile = project.getBasedir(); // this should always be the case for non-super POM instances... if ( projectFile != null ) { basedir = projectFile.getAbsolutePath(); } } if ( basedir == null ) { basedir = System.getProperty( "user.dir" ); } this.basedir = 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 ) );
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 ) );
public NBPluginParameterExpressionEvaluator( MavenProject project, Settings settings, Properties properties ) { this.pathTranslator = new DefaultPathTranslator(); this.properties = properties; this.project = project; this.settings = settings; String bsdir = null; if ( project != null ) { File projectFile = project.getBasedir(); // this should always be the case for non-super POM instances... if ( projectFile != null ) { bsdir = projectFile.getAbsolutePath(); } } if ( bsdir == null ) { bsdir = System.getProperty( "user.dir" ); } this.basedir = bsdir; }
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 ) );
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 ) );
public NBPluginParameterExpressionEvaluator( MavenProject project, Settings settings, Map<? extends String,? extends String> systemProperties, Map<? extends String,? extends String> userProperties) { this.pathTranslator = new DefaultPathTranslator(); this.systemProperties = systemProperties; this.userProperties = userProperties; this.project = project; this.settings = settings; String bsdir = null; if ( project != null ) { File projectFile = project.getBasedir(); // this should always be the case for non-super POM instances... if ( projectFile != null ) { bsdir = projectFile.getAbsolutePath(); } } if ( bsdir == null ) { bsdir = System.getProperty( "user.dir" ); } this.basedir = bsdir; }
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; }
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 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; }