You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2007/10/08 01:18:23 UTC

svn commit: r582696 - in /maven/plugins/trunk/maven-war-plugin/src: main/java/org/apache/maven/plugin/war/ main/java/org/apache/maven/plugin/war/overlay/ main/java/org/apache/maven/plugin/war/packaging/ test/java/org/apache/maven/plugin/war/ test/java/...

Author: olamy
Date: Sun Oct  7 16:18:21 2007
New Revision: 582696

URL: http://svn.apache.org/viewvc?rev=582696&view=rev
Log:
[MWAR-104] handle zip dependencies in war plugin
as described in issue use overlay feature to define optionnal targetPath

Added:
    maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java   (with props)
    maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java   (with props)
    maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java   (with props)
    maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/
    maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/foobar.zip   (with props)
    maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml   (with props)
Modified:
    maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/Overlay.java
    maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java
    maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java
    maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/OverlayPackagingTask.java

Modified: maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/Overlay.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/Overlay.java?rev=582696&r1=582695&r2=582696&view=diff
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/Overlay.java (original)
+++ maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/Overlay.java Sun Oct  7 16:18:21 2007
@@ -65,6 +65,8 @@
     private boolean skip = false;
 
     private Artifact artifact;
+    
+    private String targetPath;
 
     public Overlay()
     {
@@ -215,6 +217,18 @@
     {
         this.artifact = artifact;
     }
+
+    public String getTargetPath()
+    {
+        return targetPath;
+    }
+
+
+    public void setTargetPath( String targetPath )
+    {
+        this.targetPath = targetPath;
+    }
+
 
     public String toString()
     {

Modified: maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java?rev=582696&r1=582695&r2=582696&view=diff
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java (original)
+++ maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java Sun Oct  7 16:18:21 2007
@@ -41,8 +41,12 @@
 
     private final MavenProject project;
 
-    private final List warArtifacts;
+    //private final List warArtifactss;
+    
+    //private final List zipArtifacts;
 
+    private final List artifactsOverlays;
+    
     /**
      * Creates a manager with the specified overlays.
      * <p/>
@@ -66,8 +70,12 @@
         }
         this.project = project;
 
-        this.warArtifacts = getWarOverlaysAsArtifacts();
+        //this.warArtifacts = getOverlaysAsArtifactsWithType( "war" );
+        
+        //this.zipArtifacts = getOverlaysAsArtifactsWithType( "zip" );
 
+        this.artifactsOverlays = getOverlaysAsArtifacts();
+        
         // Initialize
         initialize( defaultIncludes, defaultExcludes );
 
@@ -78,10 +86,14 @@
      *
      * @return a list of war Artifact
      */
+    /*
     public List getWarArtifacts()
     {
         return warArtifacts;
     }
+    */
+    
+    
 
     /**
      * Returns the resolved overlays.
@@ -157,7 +169,7 @@
         }
 
         // Build the list of missing overlays
-        final Iterator it2 = warArtifacts.iterator();
+        final Iterator it2 = artifactsOverlays.iterator();
         while ( it2.hasNext() )
         {
             Artifact artifact = (Artifact) it2.next();
@@ -202,11 +214,10 @@
             return null;
         }
 
-        final Iterator it = warArtifacts.iterator();
-        while ( it.hasNext() )
+        for (Iterator iterator = artifactsOverlays.iterator();iterator.hasNext();)
         {
             // TODO Handle ZIP artifact ; Handle classifier dependencies properly (clash management)
-            Artifact artifact = (Artifact) it.next();
+            Artifact artifact = (Artifact) iterator.next();
             if ( overlay.getGroupId().equals( artifact.getGroupId() ) &&
                 overlay.getArtifactId().equals( artifact.getArtifactId() ) &&
                 ( overlay.getClassifier() == null || ( overlay.getClassifier().equals( artifact.getClassifier() ) ) ) )
@@ -214,18 +225,19 @@
                 return artifact;
             }
         }
+        
         throw new InvalidOverlayConfigurationException(
             "overlay[" + overlay + "] is not a dependency of the project." );
 
     }
-
+    
     /**
      * Returns a list of war {@link org.apache.maven.artifact.Artifact} describing
      * the overlays of the current project.
      *
      * @return the overlays as artifacts objects
-     */
-    List getWarOverlaysAsArtifacts()
+     */    
+    private List getOverlaysAsArtifacts()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME );
         final Set artifacts = project.getArtifacts();
@@ -235,7 +247,8 @@
         while ( it.hasNext() )
         {
             Artifact artifact = (Artifact) it.next();
-            if ( !artifact.isOptional() && filter.include( artifact ) && "war".equals( artifact.getType() ) )
+            if ( !artifact.isOptional() && filter.include( artifact )
+                && ( "war".equals( artifact.getType() ) || "zip".equals( artifact.getType() ) ) )
             {
                 result.add( artifact );
             }

Modified: maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java?rev=582696&r1=582695&r2=582696&view=diff
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java (original)
+++ maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java Sun Oct  7 16:18:21 2007
@@ -84,6 +84,10 @@
                     {
                         // Nothing to do here, it is an overlay and it's already handled
                     }
+                    else if ("zip".equals( type ))
+                    {
+                        // Nothing to do here, it is an overlay and it's already handled
+                    }
                     else
                     {
                         context.getLog().debug(

Modified: maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/OverlayPackagingTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/OverlayPackagingTask.java?rev=582696&r1=582695&r2=582696&view=diff
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/OverlayPackagingTask.java (original)
+++ maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/OverlayPackagingTask.java Sun Oct  7 16:18:21 2007
@@ -55,6 +55,7 @@
     public void performPackaging( WarPackagingContext context )
         throws MojoExecutionException
     {
+        System.out.print( "OverlayPackagingTask performPackaging overlay.getTargetPath() " + overlay.getTargetPath());
         if ( overlay.shouldSkip() )
         {
             context.getLog().info( "Skipping overlay[" + overlay + "]" );
@@ -70,9 +71,23 @@
 
                 // Step2: setup
                 final PathSet includes = getFilesToIncludes( tmpDir, overlay.getIncludes(), overlay.getExcludes() );
-
+                
                 // Copy
-                copyFiles( overlay.getId(), context, tmpDir, includes );
+                if ( null == overlay.getTargetPath() )
+                {
+                    copyFiles( overlay.getId(), context, tmpDir, includes );
+                }
+                else
+                {
+                    // overlay.getTargetPath() must ended with /
+                    // if not we add it
+                    String targetPath = overlay.getTargetPath();
+                    if (!targetPath.endsWith( "/" ))
+                    {
+                        targetPath = targetPath + "/";
+                    }
+                    copyFiles( overlay.getId(), context, tmpDir, includes, targetPath );
+                }
             }
             catch ( IOException e )
             {

Added: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java?rev=582696&view=auto
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java (added)
+++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java Sun Oct  7 16:18:21 2007
@@ -0,0 +1,160 @@
+package org.apache.maven.plugin.war;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.plugin.war.overlay.DefaultOverlay;
+import org.apache.maven.plugin.war.stub.MavenZipProject;
+import org.apache.maven.plugin.war.stub.WarArtifactStub;
+import org.apache.maven.plugin.war.stub.ZipArtifactStub;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 7 Oct 07
+ * @version $Id$
+ */
+public class WarZipTest
+    extends AbstractWarMojoTest
+{
+    WarMojo mojo;
+
+    private static File pomFile = new File( getBasedir(), "src/test/resources/unit/warziptest/war-with-zip.xml" );
+
+      
+    
+    protected File getTestDirectory()
+    {
+        return new File( getBasedir(), "target/test-classes/unit/warziptest" );
+    }
+
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+        mojo = (WarMojo) lookupMojo( "war", pomFile );
+    }
+
+    private Artifact buildZipArtifact()
+        throws Exception
+    {
+        ArtifactHandler artifactHandler = (ArtifactHandler) lookup( ArtifactHandler.ROLE, "jar" );
+        File zipFile = new File( getTestDirectory(), "foobar.zip" );
+        return new ZipArtifactStub( "src/test/resources/unit/warziptest", artifactHandler, zipFile );
+    }
+    
+    private File configureMojo( String testId )
+        throws Exception
+    {
+        MavenZipProject project = new MavenZipProject();
+        String outputDir = getTestDirectory().getAbsolutePath() + "/" + testId + "-output";
+        File webAppDirectory = new File( getTestDirectory(), testId );
+        WarArtifactStub warArtifact = new WarArtifactStub( getBasedir() );
+        String warName = "simple";
+        File webAppSource = createWebAppSource( testId );
+        File classesDir = createClassesDir( testId, true );
+        File xmlSource = createXMLConfigDir( testId, new String[] { "web.xml" } );
+
+        project.setArtifact( warArtifact );
+        this.configureMojo( mojo, new LinkedList(), classesDir, webAppSource, webAppDirectory, project );
+        setVariableValueToObject( mojo, "outputDirectory", outputDir );
+        setVariableValueToObject( mojo, "warName", warName );
+        setVariableValueToObject( mojo, "workDirectory", new File( getTestDirectory(), "work" ) );
+        mojo.setWebXml( new File( xmlSource, "web.xml" ) );
+        
+
+
+        project.getArtifacts().add( buildZipArtifact() );
+
+        return webAppDirectory;
+    }
+
+    public void testOneZip()
+        throws Exception
+    {
+        File webAppDirectory = configureMojo( "one-zip" );
+        
+        mojo.execute();
+
+        File foo = new File( webAppDirectory, "foo.txt" );
+        assertTrue( "foo.txt not exists", foo.exists() );
+        assertTrue( "foo.txt not a file", foo.isFile() );
+
+        File barDirectory = new File( webAppDirectory, "bar" );
+        assertTrue( "bar directory not exists", barDirectory.exists() );
+        assertTrue( "bar not a directory", barDirectory.isDirectory() );
+
+        File bar = new File( barDirectory, "bar.txt" );
+        assertTrue( "bar/bar.txt not exists", bar.exists() );
+        assertTrue( "bar/bar.txt not a file", bar.isFile() );
+    }
+
+    public void testOneZipWithTargetPathOverlay()
+        throws Exception
+    {
+        File webAppDirectory = configureMojo( "one-zip-overlay-targetPath" );
+        
+        Overlay overlay = new DefaultOverlay( buildZipArtifact() );
+        //overlay.setIncludes( new String[] {"**/**"} );
+        overlay.setTargetPath( "overridePath" );
+        mojo.addOverlay( overlay );
+        
+        mojo.execute();
+
+        File foo = new File( webAppDirectory.getPath() + File.separatorChar + "overridePath", "foo.txt" );
+        assertTrue( "foo.txt not exists", foo.exists() );
+        assertTrue( "foo.txt not a file", foo.isFile() );
+
+        File barDirectory = new File( webAppDirectory.getPath() + File.separatorChar + "overridePath", "bar" );
+        assertTrue( "bar directory not exists", barDirectory.exists() );
+        assertTrue( "bar not a directory", barDirectory.isDirectory() );
+
+        File bar = new File( barDirectory, "bar.txt" );
+        assertTrue( "bar/bar.txt not exists", bar.exists() );
+        assertTrue( "bar/bar.txt not a file", bar.isFile() );
+    }  
+    
+    public void testOneZipWithWithSkip()
+        throws Exception
+    {
+        File webAppDirectory = configureMojo( "one-zip-overlay-skip" );
+
+        Overlay overlay = new DefaultOverlay( buildZipArtifact() );
+        overlay.setSkip( true );
+        mojo.addOverlay( overlay );
+
+        mojo.execute();
+
+        File foo = new File( webAppDirectory.getPath() + File.separatorChar + "overridePath", "foo.txt" );
+        assertFalse( "foo.txt exists", foo.exists() );
+        assertFalse( "foo.txt a file", foo.isFile() );
+
+        File barDirectory = new File( webAppDirectory.getPath() + File.separatorChar + "overridePath", "bar" );
+        assertFalse( "bar directory exists", barDirectory.exists() );
+        assertFalse( "bar is a directory", barDirectory.isDirectory() );
+
+        File bar = new File( barDirectory, "bar.txt" );
+        assertFalse( "bar/bar.txt exists", bar.exists() );
+        assertFalse( "bar/bar.txt is a file", bar.isFile() );
+    }    
+}

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sun Oct  7 16:18:21 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id

Added: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java?rev=582696&view=auto
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java (added)
+++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java Sun Oct  7 16:18:21 2007
@@ -0,0 +1,46 @@
+package org.apache.maven.plugin.war.stub;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 9 juin 07
+ * @version $Id$
+ */
+public class MavenZipProject
+    extends MavenProject4CopyConstructor
+{
+    private Set artifacts;
+
+    public MavenZipProject()
+        throws Exception
+    {
+        super();
+        this.artifacts = new HashSet();
+    }
+
+    public Set getArtifacts()
+    {
+        return this.artifacts;
+    }
+
+}

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/MavenZipProject.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sun Oct  7 16:18:21 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id

Added: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java?rev=582696&view=auto
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java (added)
+++ maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java Sun Oct  7 16:18:21 2007
@@ -0,0 +1,81 @@
+package org.apache.maven.plugin.war.stub;
+
+import java.io.File;
+
+import org.apache.maven.artifact.handler.ArtifactHandler;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to you 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.
+ */
+/**
+ * @author <a href="mailto:olamy@codehaus.org">olamy</a>
+ * @since 8 juin 07
+ * @version $Id$
+ */
+public class ZipArtifactStub
+    extends AbstractArtifactStub
+{
+    private ArtifactHandler artifactHandler;
+
+    private File zip;
+
+    public ZipArtifactStub( String basedir, ArtifactHandler artifactHandler, File zipFile )
+    {
+        super( basedir );
+        this.artifactHandler = artifactHandler;
+        this.zip = zipFile;
+    }
+
+    public ArtifactHandler getArtifactHandler()
+    {
+        return super.getArtifactHandler();
+    }
+
+    public String getScope()
+    {
+        return super.getScope();
+    }
+
+    public String getVersion()
+    {
+        return "1.0";
+    }
+
+    public boolean isOptional()
+    {
+        return super.isOptional();
+    }
+
+    public File getFile()
+    {
+        return this.zip;
+    }
+
+    public String getType()
+    {
+        return "zip";
+    }
+
+   
+    public String getArtifactId()
+    {
+        return "zipId";
+    }
+
+    public String getGroupId()
+    {
+        return "zipGroupId";
+    }
+
+}

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sun Oct  7 16:18:21 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id

Added: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/foobar.zip
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/foobar.zip?rev=582696&view=auto
==============================================================================
Binary file - no diff available.

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/foobar.zip
------------------------------------------------------------------------------
    svn:executable = *

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/foobar.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml?rev=582696&view=auto
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml (added)
+++ maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml Sun Oct  7 16:18:21 2007
@@ -0,0 +1,31 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+
+<project>
+  <name>war-with-one-zip</name>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <configuration>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: maven/plugins/trunk/maven-war-plugin/src/test/resources/unit/warziptest/war-with-zip.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"