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