You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/01/30 20:56:50 UTC
svn commit: r739394 - in /maven/components/branches/maven-2.0.x: ./
maven-core/src/main/java/org/apache/maven/cli/
maven-project/src/main/java/org/apache/maven/project/path/
maven-settings/src/main/java/org/apache/maven/settings/
Author: bentmann
Date: Fri Jan 30 19:56:50 2009
New Revision: 739394
URL: http://svn.apache.org/viewvc?rev=739394&view=rev
Log:
[MNG-3951] Hide drive-relative paths from plugins
o Merged from r739385
Modified:
maven/components/branches/maven-2.0.x/ (props changed)
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java
maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Propchange: maven/components/branches/maven-2.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 30 19:56:50 2009
@@ -1,3 +1,3 @@
/maven/components/branches/maven-2.0.10-RC:708790-728809,728834
-/maven/components/branches/maven-2.1.x:720038,727670,727762,727868,728933,728937,738723,738753
+/maven/components/branches/maven-2.1.x:720038,727670,727762,727868,728933,728937,738723,738753,739385
/maven/components/trunk:720001,721902,726845,729292
Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=739394&r1=739393&r2=739394&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Fri Jan 30 19:56:50 2009
@@ -153,6 +153,14 @@
EventDispatcher eventDispatcher = new DefaultEventDispatcher();
+ // Make sure the Maven home directory is an absolute path to save us from confusion with say drive-relative
+ // Windows paths.
+ String mavenHome = System.getProperty( "maven.home" );
+ if ( mavenHome != null )
+ {
+ System.setProperty( "maven.home", new File( mavenHome ).getAbsolutePath() );
+ }
+
// ----------------------------------------------------------------------
// Now that we have everything that we need we will fire up plexus and
// bring the maven component to life for use.
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java?rev=739394&r1=739393&r2=739394&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java Fri Jan 30 19:56:50 2009
@@ -31,7 +31,6 @@
public class DefaultPathTranslator
implements PathTranslator
{
- private String FILE_SEPARATOR = "/";
public void alignToBaseDirectory( Model model, File basedir )
{
@@ -79,10 +78,27 @@
public String alignToBaseDirectory( String path, File basedir )
{
+ if ( path == null )
+ {
+ return null;
+ }
+
String s = stripBasedirToken( path );
- if ( requiresBaseDirectoryAlignment( s ) )
+ 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();
}
@@ -114,25 +130,6 @@
return s;
}
- private boolean requiresBaseDirectoryAlignment( String s )
- {
- if ( s != null )
- {
- File f = new File( s );
-
- if ( s.startsWith( FILE_SEPARATOR ) || f.isAbsolute() )
- {
- return false;
- }
- else
- {
- return true;
- }
- }
-
- return false;
- }
-
public void unalignFromBaseDirectory( Model model, File basedir )
{
Build build = model.getBuild();
Modified: maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java?rev=739394&r1=739393&r2=739394&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java Fri Jan 30 19:56:50 2009
@@ -226,6 +226,13 @@
localRepository = new File( mavenUserConfigurationDirectory, "repository" ).getAbsolutePath();
}
+ // for the special case of a drive-relative Windows path, make sure it's absolute to save plugins from trouble
+ File file = new File( localRepository );
+ if ( !file.isAbsolute() && file.getPath().startsWith( File.separator ) )
+ {
+ localRepository = file.getAbsolutePath();
+ }
+
userSettings.setLocalRepository( localRepository );
}