Revision: 19750
          http://sourceforge.net/p/gate/code/19750
Author:   markagreenwood
Date:     2016-11-18 09:01:25 +0000 (Fri, 18 Nov 2016)
Log Message:
-----------
cache all dependencies as well as artifact

Modified Paths:
--------------
    
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java

Modified: 
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java
===================================================================
--- 
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java
        2016-11-18 04:33:25 UTC (rev 19749)
+++ 
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java
        2016-11-18 09:01:25 UTC (rev 19750)
@@ -5,12 +5,25 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import static gate.util.maven.Utils.*;
+
 import org.apache.commons.io.FileUtils;
+import org.apache.maven.settings.building.SettingsBuildingException;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.collection.CollectRequest;
+import org.eclipse.aether.collection.DependencyCollectionException;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.graph.DependencyNode;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.repository.WorkspaceReader;
 import org.eclipse.aether.repository.WorkspaceRepository;
+import org.eclipse.aether.resolution.ArtifactResult;
+import org.eclipse.aether.resolution.DependencyRequest;
+import org.eclipse.aether.resolution.DependencyResolutionException;
+import org.eclipse.aether.resolution.DependencyResult;
 
 public class SimpleMavenCache implements WorkspaceReader {
 
@@ -65,21 +78,35 @@
     return versions;
   }
   
-  public void cacheArtifact(Artifact artifact) throws IOException {
-    cacheArtifact(artifact,false);
-  }
-  
-  public void cacheArtifact(Artifact artifact, boolean includeDependencies) 
throws IOException {
+  public void cacheArtifact(Artifact artifact) throws IOException, 
SettingsBuildingException, DependencyCollectionException, 
DependencyResolutionException {
     
+    Dependency dependency = new Dependency(artifact, "runtime");
     
+    RepositorySystem repoSystem = getRepositorySystem();
+    RepositorySystemSession repoSession = getRepositorySession(repoSystem);
     
-    File file = getArtifactFile(artifact);
+    CollectRequest collectRequest = new 
CollectRequest(dependency,getRepositoryList());
     
+    DependencyNode node =
+            repoSystem.collectDependencies(repoSession,
+                    collectRequest).getRoot();
+
+    DependencyRequest dependencyRequest = new DependencyRequest();
+    dependencyRequest.setRoot(node);
     
-    //file.getParentFile().mkdirs();
-    System.out.println(artifact.getFile());
+    DependencyResult result =
+            repoSystem.resolveDependencies(repoSession,
+                    dependencyRequest);
     
-    FileUtils.copyFile(artifact.getFile(), file);
+    for(ArtifactResult ar : result.getArtifactResults()) {
+      File file = getArtifactFile(ar.getArtifact());
+      
+      
+      //file.getParentFile().mkdirs();
+      System.out.println(ar.getArtifact().getFile());
+      
+      FileUtils.copyFile(ar.getArtifact().getFile(), file);
+    }
   }
 
   @Override

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to