Author: brett
Date: Tue Jun 7 17:18:53 2005
New Revision: 189477
URL: http://svn.apache.org/viewcvs?rev=189477&view=rev
Log:
add the ability to use a POM for dependencies
Modified:
maven/components/trunk/maven-artifact-ant/sample.build.xml
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Modified: maven/components/trunk/maven-artifact-ant/sample.build.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/sample.build.xml?rev=189477&r1=189476&r2=189477&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/sample.build.xml (original)
+++ maven/components/trunk/maven-artifact-ant/sample.build.xml Tue Jun 7
17:18:53 2005
@@ -3,7 +3,6 @@
<!--
TODO...
- read .m2/settings.xml
- - get dependencies from a POM
-->
<artifact:localRepository id="local.repository"
location="${basedir}/target/local-repo" layout="default"/>
@@ -22,6 +21,14 @@
<copy todir="target/files">
<fileset refid="dependency.fileset" />
+ </copy>
+
+ <artifact:dependencies filesetId="my.dependency.fileset">
+ <pom refid="maven.project" />
+ </artifact:dependencies>
+
+ <copy todir="target/my-dependencies">
+ <fileset refid="my.dependency.fileset" />
</copy>
<artifact:install file="target/maven-artifact-ant-2.0-SNAPSHOT.jar">
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=189477&r1=189476&r2=189477&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
(original)
+++
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Tue Jun 7 17:18:53 2005
@@ -17,17 +17,15 @@
*/
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.model.Dependency;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.artifact.MavenMetadataSource;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Dependency;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
@@ -57,6 +55,8 @@
private String filesetId;
+ private Pom pom;
+
public void execute()
{
if ( localRepository == null )
@@ -66,23 +66,25 @@
ArtifactRepository localRepo = createArtifactRepository(
localRepository );
- ArtifactFactory factory = (ArtifactFactory) lookup(
ArtifactFactory.ROLE );
-
ArtifactResolver resolver = (ArtifactResolver) lookup(
ArtifactResolver.ROLE );
- MavenMetadataSource metadataSource = new MavenMetadataSource(
resolver, (MavenProjectBuilder) lookup(
- MavenProjectBuilder.ROLE ) );
+ MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup(
MavenProjectBuilder.ROLE );
+ MavenMetadataSource metadataSource = new MavenMetadataSource(
resolver, projectBuilder );
- Set artifacts = metadataSource.createArtifacts( dependencies, null,
null );
-/*
- for ( Iterator i = dependencies.iterator(); i.hasNext(); )
+ List dependencies = this.dependencies;
+
+ if ( pom != null )
{
- Dependency dependency = (Dependency) i.next();
- Artifact a = factory.createArtifact( dependency.getGroupId(),
dependency.getArtifactId(),
- dependency.getVersion(),
dependency.getScope(), dependency.getType(),
- null );
- artifacts.add( a );
+ if ( !dependencies.isEmpty() )
+ {
+ throw new BuildException( "You cannot specify both
dependencies and a pom in the dependencies task" );
+ }
+
+ pom.initialise( projectBuilder, localRepo );
+
+ dependencies = pom.getDependencies();
}
-*/
+
+ Set artifacts = metadataSource.createArtifacts( dependencies, null,
null );
log( "Resolving dependencies..." );
@@ -92,8 +94,8 @@
ArtifactResolutionResult result;
try
{
- result =
- resolver.resolveTransitively( artifacts,
createRemoteArtifactRepositories(), localRepo, metadataSource );
+ List remoteArtifactRepositories =
createRemoteArtifactRepositories();
+ result = resolver.resolveTransitively( artifacts,
remoteArtifactRepositories, localRepo, metadataSource );
}
catch ( ArtifactResolutionException e )
{
@@ -214,5 +216,15 @@
public void setFilesetId( String filesetId )
{
this.filesetId = filesetId;
+ }
+
+ public Pom getPom()
+ {
+ return pom;
+ }
+
+ public void addPom( Pom pom )
+ {
+ this.pom = pom;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]