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() );
+ }
+
}