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]

Reply via email to