Modified: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java?view=diff&rev=565036&r1=565035&r2=565036 ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarExplodedMojoTest.java Sun Aug 12 03:26:14 2007 @@ -21,7 +21,9 @@ import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.plugin.testing.stubs.ArtifactStub; +import org.apache.maven.plugin.war.stub.AarArtifactStub; import org.apache.maven.plugin.war.stub.EJBArtifactStub; +import org.apache.maven.plugin.war.stub.EJBArtifactStubWithClassifier; import org.apache.maven.plugin.war.stub.EJBClientArtifactStub; import org.apache.maven.plugin.war.stub.IncludeExcludeWarArtifactStub; import org.apache.maven.plugin.war.stub.JarArtifactStub; @@ -29,10 +31,8 @@ import org.apache.maven.plugin.war.stub.MavenProjectBasicStub; import org.apache.maven.plugin.war.stub.PARArtifactStub; import org.apache.maven.plugin.war.stub.ResourceStub; -import org.apache.maven.plugin.war.stub.SimpleWarArtifactStub; import org.apache.maven.plugin.war.stub.TLDArtifactStub; -import org.apache.maven.plugin.war.stub.EJBArtifactStubWithClassifier; -import org.apache.maven.plugin.war.stub.AarArtifactStub; +import org.apache.maven.plugin.war.stub.WarArtifactStub; import org.codehaus.plexus.util.FileUtils; import java.io.BufferedReader; @@ -44,26 +44,17 @@ import java.util.Locale; public class WarExplodedMojoTest - extends AbstractWarMojoTest + extends AbstractWarExplodedMojoTest { - protected static final String pomFilePath = - getBasedir() + "/target/test-classes/unit/warexplodedmojo/plugin-config.xml"; - - private WarExplodedMojo mojo; - protected File getTestDirectory() - throws Exception + protected File getPomFile() { - return new File( getBasedir(), "target/test-classes/unit/warexplodedmojo/test-dir" ); + return new File( getBasedir(), "/target/test-classes/unit/warexplodedmojo/plugin-config.xml" ); } - public void setUp() - throws Exception + protected File getTestDirectory() { - super.setUp(); - - mojo = (WarExplodedMojo) lookupMojo( "exploded", pomFilePath ); - assertNotNull( mojo ); + return new File( getBasedir(), "target/test-classes/unit/warexplodedmojo/test-dir" ); } /** @@ -84,8 +75,8 @@ createFile( sampleResource ); - assertTrue("sampeResource not found",sampleResource.exists()); - + assertTrue( "sampeResource not found", sampleResource.exists() ); + // configure mojo resources[0].setDirectory( webAppResource.getAbsolutePath() ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); @@ -104,7 +95,7 @@ assertTrue( "resources doesn't exist: " + expectedWebResourceFile, expectedWebResourceFile.exists() ); assertTrue( "WEB-INF not found", expectedWEBINFDir.exists() ); assertTrue( "META-INF not found", expectedMETAINFDir.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -131,7 +122,7 @@ // configure mojo resources[0].setDirectory( webAppResource.getAbsolutePath() ); - resources[0].setTargetPath("targetPath"); + resources[0].setTargetPath( "targetPath" ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); setVariableValueToObject( mojo, "webResources", resources ); mojo.execute(); @@ -148,13 +139,13 @@ assertTrue( "resources doesn't exist: " + expectedWebResourceFile, expectedWebResourceFile.exists() ); assertTrue( "WEB-INF not found", expectedWEBINFDir.exists() ); assertTrue( "META-INF not found", expectedMETAINFDir.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); - expectedWebResourceFile.delete(); - } - + expectedWebResourceFile.delete(); + } + /** * @throws Exception */ @@ -185,10 +176,10 @@ assertTrue( "WEB XML not found: " + expectedWEBXMLFile.toString(), expectedWEBXMLFile.exists() ); assertTrue( "META-INF not found", expectedMETAINFDir.exists() ); assertEquals( "WEB XML not correct", mojo.getWebXml().toString(), FileUtils.fileRead( expectedWEBXMLFile ) ); - + // house keeping expectedWebSourceFile.delete(); - expectedWebSource2File.delete(); + expectedWebSource2File.delete(); expectedWEBXMLFile.delete(); expectedMETAINFDir.delete(); } @@ -223,12 +214,12 @@ assertTrue( "WEB-INF not found", expectedWEBINFDir.exists() ); assertTrue( "Container Config XML not found:" + expectedContainerConfigXMLFile.toString(), expectedContainerConfigXMLFile.exists() ); - + // house keeping expectedWebSourceFile.delete(); - expectedWebSource2File.delete(); - expectedContainerConfigXMLFile.delete(); - expectedWEBINFDir.delete(); + expectedWebSource2File.delete(); + expectedContainerConfigXMLFile.delete(); + expectedWEBINFDir.delete(); } /** @@ -239,29 +230,28 @@ { // setup test data MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); - SimpleWarArtifactStub simpleWarArtifact = new SimpleWarArtifactStub( getBasedir() ); + WarArtifactStub warArtifact = new WarArtifactStub( getBasedir() ); String testId = "ExplodedWar_WithSimpleExternalWARFile"; File webAppDirectory = new File( getTestDirectory(), testId ); File webAppSource = createWebAppSource( testId ); File classesDir = createClassesDir( testId, true ); File workDirectory = new File( getTestDirectory(), "/war/work-" + testId ); - File simpleWarFile = simpleWarArtifact.getFile(); + File simpleWarFile = warArtifact.getFile(); assertTrue( "simple war not found: " + simpleWarFile.toString(), simpleWarFile.exists() ); createDir( workDirectory ); // configure mojo - project.addArtifact( simpleWarArtifact ); + project.addArtifact( warArtifact ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); setVariableValueToObject( mojo, "workDirectory", workDirectory ); mojo.execute(); - // validate operation + // validate operation - META-INF is automatically excluded so remove the file from the list File expectedWebSourceFile = new File( webAppDirectory, "pansit.jsp" ); File expectedWebSource2File = new File( webAppDirectory, "org/web/app/last-exile.jsp" ); - File expectedManifestFile = new File( webAppDirectory, "META-INF/MANIFEST.MF" ); File expectedWEBXMLFile = new File( webAppDirectory, "WEB-INF/web.xml" ); File expectedWARFile = new File( webAppDirectory, "/org/sample/company/test.jsp" ); @@ -269,13 +259,11 @@ assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); // check simple.war in the unit test dir under resources to verify the list of files assertTrue( "web xml not found: " + expectedWEBXMLFile.toString(), expectedWEBXMLFile.exists() ); - assertTrue( "manifest file not found: " + expectedManifestFile.toString(), expectedManifestFile.exists() ); assertTrue( "war file not found: " + expectedWARFile.toString(), expectedWARFile.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); - expectedManifestFile.delete(); expectedWEBXMLFile.delete(); expectedWARFile.delete(); } @@ -288,11 +276,11 @@ { // setup test data MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); - SimpleWarArtifactStub simpleWarArtifact = new SimpleWarArtifactStub( getBasedir() ); + WarArtifactStub warArtifact = new WarArtifactStub( getBasedir() ); String testId = "testExplodedWarMergeWarLocalFileOverride"; File webAppDirectory = new File( getTestDirectory(), testId ); - File webAppSource = new File( getTestDirectory(), "/" + testId + "-test-data/source" ); + File webAppSource = getWebAppSource( testId ); File simpleJSP = new File( webAppSource, "org/sample/company/test.jsp" ); createFile( simpleJSP ); @@ -302,7 +290,7 @@ File classesDir = createClassesDir( testId, true ); // configure mojo - project.addArtifact( simpleWarArtifact ); + project.addArtifact( warArtifact ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); setVariableValueToObject( mojo, "workDirectory", workDirectory ); mojo.execute(); @@ -318,71 +306,73 @@ simpleJSP.setLastModified( time ); expectedFile.setLastModified( time ); - project.addArtifact( simpleWarArtifact ); + project.addArtifact( warArtifact ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); setVariableValueToObject( mojo, "workDirectory", workDirectory ); mojo.execute(); assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); assertEquals( "file incorrect", simpleJSP.toString(), FileUtils.fileRead( expectedFile ) ); - - // house keeping - expectedFile.delete(); - } - /** - * Merge a dependent WAR that gets updated since the last run. - */ - public void testExplodedWarMergeWarUpdated() - throws Exception - { - // setup test data - MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); - SimpleWarArtifactStub simpleWarArtifact = new SimpleWarArtifactStub( getBasedir() ); - - String testId = "testExplodedWarMergeWarUpdated"; - File webAppDirectory = new File( getTestDirectory(), testId ); - FileUtils.deleteDirectory( webAppDirectory ); - - File webAppSource = new File( getTestDirectory(), "/" + testId + "-test-data/source" ); - - File workDirectory = new File( getTestDirectory(), "/war/work-" + testId ); - createDir( workDirectory ); - - File classesDir = createClassesDir( testId, true ); - - // configure mojo - project.addArtifact( simpleWarArtifact ); - this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); - setVariableValueToObject( mojo, "workDirectory", workDirectory ); - mojo.execute(); - - // validate operation - File expectedFile = new File( webAppDirectory, "/org/sample/company/test.jsp" ); - - assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); - assertEquals( "file incorrect", "", FileUtils.fileRead( expectedFile ) ); - - // update file, so the local one is older - simpleWarArtifact.setFile( new File( simpleWarArtifact.getFile().getParentFile(), "simple-updated.war" ) ); - - mojo.execute(); - - assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); - assertEquals( "file incorrect", "updated\n", FileUtils.fileRead( expectedFile ) ); - - // update file, so the local one is newer - simpleWarArtifact.setFile( new File( simpleWarArtifact.getFile().getParentFile(), "simple.war" ) ); - - mojo.execute(); - - assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); - assertEquals( "file incorrect", "updated\n", FileUtils.fileRead( expectedFile ) ); - // house keeping expectedFile.delete(); } +// The last modified thingy behavior is not applicable anymore. This is the only test that +// has been removed. +// /** +// * Merge a dependent WAR that gets updated since the last run. +// */ +// public void testExplodedWarMergeWarUpdated() +// throws Exception +// { +// // setup test data +// MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); +// WarArtifactStub warArtifact = new WarArtifactStub( getBasedir() ); +// +// String testId = "testExplodedWarMergeWarUpdated"; +// File webAppDirectory = new File( getTestDirectory(), testId ); +// FileUtils.deleteDirectory( webAppDirectory ); +// +// File webAppSource = getWebAppSource( testId ); +// +// File workDirectory = new File( getTestDirectory(), "/war/work-" + testId ); +// createDir( workDirectory ); +// +// File classesDir = createClassesDir( testId, true ); +// +// // configure mojo +// project.addArtifact( warArtifact ); +// this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); +// setVariableValueToObject( mojo, "workDirectory", workDirectory ); +// mojo.execute(); +// +// // validate operation +// File expectedFile = new File( webAppDirectory, "/org/sample/company/test.jsp" ); +// +// assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); +// assertEquals( "file incorrect", "", FileUtils.fileRead( expectedFile ) ); +// +// // update file, so the local one is older +// warArtifact.setFile( new File( warArtifact.getFile().getParentFile(), "simple-updated.war" ) ); +// +// mojo.execute(); +// +// assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); +// assertEquals( "file incorrect", "updated\n", FileUtils.fileRead( expectedFile ) ); +// +// // update file, so the local one is newer +// warArtifact.setFile( new File( warArtifact.getFile().getParentFile(), "simple.war" ) ); +// +// mojo.execute(); +// +// assertTrue( "file not found: " + expectedFile.toString(), expectedFile.exists() ); +// assertEquals( "file incorrect", "updated\n", FileUtils.fileRead( expectedFile ) ); +// +// // house keeping +// expectedFile.delete(); +// } + /** * @throws Exception */ @@ -415,7 +405,7 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "ejb artifact not found: " + expectedEJBArtifact.toString(), expectedEJBArtifact.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -451,7 +441,7 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "jar artifact not found: " + expectedJarArtifact.toString(), expectedJarArtifact.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -489,9 +479,9 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "ejb artifact not found: " + expectedEJBArtifact.toString(), expectedEJBArtifact.exists() ); - + // house keeping - expectedWebSourceFile.delete(); + expectedWebSourceFile.delete(); expectedWebSource2File.delete(); expectedEJBArtifact.delete(); } @@ -527,9 +517,9 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "tld artifact not found: " + expectedTLDArtifact.toString(), expectedTLDArtifact.exists() ); - + // house keeping - expectedWebSourceFile.delete(); + expectedWebSourceFile.delete(); expectedWebSource2File.delete(); expectedTLDArtifact.delete(); } @@ -565,7 +555,7 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "par artifact not found: " + expectedPARArtifact.toString(), expectedPARArtifact.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -648,7 +638,7 @@ assertTrue( "ejb artifact not found: " + expectedEJBArtifact.toString(), expectedEJBArtifact.exists() ); assertTrue( "ejb dup artifact not found: " + expectedEJBDupArtifact.toString(), expectedEJBDupArtifact.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -735,7 +725,7 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "classes not found: " + expectedClass.toString(), expectedClass.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -825,7 +815,7 @@ assertEquals( "error in filtering using System properties", "system_property=new-system-property-value", reader.readLine() ); - + // update property, and generate again File filterFile = new File( getTestDirectory(), testId + "-test-data/filters/filter.properties" ); createFile( filterFile ); @@ -853,14 +843,13 @@ assertEquals( "error in filtering using System properties", "system_property=new-system-property-value", reader.readLine() ); - // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); expectedResourceFile.delete(); expectedResourceWDirFile.delete(); } - + public void testExplodedWar_WithSourceIncludeExclude() throws Exception { @@ -887,7 +876,7 @@ assertFalse( "source files found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); assertTrue( "WEB XML not found: " + expectedWEBXMLDir.toString(), expectedWEBXMLDir.exists() ); assertTrue( "META-INF not found", expectedMETAINFDir.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); @@ -930,18 +919,18 @@ assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); - // check include-exclude.war in the unit test dir under resources to verify the list of files + // check include-exclude.war in the unit test dir under resources to verify the list of files assertTrue( "web xml not found: " + expectedWEBXMLFile.toString(), expectedWEBXMLFile.exists() ); assertFalse( "manifest file found: " + expectedManifestFile.toString(), expectedManifestFile.exists() ); assertTrue( "war file not found: " + expectedIncludedWARFile.toString(), expectedIncludedWARFile.exists() ); assertFalse( "war file not found: " + expectedExcludedWarfile.toString(), expectedExcludedWarfile.exists() ); - + // house keeping expectedWebSourceFile.delete(); expectedWebSource2File.delete(); expectedManifestFile.delete(); expectedWEBXMLFile.delete(); - expectedIncludedWARFile.delete(); + expectedIncludedWARFile.delete(); expectedExcludedWarfile.delete(); } @@ -979,17 +968,18 @@ assertFalse( "source files not updated with new copy: " + expectedWebSourceFile.toString(), "error".equals( FileUtils.fileRead( expectedWebSourceFile ) ) ); -// TODO: uncomment when lastModified problem is resolved -// FileWriter writer = new FileWriter(expectedWebSourceFile); -// -// // 2nd phase destination is newer than source -// // destination should not be replaced with an blank source -// writer.write("newdata"); -// mojo.execute(); -// reader = new FileReader(expectedWebSourceFile); -// reader.read(data); -// assertTrue("source file updated with old copy: " +expectedWebSourceFile.toString(),String.valueOf(data).equals("newdata") ); } - + // TODO: uncomment when lastModified problem is resolved + // FileWriter writer = new FileWriter(expectedWebSourceFile); + // + // // 2nd phase destination is newer than source + // // destination should not be replaced with an blank source + // writer.write("newdata"); + // mojo.execute(); + // reader = new FileReader(expectedWebSourceFile); + // reader.read(data); + // assertTrue("source file updated with old copy: " + // +expectedWebSourceFile.toString(),String.valueOf(data).equals("newdata") ); } + // house keeping expectedWEBINFDir.delete(); expectedMETAINFDir.delete(); @@ -1014,7 +1004,7 @@ // configure mojo project.addArtifact( jarArtifact ); - mojo.setOutputFileNameMapping( "${artifactId}.${extension}"); + mojo.setOutputFileNameMapping( "${artifactId}.${extension}" ); this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); mojo.execute(); @@ -1035,51 +1025,56 @@ } /** - * @throws Exception - */ - public void testExplodedWarWithOutputFileNameMappingAndDuplicateDependencies() - throws Exception - { - // setup test data - String testId = "ExplodedWarWithFileNameMappingAndDuplicateDependencies"; - MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); - File webAppDirectory = new File( getTestDirectory(), testId ); - File webAppSource = createWebAppSource( testId ); - File classesDir = createClassesDir( testId, true ); - EJBArtifactStub ejbArtifact = new EJBArtifactStub( getBasedir() ); - EJBArtifactStub ejbArtifactDup = new EJBArtifactStub( getBasedir() ); - File ejbFile = ejbArtifact.getFile(); - - // ejbArtifact has a hard coded file, only one assert is needed - assertTrue( "ejb not found: " + ejbFile.getAbsolutePath(), ejbFile.exists() ); - - // configure mojo - ejbArtifact.setGroupId( "org.sample.ejb" ); - ejbArtifactDup.setGroupId( "org.dup.ejb" ); - project.addArtifact( ejbArtifact ); - project.addArtifact( ejbArtifactDup ); - mojo.setOutputFileNameMapping( "${artifactId}.${extension}"); - this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); - mojo.execute(); - - // validate operation - File expectedWebSourceFile = new File( webAppDirectory, "pansit.jsp" ); - File expectedWebSource2File = new File( webAppDirectory, "org/web/app/last-exile.jsp" ); - // final name form is <artifactId>-<version>.<type> - File expectedEJBArtifact = new File( webAppDirectory, "WEB-INF/lib/org.sample.ejb-ejbartifact.jar" ); - File expectedEJBDupArtifact = new File( webAppDirectory, "WEB-INF/lib/org.dup.ejb-ejbartifact.jar" ); - - assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); - assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); - assertTrue( "ejb artifact not found: " + expectedEJBArtifact.toString(), expectedEJBArtifact.exists() ); - assertTrue( "ejb dup artifact not found: " + expectedEJBDupArtifact.toString(), - expectedEJBDupArtifact.exists() ); - - // house keeping - expectedWebSourceFile.delete(); - expectedWebSource2File.delete(); - expectedEJBArtifact.delete(); - expectedEJBDupArtifact.delete(); - } + * @throws Exception + */ + public void testExplodedWarWithOutputFileNameMappingAndDuplicateDependencies() + throws Exception + { + // setup test data + String testId = "ExplodedWarWithFileNameMappingAndDuplicateDependencies"; + MavenProjectArtifactsStub project = new MavenProjectArtifactsStub(); + File webAppDirectory = new File( getTestDirectory(), testId ); + File webAppSource = createWebAppSource( testId ); + File classesDir = createClassesDir( testId, true ); + EJBArtifactStub ejbArtifact = new EJBArtifactStub( getBasedir() ); + EJBArtifactStub ejbArtifactDup = new EJBArtifactStub( getBasedir() ); + File ejbFile = ejbArtifact.getFile(); + + // ejbArtifact has a hard coded file, only one assert is needed + assertTrue( "ejb not found: " + ejbFile.getAbsolutePath(), ejbFile.exists() ); + + // configure mojo + ejbArtifact.setGroupId( "org.sample.ejb" ); + ejbArtifactDup.setGroupId( "org.dup.ejb" ); + project.addArtifact( ejbArtifact ); + project.addArtifact( ejbArtifactDup ); + mojo.setOutputFileNameMapping( "${artifactId}.${extension}" ); + this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project ); + mojo.execute(); + + // validate operation + File expectedWebSourceFile = new File( webAppDirectory, "pansit.jsp" ); + File expectedWebSource2File = new File( webAppDirectory, "org/web/app/last-exile.jsp" ); + // final name form is <artifactId>-<version>.<type> + File expectedEJBArtifact = new File( webAppDirectory, "WEB-INF/lib/org.sample.ejb-ejbartifact.jar" ); + File expectedEJBDupArtifact = new File( webAppDirectory, "WEB-INF/lib/org.dup.ejb-ejbartifact.jar" ); + + assertTrue( "source files not found: " + expectedWebSourceFile.toString(), expectedWebSourceFile.exists() ); + assertTrue( "source files not found: " + expectedWebSource2File.toString(), expectedWebSource2File.exists() ); + assertTrue( "ejb artifact not found: " + expectedEJBArtifact.toString(), expectedEJBArtifact.exists() ); + assertTrue( "ejb dup artifact not found: " + expectedEJBDupArtifact.toString(), + expectedEJBDupArtifact.exists() ); + + // house keeping + expectedWebSourceFile.delete(); + expectedWebSource2File.delete(); + expectedEJBArtifact.delete(); + expectedEJBDupArtifact.delete(); + } + + /* --------------------- 2.1 Overlay tests ----------------------------------- */ + + /*---------------------------*/ + }
Modified: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarMojoTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarMojoTest.java?view=diff&rev=565036&r1=565035&r2=565036 ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarMojoTest.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarMojoTest.java Sun Aug 12 03:26:14 2007 @@ -21,7 +21,7 @@ import org.apache.maven.plugin.war.stub.MavenProject4CopyConstructor; import org.apache.maven.plugin.war.stub.ProjectHelperStub; -import org.apache.maven.plugin.war.stub.SimpleWarArtifact4CCStub; +import org.apache.maven.plugin.war.stub.WarArtifact4CCStub; import org.codehaus.plexus.util.IOUtil; import java.io.File; @@ -70,7 +70,7 @@ MavenProject4CopyConstructor project = new MavenProject4CopyConstructor(); String outputDir = getTestDirectory().getAbsolutePath() + "/" + testId + "-output"; File webAppDirectory = new File( getTestDirectory(), testId ); - SimpleWarArtifact4CCStub warArtifact = new SimpleWarArtifact4CCStub( getBasedir() ); + WarArtifact4CCStub warArtifact = new WarArtifact4CCStub( getBasedir() ); String warName = "simple"; File webAppSource = createWebAppSource( testId ); File classesDir = createClassesDir( testId, true ); @@ -120,7 +120,7 @@ MavenProject4CopyConstructor project = new MavenProject4CopyConstructor(); String outputDir = getTestDirectory().getAbsolutePath() + "/" + testId + "-output"; File webAppDirectory = new File( getTestDirectory(), testId ); - SimpleWarArtifact4CCStub warArtifact = new SimpleWarArtifact4CCStub( getBasedir() ); + WarArtifact4CCStub warArtifact = new WarArtifact4CCStub( getBasedir() ); ProjectHelperStub projectHelper = new ProjectHelperStub(); String warName = "simple"; File webAppSource = createWebAppSource( testId ); @@ -172,7 +172,7 @@ MavenProject4CopyConstructor project = new MavenProject4CopyConstructor(); String outputDir = getTestDirectory().getAbsolutePath() + "/" + testId + "-output"; File webAppDirectory = new File( getTestDirectory(), testId ); - SimpleWarArtifact4CCStub warArtifact = new SimpleWarArtifact4CCStub( getBasedir() ); + WarArtifact4CCStub warArtifact = new WarArtifact4CCStub( getBasedir() ); ProjectHelperStub projectHelper = new ProjectHelperStub(); String warName = "simple"; File webAppSource = createWebAppSource( testId ); @@ -229,7 +229,7 @@ MavenProject4CopyConstructor project = new MavenProject4CopyConstructor(); String outputDir = getTestDirectory().getAbsolutePath() + "/" + testId + "-output"; File webAppDirectory = new File( getTestDirectory(), testId ); - SimpleWarArtifact4CCStub warArtifact = new SimpleWarArtifact4CCStub( getBasedir() ); + WarArtifact4CCStub warArtifact = new WarArtifact4CCStub( getBasedir() ); ProjectHelperStub projectHelper = new ProjectHelperStub(); String warName = "simple"; File webAppSource = createWebAppSource( testId ); Modified: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/AbstractArtifactStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/AbstractArtifactStub.java?view=diff&rev=565036&r1=565035&r2=565036 ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/AbstractArtifactStub.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/AbstractArtifactStub.java Sun Aug 12 03:26:14 2007 @@ -53,4 +53,104 @@ { return new DefaultArtifactHandler( getType() ); } + + /* + * TODO: Coppied from org/apache/maven/artifact/DefaultArtifact.java; Consider merging... + */ + public int compareTo( Object o ) + { + Artifact a = (Artifact) o; + + /* -- We need to support groupId=null (it is missing in DefaultArtifact.java) */ + int result; + if ( a.getGroupId() != null ) + { + result = getGroupId().compareTo( a.getGroupId() ); + } + else + { + result = ( getGroupId() == null ? 0 : -1 ); + } + /* -- */ + + if ( result == 0 ) + { + result = getArtifactId().compareTo( a.getArtifactId() ); + if ( result == 0 ) + { + result = getType().compareTo( a.getType() ); + if ( result == 0 ) + { + if ( getClassifier() == null ) + { + if ( a.getClassifier() != null ) + { + result = 1; + } + } + else + { + if ( a.getClassifier() != null ) + { + result = getClassifier().compareTo( a.getClassifier() ); + } + else + { + result = -1; + } + } + if ( result == 0 ) + { + // We don't consider the version range in the comparison, just the resolved version + result = getVersion().compareTo( a.getVersion() ); + } + } + } + } + return result; + } + + /* + * TODO: Coppied from org/apache/maven/artifact/DefaultArtifact.java; Consider merging... + */ + public boolean equals( Object o ) + { + if ( o == this ) + { + return true; + } + + if ( !( o instanceof Artifact ) ) + { + return false; + } + + Artifact a = (Artifact) o; + + /* -- We need to support groupId=null (it is missing in DefaultArtifact.java) */ + if ( a.getGroupId() == null ? ( getGroupId() != null ) : a.getGroupId().equals( getGroupId() ) ) + { + return false; + } + else if ( !a.getArtifactId().equals( getArtifactId() ) ) + { + return false; + } + else if ( !a.getVersion().equals( getVersion() ) ) + { + return false; + } + else if ( !a.getType().equals( getType() ) ) + { + return false; + } + else if ( a.getClassifier() == null ? getClassifier() != null : !a.getClassifier().equals( getClassifier() ) ) + { + return false; + } + + // We don't consider the version range in the comparison, just the resolved version + + return true; + } } Modified: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/IncludeExcludeWarArtifactStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/IncludeExcludeWarArtifactStub.java?view=diff&rev=565036&r1=565035&r2=565036 ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/IncludeExcludeWarArtifactStub.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/IncludeExcludeWarArtifactStub.java Sun Aug 12 03:26:14 2007 @@ -22,11 +22,12 @@ import java.io.File; public class IncludeExcludeWarArtifactStub - extends SimpleWarArtifactStub + extends WarArtifactStub { public IncludeExcludeWarArtifactStub( String id ) { super( id ); + setGroupId( "wartests" ); } public String getArtifactId() Modified: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenProjectArtifactsStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenProjectArtifactsStub.java?view=diff&rev=565036&r1=565035&r2=565036 ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenProjectArtifactsStub.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenProjectArtifactsStub.java Sun Aug 12 03:26:14 2007 @@ -22,19 +22,19 @@ import org.apache.maven.plugin.testing.stubs.ArtifactStub; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.TreeSet; public class MavenProjectArtifactsStub extends MavenProjectBasicStub { - HashSet artifacts; + TreeSet artifacts; public MavenProjectArtifactsStub() throws Exception { - artifacts = new HashSet(); + artifacts = new TreeSet(); } public void addArtifact( ArtifactStub stub ) Copied: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java (from r565032, maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java?view=diff&rev=565036&p1=maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java&r1=565032&p2=maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java&r2=565036 ============================================================================== --- maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java Sun Aug 12 03:26:14 2007 @@ -24,10 +24,8 @@ import org.apache.maven.artifact.versioning.VersionRange; /** - * - * stub for copy constructor - * to preven the copy constructor frow blowing up - * + * stub for copy constructor + * to preven the copy constructor frow blowing up */ public class WarArtifact4CCStub extends WarArtifactStub Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifact4CCStub.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Copied: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java (from r565032, maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java?view=diff&rev=565036&p1=maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java&r1=565032&p2=maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java&r2=565036 ============================================================================== (empty) Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/WarArtifactStub.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Copied: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java (from r565032, maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java?view=diff&rev=565036&p1=maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java&r1=565032&p2=maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java&r2=565036 ============================================================================== --- maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PathSetTest.java Sun Aug 12 03:26:14 2007 @@ -272,7 +272,7 @@ assertTrue( ps.contains( "123\\f1" ) ); assertTrue( ps.contains( "123\\f2" ) ); assertTrue( ps.contains( "\\123/d1\\d2/f1" ) ); - assertTrue( ps.contains("123\\d1/d2\\f2")); - assertFalse(ps.contains("123\\f3")); - } + assertTrue( ps.contains( "123\\d1/d2\\f2" ) ); + assertFalse( ps.contains( "123\\f3" ) ); + } } Copied: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java (from r565032, maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java?view=diff&rev=565036&p1=maven/plugins/branches/MWAR-97-2/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java&r1=565032&p2=maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java&r2=565036 ============================================================================== (empty) Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/util/PropertyUtilsTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision"