Author: olamy
Date: Fri Sep 12 14:22:59 2008
New Revision: 694810

URL: http://svn.apache.org/viewvc?rev=694810&view=rev
Log:
[MSHARED-66] targetPath doesn't accept absolute paths


Modified:
    
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
    
maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java

Modified: 
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java?rev=694810&r1=694809&r2=694810&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
 (original)
+++ 
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
 Fri Sep 12 14:22:59 2008
@@ -239,8 +239,14 @@
 
                 File source = new File( resourceDirectory, name );
 
-                File destinationFile = new File( outputDirectory, destination 
);
+                //File destinationFile = new File( outputDirectory, 
destination );
 
+                File destinationFile = new File( destination );
+                if ( !destinationFile.isAbsolute() )
+                {
+                    destinationFile = new File( outputDirectory, destination );
+                }                
+                
                 if ( !destinationFile.getParentFile().exists() )
                 {
                     destinationFile.getParentFile().mkdirs();

Modified: 
maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java?rev=694810&r1=694809&r2=694810&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
 (original)
+++ 
maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
 Fri Sep 12 14:22:59 2008
@@ -33,7 +33,7 @@
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 
-/*
+/**
  * @author <a href="mailto:[EMAIL PROTECTED]">olamy</a>
  * 
  * @since 28 janv. 08
@@ -56,7 +56,7 @@
         }
         outputDirectory.mkdirs();
         LoggerManager loggerManager = (LoggerManager) lookup( 
LoggerManager.ROLE );
-        loggerManager.setThreshold( 0 );
+        //loggerManager.setThreshold( 0 );
     }
 
     public void testSimpleFiltering()
@@ -416,5 +416,91 @@
         File excludeDir = new File( outputDirectory, "excludedir" );
         assertFalse( excludeDir.exists() );
     }
+    
+    public void testTargetAbsolutePath()
+        throws Exception
+    {
+        File baseDir = new File( "c:\\foo\\bar" );
+        StubMavenProject mavenProject = new StubMavenProject( baseDir );
+        mavenProject.setVersion( "1.0" );
+        mavenProject.setGroupId( "org.apache" );
+        mavenProject.setName( "test project" );
+
+        MavenResourcesFiltering mavenResourcesFiltering = 
(MavenResourcesFiltering) lookup( MavenResourcesFiltering.class
+            .getName() );
+
+        String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
+
+        Resource resource = new Resource();
+        List resources = new ArrayList();
+        resources.add( resource );
+        resource.setDirectory( unitFilesDir );
+        resource.setFiltering( true );
+        resource.addInclude( "includ*" );
 
+        String targetPath = getBasedir() + "/target/testAbsolutePath/";
+        File targetPathFile = new File( targetPath );
+        resource.setTargetPath( targetPathFile.getAbsolutePath() );
+        
+        if ( !targetPathFile.exists() )
+        {
+            targetPathFile.mkdirs();
+        }
+        else
+        {
+            FileUtils.cleanDirectory( targetPathFile );
+        }
+        List filtersFile = new ArrayList();
+        filtersFile.add( getBasedir()
+            + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
+
+        MavenResourcesExecution mavenResourcesExecution = new 
MavenResourcesExecution( resources, outputDirectory,
+                                                                               
        mavenProject, null, filtersFile,
+                                                                               
        Collections.EMPTY_LIST,
+                                                                               
        new StubMavenSession() );
+        mavenResourcesFiltering.filterResources( mavenResourcesExecution );
+        
+        File[] files = targetPathFile.listFiles();
+        assertEquals( 1, files.length );
+        assertEquals( "includefile.txt", files[0].getName() );
+    }       
+
+    public void testTargetPath()
+        throws Exception
+    {
+        File baseDir = new File( "c:\\foo\\bar" );
+        StubMavenProject mavenProject = new StubMavenProject( baseDir );
+        mavenProject.setVersion( "1.0" );
+        mavenProject.setGroupId( "org.apache" );
+        mavenProject.setName( "test project" );
+
+        MavenResourcesFiltering mavenResourcesFiltering = 
(MavenResourcesFiltering) lookup( MavenResourcesFiltering.class
+            .getName() );
+
+        String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
+
+        Resource resource = new Resource();
+        List resources = new ArrayList();
+        resources.add( resource );
+        resource.setDirectory( unitFilesDir );
+        resource.setFiltering( true );
+        resource.addInclude( "includ*" );
+        resource.setTargetPath( "testTargetPath" );
+        List filtersFile = new ArrayList();
+        filtersFile.add( getBasedir()
+            + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
+
+        MavenResourcesExecution mavenResourcesExecution = new 
MavenResourcesExecution( resources, outputDirectory,
+                                                                               
        mavenProject, null, filtersFile,
+                                                                               
        Collections.EMPTY_LIST,
+                                                                               
        new StubMavenSession() );
+        mavenResourcesFiltering.filterResources( mavenResourcesExecution );
+
+        File targetPathFile = new File( outputDirectory, "testTargetPath" );
+
+        File[] files = targetPathFile.listFiles();
+        assertEquals( 1, files.length );
+        assertEquals( "includefile.txt", files[0].getName() );
+    }    
+    
 }


Reply via email to