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
