You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by lt...@apache.org on 2006/02/16 21:45:03 UTC

svn commit: r378360 - in /maven/maven-1/core/trunk/src/java/org/apache/maven: MavenUtils.java jelly/tags/maven/MakeRelativePathTag.java

Author: ltheussl
Date: Thu Feb 16 12:45:01 2006
New Revision: 378360

URL: http://svn.apache.org/viewcvs?rev=378360&view=rev
Log:
PR: MAVEN-1520
maven:makeRelativePath now checks if path is absolute and under basedir,
if it is not, path is returned.

Modified:
    maven/maven-1/core/trunk/src/java/org/apache/maven/MavenUtils.java
    maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/MakeRelativePathTag.java

Modified: maven/maven-1/core/trunk/src/java/org/apache/maven/MavenUtils.java
URL: http://svn.apache.org/viewcvs/maven/maven-1/core/trunk/src/java/org/apache/maven/MavenUtils.java?rev=378360&r1=378359&r2=378360&view=diff
==============================================================================
--- maven/maven-1/core/trunk/src/java/org/apache/maven/MavenUtils.java (original)
+++ maven/maven-1/core/trunk/src/java/org/apache/maven/MavenUtils.java Thu Feb 16 12:45:01 2006
@@ -844,7 +844,13 @@
     public static String makeRelativePath( File basedir, String path ) throws IOException
     {
         String canonicalBasedir = basedir.getCanonicalPath();
-        String canonicalPath = new File( path ).getCanonicalPath();
+        File pathFile = new File( path );
+        if ( !pathFile.isAbsolute() )
+        {
+            log.warn( "WARNING: path is not an absolute pathname! Returning path." );
+            return path;
+        }
+        String canonicalPath = pathFile.getCanonicalPath();
 
         if ( canonicalPath.equals(canonicalBasedir) )
         {
@@ -861,6 +867,11 @@
             {
                 canonicalPath = canonicalPath.substring( canonicalBasedir.length() );
             }
+        }
+        else
+        {
+            log.warn( "WARNING: path does not start with basedir! Returning path." );
+            return path;
         }
         return canonicalPath;
     }

Modified: maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/MakeRelativePathTag.java
URL: http://svn.apache.org/viewcvs/maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/MakeRelativePathTag.java?rev=378360&r1=378359&r2=378360&view=diff
==============================================================================
--- maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/MakeRelativePathTag.java (original)
+++ maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/MakeRelativePathTag.java Thu Feb 16 12:45:01 2006
@@ -56,7 +56,7 @@
     }
 
     /**
-     * Set the path.
+     * Set the path. This has to be absolute under basedir.
      * @param path the path.
      */
     public void setPath( String path )
@@ -74,7 +74,7 @@
     }
 
     /**
-     * Set the result variable.
+     * Set the result variable. Returns path if path is not absolute under basedir.
      * @param var the result variable name.
      */
     public void setVar( String var )