Ok, I see.
But if I had a zip overlay manually : do I win against the global for this ?


--
Olivier

2007/10/8, Stephane Nicoll <[EMAIL PROTECTED]>:
>
> Olivier,
>
> The idea we put forward was the presence of a flag that enable /
> disable the zip handling altogether. Having to declare every overlay
> when you actually want this as the default is a bit painful.
>
> Please read the discussion in the Jira issue (Unless you disagree with
> the proposal).
>
> Thanks,
> Stéphane
>
>
>
> ---------- Forwarded message ----------
> From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Date: Oct 8, 2007 2:44 PM
> Subject: svn commit: r582805 - in
> /maven/plugins/trunk/maven-war-plugin/src:
> main/java/org/apache/maven/plugin/war/overlay/ site/apt/
> test/java/org/apache/maven/plugin/war/
> test/java/org/apache/maven/plugin/war/stub/
> To: [EMAIL PROTECTED]
>
>
> Author: olamy
> Date: Mon Oct  8 05:44:27 2007
> New Revision: 582805
>
> URL: http://svn.apache.org/viewvc?rev=582805&view=rev
> Log:
> [MWAR-104] to preserve backward comp. zip overlay must be off by default
>   add some notes on this in overlays.apt.
>
> Modified:
>
>     
> maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/overlay/OverlayManager.java
>     maven/plugins/trunk/maven-war-plugin/src/site/apt/overlays.apt
>
>     
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
>
>     
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
>
> 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=582805&r1=582804&r2=582805&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
> Mon Oct  8 05:44:27 2007
> @@ -23,6 +23,7 @@
> import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
> import org.apache.maven.plugin.war.Overlay;
> import org.apache.maven.project.MavenProject;
> +import org.codehaus.plexus.util.StringUtils;
>
> import java.util.ArrayList;
> import java.util.Iterator;
> @@ -41,10 +42,6 @@
>
>      private final MavenProject project;
>
> -    //private final List warArtifactss;
> -
> -    //private final List zipArtifacts;
> -
>      private final List artifactsOverlays;
>
>      /**
> @@ -70,29 +67,12 @@
>          }
>          this.project = project;
>
> -        //this.warArtifacts = getOverlaysAsArtifactsWithType( "war" );
> -
> -        //this.zipArtifacts = getOverlaysAsArtifactsWithType( "zip" );
> -
>          this.artifactsOverlays = getOverlaysAsArtifacts();
>
>          // Initialize
>          initialize( defaultIncludes, defaultExcludes );
>
>      }
> -
> -    /**
> -     * Returns the war artifactst attachted to the project.
> -     *
> -     * @return a list of war Artifact
> -     */
> -    /*
> -    public List getWarArtifacts()
> -    {
> -        return warArtifacts;
> -    }
> -    */
> -
>
>
>      /**
> @@ -247,12 +227,43 @@
>          while ( it.hasNext() )
>          {
>              Artifact artifact = (Artifact) it.next();
> -            if ( !artifact.isOptional() && filter.include( artifact )
> -                && ( "war".equals( artifact.getType() ) ||
> "zip".equals( artifact.getType() ) ) )
> +            if ( !artifact.isOptional() && filter.include( artifact )
> && ( "war".equals( artifact.getType() ) ) )
> +            {
> +                result.add( artifact );
> +            }
> +            // zip overlay is disabled by default except if user want
> it in the mojo's overlays
> +            if ( !artifact.isOptional() && filter.include( artifact )
> && ( "zip".equals( artifact.getType() ) ) )
>              {
> +                Overlay overlay = getAssociatedOverlay( artifact );
> +                // if the overlay doesn't exists we create a new with
> skip by default
> +                if ( overlay != null )
> +                {
> +                    Overlay zipOverlay = new DefaultOverlay(artifact);
> +                    zipOverlay.setSkip( true );
> +                    this.overlays.add( zipOverlay );
> +                }
>                  result.add( artifact );
>              }
>          }
>          return result;
> +    }
> +
> +    private Overlay getAssociatedOverlay( Artifact artifact )
> +    {
> +        if ( this.overlays == null )
> +        {
> +            return null;
> +        }
> +        for ( Iterator iterator = this.overlays.iterator();
> iterator.hasNext(); )
> +        {
> +            Overlay overlay = (Overlay) iterator.next();
> +            if ( StringUtils.equals( artifact.getGroupId(),
> overlay.getGroupId() )
> +                && StringUtils.equals( artifact.getArtifactId(),
> overlay.getArtifactId() )
> +                && StringUtils.equals( artifact.getClassifier(),
> overlay.getClassifier() ))
> +            {
> +                return overlay;
> +            }
> +        }
> +        return null;
>      }
> }
>
> Modified: maven/plugins/trunk/maven-war-plugin/src/site/apt/overlays.apt
> URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/site/apt/overlays.apt?rev=582805&r1=582804&r2=582805&view=diff
>
> ==============================================================================
> --- maven/plugins/trunk/maven-war-plugin/src/site/apt/overlays.apt
> (original)
> +++ maven/plugins/trunk/maven-war-plugin/src/site/apt/overlays.apt Mon
> Oct  8 05:44:27 2007
> @@ -333,4 +333,34 @@
>    [...]
> +-----------------+
>
> +* Zip dependencies with overlays
>
> +  The plugin now handles zip dependencies and can extract content to
> the webapp directory.
> +
> +  <<To preserve backward compatibility and some user workaround this
> features is disabled by default.>>
> +
> +  To enable this you have to declare your zip dependency in the
> overlays mojo configuration section.
> +
> +  A sample configuration for a zip (groupId : zipGroupId, artifactId :
> zipId).
> +  With this configuration, the zip content will be in
> webappDirectory/scripts/.
> +
> ++-----------------+
> + [...]
> +   <plugins>
> +     <plugin>
> +       <groupId>org.apache.maven.plugins</groupId>
> +       <artifactId>maven-war-plugin</artifactId>
> +       <configuration>
> +         <overlays>
> +            <overlay>
> +              <groupId>zipGroupId</groupId>
> +              <artifactId>zipId</artifactId>
> +              <!-- optionnal the path to put zip content -->
> +              <targetPath>scripts</targetPath>
> +            </overlay>
> +          </overlays>
> +       </configuration>
> +      </plugin>
> +   </plugins>
> + [...]
> ++-----------------+
>
> Modified:
> 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=582805&r1=582804&r2=582805&view=diff
>
> ==============================================================================
> ---
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
> (original)
> +++
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/WarZipTest.java
> Mon Oct  8 05:44:27 2007
> @@ -89,11 +89,14 @@
>          return webAppDirectory;
>      }
>
> -    public void testOneZip()
> +    public void testOneZipWithNoSkip()
>          throws Exception
>      {
>          File webAppDirectory = configureMojo( "one-zip" );
>
> +        Overlay overlay = new DefaultOverlay( buildZipArtifact() );
> +        //overlay.setSkip( false );
> +        mojo.addOverlay( overlay );
>          mojo.execute();
>
>          File foo = new File( webAppDirectory, "foo.txt" );
> @@ -115,7 +118,7 @@
>          File webAppDirectory = configureMojo(
> "one-zip-overlay-targetPath" );
>
>          Overlay overlay = new DefaultOverlay( buildZipArtifact() );
> -        //overlay.setIncludes( new String[] {"**/**"} );
> +        overlay.setSkip( false );
>          overlay.setTargetPath( "overridePath" );
>          mojo.addOverlay( overlay );
>
> @@ -134,17 +137,31 @@
>          assertTrue( "bar/bar.txt not a file", bar.isFile() );
>      }
>
> -    public void testOneZipWithWithSkip()
> +    public void testOneZipDefaultSkip()
>          throws Exception
>      {
>          File webAppDirectory = configureMojo( "one-zip-overlay-skip" );
>
> +        mojo.execute();
> +
> +        assertZipContentNotHere( webAppDirectory );
> +    }
> +
> +    public void testOneZipWithWithForceSkip()
> +        throws Exception
> +    {
> +        File webAppDirectory = configureMojo( "one-zip-overlay-skip" );
>          Overlay overlay = new DefaultOverlay( buildZipArtifact() );
>          overlay.setSkip( true );
>          mojo.addOverlay( overlay );
>
>          mojo.execute();
> +        assertZipContentNotHere( webAppDirectory );
>
> +    }
> +
> +    protected void assertZipContentNotHere(File webAppDirectory)
> +    {
>          File foo = new File( webAppDirectory.getPath() +
> File.separatorChar + "overridePath", "foo.txt" );
>          assertFalse( "foo.txt exists", foo.exists() );
>          assertFalse( "foo.txt a file", foo.isFile() );
> @@ -156,5 +173,5 @@
>          File bar = new File( barDirectory, "bar.txt" );
>          assertFalse( "bar/bar.txt exists", bar.exists() );
>          assertFalse( "bar/bar.txt is a file", bar.isFile() );
> -    }
> +    }
> }
>
> Modified:
> 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=582805&r1=582804&r2=582805&view=diff
>
> ==============================================================================
> ---
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
> (original)
> +++
> maven/plugins/trunk/maven-war-plugin/src/test/java/org/apache/maven/plugin/war/stub/ZipArtifactStub.java
> Mon Oct  8 05:44:27 2007
> @@ -37,6 +37,12 @@
>          this.zip = zipFile;
>      }
>
> +
> +    public String getId()
> +    {
> +        return null;
> +    }
> +
>      public ArtifactHandler getArtifactHandler()
>      {
>          return super.getArtifactHandler();
>
>
>
>
> --
> Large Systems Suck: This rule is 100% transitive. If you build one,
> you suck" -- S.Yegge
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Olivier

Reply via email to