You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mk...@apache.org on 2008/01/14 19:30:05 UTC
svn commit: r611879 - in /maven/plugins/trunk/maven-resources-plugin/src:
main/java/org/apache/maven/plugin/resources/
test/java/org/apache/maven/plugin/resources/
Author: mkleint
Date: Mon Jan 14 10:30:03 2008
New Revision: 611879
URL: http://svn.apache.org/viewvc?rev=611879&view=rev
Log:
MRESOURCES-52 the output dir parameter is supposed to be java.io.File to work correctly with the -f switch or embedded use. Patch submitted by Benjamin Bentmann.
Modified:
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java
maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/TestResourcesTest.java
Modified: maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=611879&r1=611878&r2=611879&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java Mon Jan 14 10:30:03 2008
@@ -60,7 +60,7 @@
* @parameter expression="${project.build.outputDirectory}"
* @required
*/
- private String outputDirectory;
+ private File outputDirectory;
/**
* The list of resources we want to transfer.
@@ -97,7 +97,7 @@
copyResources( resources, outputDirectory );
}
- protected void copyResources( List resources, String outputDirectory )
+ protected void copyResources( List resources, File outputDirectory )
throws MojoExecutionException
{
initializeFiltering();
@@ -131,12 +131,11 @@
// this part is required in case the user specified "../something" as destination
// see MNG-1345
- File outputDir = new File( outputDirectory );
- if ( !outputDir.exists() )
+ if ( !outputDirectory.exists() )
{
- if ( !outputDir.mkdirs() )
+ if ( !outputDirectory.mkdirs() )
{
- throw new MojoExecutionException( "Cannot create resource output directory: " + outputDir );
+ throw new MojoExecutionException( "Cannot create resource output directory: " + outputDirectory );
}
}
Modified: maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java?rev=611879&r1=611878&r2=611879&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java Mon Jan 14 10:30:03 2008
@@ -20,6 +20,8 @@
* limitations under the License.
*/
+import java.io.File;
+
/**
* Copy resources for the test source code to the test output directory.
*
@@ -38,7 +40,7 @@
* @parameter expression="${project.build.testOutputDirectory}"
* @required
*/
- private String outputDirectory;
+ private File outputDirectory;
/**
* The list of resources we want to transfer.
Modified: maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java?rev=611879&r1=611878&r2=611879&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java Mon Jan 14 10:30:03 2008
@@ -1,465 +1,465 @@
-package org.apache.maven.plugin.resources;
-
-/*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.maven.plugin.resources.stub.MavenProjectResourcesStub;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.codehaus.plexus.util.FileUtils;
-
-public class ResourcesMojoTest
- extends AbstractMojoTestCase
-{
- protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
-
- /**
- * test mojo lookup, test harness should be working fine
- *
- * @throws Exception
- */
- public void testHarnessEnvironment()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
-
- assertNotNull( mojo );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceDirectoryStructure()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.txt" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "notpackage/test/file2.txt" );
- project.setupBuildEnvironment();
-
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/file3.nottest" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceDirectoryStructure_RelativePath()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure_RelativePath" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.setOutputDirectory( "../relative_dir" );
- project.addFile( "file4.txt" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "notpackage/test/file2.txt" );
- project.setupBuildEnvironment();
-
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/file3.nottest" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceEncoding()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "encoding" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.txt" );
- project.setResourceFiltering( 0, true );
- project.setupBuildEnvironment();
-
- setVariableValueToObject( mojo, "encoding", "UTF-8" );
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceInclude()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceInclude" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file1.include" );
- project.addFile( "file2.exclude" );
- project.addFile( "file3.nottest" );
- project.addFile( "file4.txt" );
- project.addFile( "package/file1.include" );
- project.addFile( "package/file2.exclude" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "package/file4.txt" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "notpackage/file2.exclude" );
- project.addFile( "notpackage/file3.nottest" );
- project.addFile( "notpackage/file4.txt" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "package/nottest/file2.txt" );
- project.addFile( "notpackage/test/file1.txt" );
- project.addFile( "notpackage/nottest/file.txt" );
- project.setupBuildEnvironment();
-
- project.addInclude( "*.include" );
- project.addInclude( "**/test" );
- project.addInclude( "**/test/file*" );
- project.addInclude( "**/package/*.include" );
-
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/file1.include" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/file1.include" ) );
- assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
- assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceExclude()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceExclude" );
- List resources = project.getBuild().getResources();
- ;
-
- assertNotNull( mojo );
-
- project.addFile( "file1.include" );
- project.addFile( "file2.exclude" );
- project.addFile( "file3.nottest" );
- project.addFile( "file4.txt" );
- project.addFile( "package/file1.include" );
- project.addFile( "package/file2.exclude" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "package/file4.txt" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "notpackage/file2.exclude" );
- project.addFile( "notpackage/file3.nottest" );
- project.addFile( "notpackage/file4.txt" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "package/nottest/file2.txt" );
- project.addFile( "notpackage/test/file1.txt" );
- project.addFile( "notpackage/nottest/file.txt" );
- project.setupBuildEnvironment();
-
- project.addExclude( "**/*.exclude" );
- project.addExclude( "**/nottest*" );
- project.addExclude( "**/notest" );
- project.addExclude( "**/notpackage*" );
- project.addExclude( "**/notpackage*/**" );
-
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/file1.include" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/package/file1.include" ) );
- assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
- assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceTargetPath()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceTargetPath" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.setTargetPath( "org/apache/maven/plugin/test" );
-
- project.addFile( "file4.txt" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "notpackage/test/file2.txt" );
- project.setupBuildEnvironment();
-
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/file4.txt" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/package/file3.nottest" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/notpackage/file1.include" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/package/test" ) );
- assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/notpackage/test" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceSystemProperties_Filtering()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceSystemProperties_Filtering" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.txt", "current working directory = ${user.dir}" );
- project.setResourceFiltering( 0, true );
- project.setupBuildEnvironment();
-
- //setVariableValueToObject(mojo,"encoding","UTF-8");
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
- String checkString = "current working directory = " + (String) System.getProperty( "user.dir" );
-
- assertContent( resourcesDir + "/file4.txt", checkString );
- }
-
- /**
- * @throws Exception
- */
- public void testResourceProjectProperties_Filtering()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceProjectProperties_Filtering" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.txt", "current working directory = ${user.dir}" );
- project.setResourceFiltering( 0, true );
- project.addProperty( "user.dir", "FPJ kami!!!" );
- project.setupBuildEnvironment();
-
- //setVariableValueToObject(mojo,"encoding","UTF-8");
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
- String checkString = "current working directory = FPJ kami!!!";
-
- assertContent( resourcesDir + "/file4.txt", checkString );
- }
-
- /**
- * @throws Exception
- */
- public void testProjectProperty_Filtering_PropertyDestination()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project =
- new MavenProjectResourcesStub( "resourcePojectProperty_Filtering_PropertyDestination" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.properties", "current working directory=${description}" );
- project.setResourceFiltering( 0, true );
- project.setupBuildEnvironment();
-
- // setup dummy property
- project.setDescription( "c:\\\\org\\apache\\test" );
-
- //setVariableValueToObject(mojo,"encoding","UTF-8");
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
- String checkString = "current working directory=c\\:\\\\\\\\org\\\\apache\\\\test";
-
- assertContent( resourcesDir + "/file4.properties", checkString );
- }
-
- /**
- * @throws Exception
- */
- public void testPropertyFiles_Filtering()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourcePropertyFiles_Filtering" );
- List resources = project.getBuild().getResources();
- LinkedList filterList = new LinkedList();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.properties", "current working directory=${dir}" );
- project.addFile( "filter.properties", "dir:testdir" );
- project.setResourceFiltering( 0, true );
- project.setupBuildEnvironment();
- filterList.add( project.getResourcesDirectory() + "filter.properties" );
-
- //setVariableValueToObject(mojo,"encoding","UTF-8");
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getOutputDirectory() );
- setVariableValueToObject( mojo, "filters", filterList );
- mojo.execute();
-
- String resourcesDir = project.getOutputDirectory();
- String checkString = "current working directory=testdir";
-
- assertContent( resourcesDir + "/file4.properties", checkString );
- }
-
- /**
- * Validates that a Filter token containing a project property will be
- * resolved before the Filter is applied to the resources.
- *
- * @throws Exception
- */
- public void testPropertyFiles_Filtering_TokensInFilters()
- throws Exception
- {
- final File testPom = new File(getBasedir(), defaultPomFilePath);
- final ResourcesMojo mojo = (ResourcesMojo) lookupMojo("resources", testPom);
- final MavenProjectResourcesStub project = new MavenProjectResourcesStub(
- "resourcePropertyFiles_Filtering_TokensInFilters");
- final List resources = project.getBuild().getResources();
- final LinkedList filterList = new LinkedList();
-
- assertNotNull(mojo);
-
- project.addFile("file4.properties", "current working directory=${filter.token}");
- project.addFile("filter.properties", "filter.token=${pom-property}");
- project.setResourceFiltering(0, true);
- project.addProperty("pom-property", "foobar");
- project.setupBuildEnvironment();
- filterList.add(project.getResourcesDirectory() + "filter.properties");
-
- // setVariableValueToObject(mojo,"encoding","UTF-8");
- setVariableValueToObject(mojo, "project", project);
- setVariableValueToObject(mojo, "resources", resources);
- setVariableValueToObject(mojo, "outputDirectory", project.getBuild().getOutputDirectory());
- setVariableValueToObject(mojo, "filters", filterList);
- mojo.execute();
- final String resourcesDir = project.getOutputDirectory();
- final String checkString = "current working directory=foobar";
-
- assertContent(resourcesDir + "/file4.properties", checkString);
- }
-
- /**
- * Ensures the file exists and its first line equals the given data.
- */
- private void assertContent( String fileName, String data )
- throws IOException
- {
- assertTrue( FileUtils.fileExists( fileName ) );
-
- assertEquals( data, new BufferedReader( new FileReader( fileName ) ).readLine() );
- }
-}
+package org.apache.maven.plugin.resources;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.maven.plugin.resources.stub.MavenProjectResourcesStub;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.codehaus.plexus.util.FileUtils;
+
+public class ResourcesMojoTest
+ extends AbstractMojoTestCase
+{
+ protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
+
+ /**
+ * test mojo lookup, test harness should be working fine
+ *
+ * @throws Exception
+ */
+ public void testHarnessEnvironment()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+
+ assertNotNull( mojo );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceDirectoryStructure()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "notpackage/test/file2.txt" );
+ project.setupBuildEnvironment();
+
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/file3.nottest" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceDirectoryStructure_RelativePath()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceDirectoryStructure_RelativePath" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.setOutputDirectory( "../relative_dir" );
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "notpackage/test/file2.txt" );
+ project.setupBuildEnvironment();
+
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/file3.nottest" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/notpackage/test" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceEncoding()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "encoding" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.txt" );
+ project.setResourceFiltering( 0, true );
+ project.setupBuildEnvironment();
+
+ setVariableValueToObject( mojo, "encoding", "UTF-8" );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/file4.txt" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceInclude()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceInclude" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file1.include" );
+ project.addFile( "file2.exclude" );
+ project.addFile( "file3.nottest" );
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file1.include" );
+ project.addFile( "package/file2.exclude" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "package/file4.txt" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "notpackage/file2.exclude" );
+ project.addFile( "notpackage/file3.nottest" );
+ project.addFile( "notpackage/file4.txt" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "package/nottest/file2.txt" );
+ project.addFile( "notpackage/test/file1.txt" );
+ project.addFile( "notpackage/nottest/file.txt" );
+ project.setupBuildEnvironment();
+
+ project.addInclude( "*.include" );
+ project.addInclude( "**/test" );
+ project.addInclude( "**/test/file*" );
+ project.addInclude( "**/package/*.include" );
+
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/file1.include" ) );
+ assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
+ assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceExclude()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceExclude" );
+ List resources = project.getBuild().getResources();
+ ;
+
+ assertNotNull( mojo );
+
+ project.addFile( "file1.include" );
+ project.addFile( "file2.exclude" );
+ project.addFile( "file3.nottest" );
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file1.include" );
+ project.addFile( "package/file2.exclude" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "package/file4.txt" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "notpackage/file2.exclude" );
+ project.addFile( "notpackage/file3.nottest" );
+ project.addFile( "notpackage/file4.txt" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "package/nottest/file2.txt" );
+ project.addFile( "notpackage/test/file1.txt" );
+ project.addFile( "notpackage/nottest/file.txt" );
+ project.setupBuildEnvironment();
+
+ project.addExclude( "**/*.exclude" );
+ project.addExclude( "**/nottest*" );
+ project.addExclude( "**/notest" );
+ project.addExclude( "**/notpackage*" );
+ project.addExclude( "**/notpackage*/**" );
+
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/test" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/package/file1.include" ) );
+ assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/file1.include" ) );
+ assertFalse( FileUtils.fileExists( resourcesDir + "/notpackage/nottest/file.txt" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceTargetPath()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceTargetPath" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.setTargetPath( "org/apache/maven/plugin/test" );
+
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "notpackage/test/file2.txt" );
+ project.setupBuildEnvironment();
+
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/file4.txt" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/package/file3.nottest" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/notpackage/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/package/test" ) );
+ assertTrue( FileUtils.fileExists( resourcesDir + "/org/apache/maven/plugin/test/notpackage/test" ) );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceSystemProperties_Filtering()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceSystemProperties_Filtering" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.txt", "current working directory = ${user.dir}" );
+ project.setResourceFiltering( 0, true );
+ project.setupBuildEnvironment();
+
+ //setVariableValueToObject(mojo,"encoding","UTF-8");
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+ String checkString = "current working directory = " + (String) System.getProperty( "user.dir" );
+
+ assertContent( resourcesDir + "/file4.txt", checkString );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testResourceProjectProperties_Filtering()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourceProjectProperties_Filtering" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.txt", "current working directory = ${user.dir}" );
+ project.setResourceFiltering( 0, true );
+ project.addProperty( "user.dir", "FPJ kami!!!" );
+ project.setupBuildEnvironment();
+
+ //setVariableValueToObject(mojo,"encoding","UTF-8");
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+ String checkString = "current working directory = FPJ kami!!!";
+
+ assertContent( resourcesDir + "/file4.txt", checkString );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testProjectProperty_Filtering_PropertyDestination()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project =
+ new MavenProjectResourcesStub( "resourcePojectProperty_Filtering_PropertyDestination" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.properties", "current working directory=${description}" );
+ project.setResourceFiltering( 0, true );
+ project.setupBuildEnvironment();
+
+ // setup dummy property
+ project.setDescription( "c:\\\\org\\apache\\test" );
+
+ //setVariableValueToObject(mojo,"encoding","UTF-8");
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+ String checkString = "current working directory=c\\:\\\\\\\\org\\\\apache\\\\test";
+
+ assertContent( resourcesDir + "/file4.properties", checkString );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testPropertyFiles_Filtering()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "resources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "resourcePropertyFiles_Filtering" );
+ List resources = project.getBuild().getResources();
+ LinkedList filterList = new LinkedList();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.properties", "current working directory=${dir}" );
+ project.addFile( "filter.properties", "dir:testdir" );
+ project.setResourceFiltering( 0, true );
+ project.setupBuildEnvironment();
+ filterList.add( project.getResourcesDirectory() + "filter.properties" );
+
+ //setVariableValueToObject(mojo,"encoding","UTF-8");
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", filterList );
+ mojo.execute();
+
+ String resourcesDir = project.getOutputDirectory();
+ String checkString = "current working directory=testdir";
+
+ assertContent( resourcesDir + "/file4.properties", checkString );
+ }
+
+ /**
+ * Validates that a Filter token containing a project property will be
+ * resolved before the Filter is applied to the resources.
+ *
+ * @throws Exception
+ */
+ public void testPropertyFiles_Filtering_TokensInFilters()
+ throws Exception
+ {
+ final File testPom = new File(getBasedir(), defaultPomFilePath);
+ final ResourcesMojo mojo = (ResourcesMojo) lookupMojo("resources", testPom);
+ final MavenProjectResourcesStub project = new MavenProjectResourcesStub(
+ "resourcePropertyFiles_Filtering_TokensInFilters");
+ final List resources = project.getBuild().getResources();
+ final LinkedList filterList = new LinkedList();
+
+ assertNotNull(mojo);
+
+ project.addFile("file4.properties", "current working directory=${filter.token}");
+ project.addFile("filter.properties", "filter.token=${pom-property}");
+ project.setResourceFiltering(0, true);
+ project.addProperty("pom-property", "foobar");
+ project.setupBuildEnvironment();
+ filterList.add(project.getResourcesDirectory() + "filter.properties");
+
+ // setVariableValueToObject(mojo,"encoding","UTF-8");
+ setVariableValueToObject(mojo, "project", project);
+ setVariableValueToObject(mojo, "resources", resources);
+ setVariableValueToObject(mojo, "outputDirectory", new File( project.getBuild().getOutputDirectory() ) );
+ setVariableValueToObject(mojo, "filters", filterList);
+ mojo.execute();
+ final String resourcesDir = project.getOutputDirectory();
+ final String checkString = "current working directory=foobar";
+
+ assertContent(resourcesDir + "/file4.properties", checkString);
+ }
+
+ /**
+ * Ensures the file exists and its first line equals the given data.
+ */
+ private void assertContent( String fileName, String data )
+ throws IOException
+ {
+ assertTrue( FileUtils.fileExists( fileName ) );
+
+ assertEquals( data, new BufferedReader( new FileReader( fileName ) ).readLine() );
+ }
+}
Modified: maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/TestResourcesTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/TestResourcesTest.java?rev=611879&r1=611878&r2=611879&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/TestResourcesTest.java (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/TestResourcesTest.java Mon Jan 14 10:30:03 2008
@@ -1,91 +1,91 @@
-package org.apache.maven.plugin.resources;
-
-/*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.maven.plugin.resources.stub.MavenProjectResourcesStub;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.codehaus.plexus.util.FileUtils;
-
-public class TestResourcesTest
- extends AbstractMojoTestCase
-{
- protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
-
- protected void tearDown()
- {
-
- }
-
- /**
- * test mojo lookup, test harness should be working fine
- *
- * @throws Exception
- */
- public void testHarnessEnvironment()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "testResources", testPom );
-
- assertNotNull( mojo );
- }
-
- /**
- * @throws Exception
- */
- public void testTestResourceDirectoryCreation()
- throws Exception
- {
- File testPom = new File( getBasedir(), defaultPomFilePath );
- TestResourcesMojo mojo = (TestResourcesMojo) lookupMojo( "testResources", testPom );
- MavenProjectResourcesStub project = new MavenProjectResourcesStub( "testResourceDirectoryStructure" );
- List resources = project.getBuild().getResources();
-
- assertNotNull( mojo );
-
- project.addFile( "file4.txt" );
- project.addFile( "package/file3.nottest" );
- project.addFile( "notpackage/file1.include" );
- project.addFile( "package/test/file1.txt" );
- project.addFile( "notpackage/test/file2.txt" );
- project.setupBuildEnvironment();
-
- setVariableValueToObject( mojo, "project", project );
- setVariableValueToObject( mojo, "resources", resources );
- setVariableValueToObject( mojo, "outputDirectory", project.getBuild().getTestOutputDirectory() );
- setVariableValueToObject( mojo, "filters", new LinkedList() );
- mojo.execute();
-
- String resorucesDir = project.getTestOutputDirectory();
-
- assertTrue( FileUtils.fileExists( resorucesDir + "/file4.txt" ) );
- assertTrue( FileUtils.fileExists( resorucesDir + "/package/file3.nottest" ) );
- assertTrue( FileUtils.fileExists( resorucesDir + "/notpackage/file1.include" ) );
- assertTrue( FileUtils.fileExists( resorucesDir + "/package/test" ) );
- assertTrue( FileUtils.fileExists( resorucesDir + "/notpackage/test" ) );
- }
-}
+package org.apache.maven.plugin.resources;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.maven.plugin.resources.stub.MavenProjectResourcesStub;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.codehaus.plexus.util.FileUtils;
+
+public class TestResourcesTest
+ extends AbstractMojoTestCase
+{
+ protected final static String defaultPomFilePath = "/target/test-classes/unit/resources-test/plugin-config.xml";
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ protected void tearDown()
+ {
+
+ }
+
+ /**
+ * test mojo lookup, test harness should be working fine
+ *
+ * @throws Exception
+ */
+ public void testHarnessEnvironment()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ ResourcesMojo mojo = (ResourcesMojo) lookupMojo( "testResources", testPom );
+
+ assertNotNull( mojo );
+ }
+
+ /**
+ * @throws Exception
+ */
+ public void testTestResourceDirectoryCreation()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(), defaultPomFilePath );
+ TestResourcesMojo mojo = (TestResourcesMojo) lookupMojo( "testResources", testPom );
+ MavenProjectResourcesStub project = new MavenProjectResourcesStub( "testResourceDirectoryStructure" );
+ List resources = project.getBuild().getResources();
+
+ assertNotNull( mojo );
+
+ project.addFile( "file4.txt" );
+ project.addFile( "package/file3.nottest" );
+ project.addFile( "notpackage/file1.include" );
+ project.addFile( "package/test/file1.txt" );
+ project.addFile( "notpackage/test/file2.txt" );
+ project.setupBuildEnvironment();
+
+ setVariableValueToObject( mojo, "project", project );
+ setVariableValueToObject( mojo, "resources", resources );
+ setVariableValueToObject( mojo, "outputDirectory", new File( project.getBuild().getTestOutputDirectory() ) );
+ setVariableValueToObject( mojo, "filters", new LinkedList() );
+ mojo.execute();
+
+ String resorucesDir = project.getTestOutputDirectory();
+
+ assertTrue( FileUtils.fileExists( resorucesDir + "/file4.txt" ) );
+ assertTrue( FileUtils.fileExists( resorucesDir + "/package/file3.nottest" ) );
+ assertTrue( FileUtils.fileExists( resorucesDir + "/notpackage/file1.include" ) );
+ assertTrue( FileUtils.fileExists( resorucesDir + "/package/test" ) );
+ assertTrue( FileUtils.fileExists( resorucesDir + "/notpackage/test" ) );
+ }
+}