You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/05/31 20:04:32 UTC
svn commit: r543200 - in /maven/ant-tasks: branches/maven-ant-tasks-2.0.x/
branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/
trunk/ trunk/src/main/java/org/apache/maven/artifact/ant/
Author: jvanzyl
Date: Thu May 31 11:04:31 2007
New Revision: 543200
URL: http://svn.apache.org/viewvc?view=rev&rev=543200
Log:
MANTTASKS-29 Add more powerful filesets
Submitted by: Herve Boutemy
Modified:
maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml
maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
maven/ant-tasks/trunk/sample.build.xml
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Modified: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml?view=diff&rev=543200&r1=543199&r2=543200
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml (original)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml Thu May 31 11:04:31 2007
@@ -22,13 +22,10 @@
<target name="initTaskDefs">
<xmlproperty file="pom.xml" prefix="pom.xml" />
- <path id="maven.classpath">
- <pathelement location="target/maven-ant-tasks-${pom.xml.project.version}.jar" />
- </path>
-
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">
- <classpath refid="maven.classpath"/>
- </typedef>
+
+ <path id="maven-ant-tasks.classpath" path="target/maven-ant-tasks-${pom.xml.project.version}.jar" />
+ <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
+ classpathref="maven-ant-tasks.classpath"/>
<artifact:localRepository id="local.repository" path="${basedir}/target/local-repo" layout="default"/>
@@ -42,7 +39,7 @@
</target>
<target name="test-all-deps" description="All dependencies tests"
- depends="test-pom,test-no-deps,test-deps,test-legacy-pom">
+ depends="test-pom,test-no-deps,test-pom-deps,test-deps,test-legacy-pom">
<echo>test-bad-dep and test-invalid-pom-ref must be run manually, since they are intended to fail</echo>
</target>
@@ -85,11 +82,13 @@
</target>
<target name="test-deps" depends="initTaskDefs">
- <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset" sourcesFilesetId="sources.fileset">
+ <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset" sourcesFilesetId="sources.fileset" verbose="true">
<dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test" version="1.0-alpha-4">
<exclusion groupId="junit" artifactId="junit"/>
</dependency>
- <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT"/>
+ <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT">
+ <exclusion groupId="junit" artifactId="junit"/>
+ </dependency>
<dependency groupId="org.apache.maven" artifactId="maven-core-it-support-old-location" version="1.1"/>
<localRepository refid="local.repository"/>
<remoteRepository url="http://repo1.maven.org/maven2" id="central" />
@@ -99,33 +98,52 @@
</remoteRepository>
</artifact:dependencies>
- <copy todir="target/files">
+ <copy todir="target/files/binaries">
<fileset refid="dependency.fileset"/>
</copy>
<copy todir="target/files/sources">
<fileset refid="sources.fileset"/>
</copy>
+ <available file="target/files/binaries/junit/junit" type="dir" property="exclusion.dependency"/>
+ <fail if="exclusion.dependency">excluded dependency junit:junit shouldn't be in target/files/binaries</fail>
+ <available file="target/files/binaries/org/apache/maven/archive/archiva-configuration" type="dir" property="snapshot.dependency"/>
+ <!-- MANTTASKS-18 -->
+ <fail unless="snapshot.dependency">SNAPSHOT dependency org.apache.maven.archiva:archiva-configuration:1.0-SNAPSHOT should be in target/files/binaries</fail>
+ </target>
-
- <artifact:dependencies filesetId="my.dependency.fileset" verbose="true">
+ <target name="test-pom-deps" depends="initTaskDefs">
+ <artifact:dependencies filesetId="maven-ant-tasks.dependency.fileset">
<pom refid="maven.project"/>
</artifact:dependencies>
- <copy todir="target/my-dependencies">
- <fileset refid="my.dependency.fileset"/>
+ <copy todir="target/maven-ant-tasks-dependencies">
+ <fileset refid="maven-ant-tasks.dependency.fileset"/>
</copy>
- <artifact:dependencies filesetId="my.compile.dependency.fileset" useScope="compile">
+ <artifact:dependencies filesetId="maven-ant-tasks.compile.dependency.fileset" versionsId="maven-ant-tasks.compile.dependency.versions" useScope="compile">
<pom refid="maven.project"/>
</artifact:dependencies>
+ <echo>dependencies versions: ${maven-ant-tasks.compile.dependency.versions}</echo>
+
+ <copy todir="target/maven-ant-tasks-compile-dependencies/fileset">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ </copy>
+
+ <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapper">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper"
+ from="${maven-ant-tasks.compile.dependency.versions}" />
+ </copy>
- <copy todir="target/my-compile-dependencies">
- <fileset refid="my.compile.dependency.fileset"/>
+ <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapperFlatten">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper"
+ from="${maven-ant-tasks.compile.dependency.versions}" to="flatten" />
</copy>
- <copy todir="target/my-compile-dependencies/WEB-INF/lib">
- <fileset refid="my.compile.dependency.fileset"/>
- <mapper type="flatten" />
+ <copy todir="target/maven-ant-tasks-compile-dependencies/WEB-INF/lib">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper type="flatten"/>
</copy>
</target>
Modified: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?view=diff&rev=543200&r1=543199&r2=543200
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Thu May 31 11:04:31 2007
@@ -42,11 +42,14 @@
import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
+import org.codehaus.plexus.util.StringUtils;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -71,6 +74,8 @@
private String filesetId;
private String sourcesFilesetId;
+
+ private String versionsId;
private String useScope;
@@ -216,6 +221,8 @@
FileSet sourcesFileSet = new FileSet();
sourcesFileSet.setDir( sourcesFileList.getDir( getProject() ) );
+ Set versions = new HashSet();
+
if ( result.getArtifacts().isEmpty() )
{
fileSet.createExclude().setName( "**/**" );
@@ -233,6 +240,8 @@
fileList.addConfiguredFile( file );
fileSet.createInclude().setName( filename );
+
+ versions.add( artifact.getBaseVersion() );
if ( sourcesFilesetId != null )
{
@@ -284,6 +293,12 @@
{
getProject().addReference( sourcesFilesetId, sourcesFileSet );
}
+
+ if ( versionsId != null )
+ {
+ String versionsValue = StringUtils.join( versions.iterator(), File.pathSeparator );
+ getProject().setNewProperty( versionsId, versionsValue );
+ }
}
private static String statusAsString( RepositoryPolicy policy )
@@ -367,6 +382,16 @@
public void setFilesetId( String filesetId )
{
this.filesetId = filesetId;
+ }
+
+ public String getVersionsId()
+ {
+ return versionsId;
+ }
+
+ public void setVersionsId( String versionsId )
+ {
+ this.versionsId = versionsId;
}
public void setVerbose( boolean verbose )
Modified: maven/ant-tasks/trunk/sample.build.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/sample.build.xml?view=diff&rev=543200&r1=543199&r2=543200
==============================================================================
--- maven/ant-tasks/trunk/sample.build.xml (original)
+++ maven/ant-tasks/trunk/sample.build.xml Thu May 31 11:04:31 2007
@@ -22,13 +22,10 @@
<target name="initTaskDefs">
<xmlproperty file="pom.xml" prefix="pom.xml" />
- <path id="maven.classpath">
- <pathelement location="target/maven-ant-tasks-${pom.xml.project.version}.jar" />
- </path>
-
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">
- <classpath refid="maven.classpath"/>
- </typedef>
+
+ <path id="maven-ant-tasks.classpath" path="target/maven-ant-tasks-${pom.xml.project.version}.jar" />
+ <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
+ classpathref="maven-ant-tasks.classpath"/>
<artifact:localRepository id="local.repository" path="${basedir}/target/local-repo" layout="default"/>
@@ -42,7 +39,7 @@
</target>
<target name="test-all-deps" description="All dependencies tests"
- depends="test-pom,test-no-deps,test-deps,test-legacy-pom">
+ depends="test-pom,test-no-deps,test-pom-deps,test-deps,test-legacy-pom">
<echo>test-bad-dep and test-invalid-pom-ref must be run manually, since they are intended to fail</echo>
</target>
@@ -85,11 +82,13 @@
</target>
<target name="test-deps" depends="initTaskDefs">
- <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset" sourcesFilesetId="sources.fileset">
+ <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset" sourcesFilesetId="sources.fileset" verbose="true">
<dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test" version="1.0-alpha-4">
<exclusion groupId="junit" artifactId="junit"/>
</dependency>
- <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT"/>
+ <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT">
+ <exclusion groupId="junit" artifactId="junit"/>
+ </dependency>
<dependency groupId="org.apache.maven" artifactId="maven-core-it-support-old-location" version="1.1"/>
<localRepository refid="local.repository"/>
<remoteRepository url="http://repo1.maven.org/maven2" id="central" />
@@ -99,33 +98,52 @@
</remoteRepository>
</artifact:dependencies>
- <copy todir="target/files">
+ <copy todir="target/files/binaries">
<fileset refid="dependency.fileset"/>
</copy>
<copy todir="target/files/sources">
<fileset refid="sources.fileset"/>
</copy>
+ <available file="target/files/binaries/junit/junit" type="dir" property="exclusion.dependency"/>
+ <fail if="exclusion.dependency">excluded dependency junit:junit shouldn't be in target/files/binaries</fail>
+ <available file="target/files/binaries/org/apache/maven/archive/archiva-configuration" type="dir" property="snapshot.dependency"/>
+ <!-- MANTTASKS-18 -->
+ <fail unless="snapshot.dependency">SNAPSHOT dependency org.apache.maven.archiva:archiva-configuration:1.0-SNAPSHOT should be in target/files/binaries</fail>
+ </target>
-
- <artifact:dependencies filesetId="my.dependency.fileset" verbose="true">
+ <target name="test-pom-deps" depends="initTaskDefs">
+ <artifact:dependencies filesetId="maven-ant-tasks.dependency.fileset">
<pom refid="maven.project"/>
</artifact:dependencies>
- <copy todir="target/my-dependencies">
- <fileset refid="my.dependency.fileset"/>
+ <copy todir="target/maven-ant-tasks-dependencies">
+ <fileset refid="maven-ant-tasks.dependency.fileset"/>
</copy>
- <artifact:dependencies filesetId="my.compile.dependency.fileset" useScope="compile">
+ <artifact:dependencies filesetId="maven-ant-tasks.compile.dependency.fileset" versionsId="maven-ant-tasks.compile.dependency.versions" useScope="compile">
<pom refid="maven.project"/>
</artifact:dependencies>
+ <echo>dependencies versions: ${maven-ant-tasks.compile.dependency.versions}</echo>
+
+ <copy todir="target/maven-ant-tasks-compile-dependencies/fileset">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ </copy>
+
+ <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapper">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper"
+ from="${maven-ant-tasks.compile.dependency.versions}" />
+ </copy>
- <copy todir="target/my-compile-dependencies">
- <fileset refid="my.compile.dependency.fileset"/>
+ <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapperFlatten">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper"
+ from="${maven-ant-tasks.compile.dependency.versions}" to="flatten" />
</copy>
- <copy todir="target/my-compile-dependencies/WEB-INF/lib">
- <fileset refid="my.compile.dependency.fileset"/>
- <mapper type="flatten" />
+ <copy todir="target/maven-ant-tasks-compile-dependencies/WEB-INF/lib">
+ <fileset refid="maven-ant-tasks.compile.dependency.fileset"/>
+ <mapper type="flatten"/>
</copy>
</target>
Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?view=diff&rev=543200&r1=543199&r2=543200
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Thu May 31 11:04:31 2007
@@ -42,11 +42,14 @@
import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
+import org.codehaus.plexus.util.StringUtils;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -71,6 +74,8 @@
private String filesetId;
private String sourcesFilesetId;
+
+ private String versionsId;
private String useScope;
@@ -216,6 +221,8 @@
FileSet sourcesFileSet = new FileSet();
sourcesFileSet.setDir( sourcesFileList.getDir( getProject() ) );
+ Set versions = new HashSet();
+
if ( result.getArtifacts().isEmpty() )
{
fileSet.createExclude().setName( "**/**" );
@@ -233,6 +240,8 @@
fileList.addConfiguredFile( file );
fileSet.createInclude().setName( filename );
+
+ versions.add( artifact.getBaseVersion() );
if ( sourcesFilesetId != null )
{
@@ -284,6 +293,12 @@
{
getProject().addReference( sourcesFilesetId, sourcesFileSet );
}
+
+ if ( versionsId != null )
+ {
+ String versionsValue = StringUtils.join( versions.iterator(), File.pathSeparator );
+ getProject().setNewProperty( versionsId, versionsValue );
+ }
}
private static String statusAsString( RepositoryPolicy policy )
@@ -367,6 +382,16 @@
public void setFilesetId( String filesetId )
{
this.filesetId = filesetId;
+ }
+
+ public String getVersionsId()
+ {
+ return versionsId;
+ }
+
+ public void setVersionsId( String versionsId )
+ {
+ this.versionsId = versionsId;
}
public void setVerbose( boolean verbose )