Revision: 19743
          http://sourceforge.net/p/gate/code/19743
Author:   markagreenwood
Date:     2016-11-17 00:48:30 +0000 (Thu, 17 Nov 2016)
Log Message:
-----------
move some of the maven stuff in PLugin into a util method so we can more easily 
reuse it in the cache impl

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

Modified: gate/branches/sawdust2/gate-core/src/main/java/gate/Plugin.java
===================================================================
--- gate/branches/sawdust2/gate-core/src/main/java/gate/Plugin.java     
2016-11-16 17:58:23 UTC (rev 19742)
+++ gate/branches/sawdust2/gate-core/src/main/java/gate/Plugin.java     
2016-11-17 00:48:30 UTC (rev 19743)
@@ -14,9 +14,9 @@
 
 package gate;
 
+import static gate.util.maven.Utils.getRepositoryList;
 import static gate.util.maven.Utils.getRepositorySession;
 import static gate.util.maven.Utils.getRepositorySystem;
-import static gate.util.maven.Utils.loadMavenSettings;
 
 import java.io.File;
 import java.io.IOException;
@@ -57,7 +57,6 @@
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.settings.Profile;
 import org.apache.maven.settings.Repository;
-import org.apache.maven.settings.Settings;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.artifact.Artifact;
@@ -508,31 +507,11 @@
               new DefaultArtifact(group, artifact, "jar", version);
 
       Dependency dependency = new Dependency(artifactObj, "runtime");
-      RemoteRepository central =
-              new RemoteRepository.Builder("central", "default",
-                      "http://repo1.maven.org/maven2/";).build();
 
-      ArtifactRequest artifactRequest = new ArtifactRequest();
-      artifactRequest.setArtifact(artifactObj);
+      List<RemoteRepository> repos = getRepositoryList();
       
-      //is this needed now we load the settings file?
-      artifactRequest.addRepository(central);
-      
-      // Add all repos from settings.xml
-      // 
http://stackoverflow.com/questions/27818659/loading-mavens-settings-xml-for-jcabi-aether-to-use
-      Settings effectiveSettings = loadMavenSettings();
-      Map<String, Profile> profilesMap = effectiveSettings.getProfilesAsMap();
-      for(String profileName : effectiveSettings.getActiveProfiles()) {
-        Profile profile = profilesMap.get(profileName);
-        List<Repository> repositories = profile.getRepositories();
-        for(Repository repo : repositories) {
-          RemoteRepository remoteRepo =
-                  new RemoteRepository.Builder(repo.getId(), "default",
-                          repo.getUrl()).build();
-          artifactRequest.addRepository(remoteRepo);
-        }
-      }
-      
+      ArtifactRequest artifactRequest = new ArtifactRequest(artifactObj, 
repos, null);
+            
       RepositorySystem repoSystem = getRepositorySystem();
       RepositorySystemSession repoSession = getRepositorySession(repoSystem);
 
@@ -557,20 +536,8 @@
                 + " does not exist so this artifact is not a GATE plugin");
       }
 
-      CollectRequest collectRequest = new CollectRequest();
-      collectRequest.setRoot(dependency);
-      collectRequest.addRepository(central);
-      for(String profileName : effectiveSettings.getActiveProfiles()) {
-        Profile profile = profilesMap.get(profileName);
-        List<Repository> repositories = profile.getRepositories();
-        for(Repository repo : repositories) {
-          RemoteRepository remoteRepo =
-                  new RemoteRepository.Builder(repo.getId(), "default",
-                          repo.getUrl()).build();
-          collectRequest.addRepository(remoteRepo);
-        }
-      }
-
+      CollectRequest collectRequest = new CollectRequest(dependency,repos);
+      
       DependencyNode node =
               repoSystem.collectDependencies(repoSession,
                       collectRequest).getRoot();
@@ -590,9 +557,8 @@
 
       Element creoleRoot = jdomDoc.getRootElement();
 
-      for(ArtifactResult ar : result.getArtifactResults()) {
+      for(ArtifactResult ar : result.getArtifactResults()) {        
         
-        
         Element jarElement = new Element("JAR");
         jarElement.setText(ar.getArtifact().getFile().toURI().toURL()
                 .toExternalForm());

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-16 17:58:23 UTC (rev 19742)
+++ 
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java
        2016-11-17 00:48:30 UTC (rev 19743)
@@ -8,6 +8,7 @@
 import org.apache.commons.io.FileUtils;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.repository.WorkspaceReader;
 import org.eclipse.aether.repository.WorkspaceRepository;
 
@@ -65,7 +66,13 @@
   }
   
   public void cacheArtifact(Artifact artifact) throws IOException {
+    cacheArtifact(artifact,false);
+  }
+  
+  public void cacheArtifact(Artifact artifact, boolean includeDependencies) 
throws IOException {
     
+    
+    
     File file = getArtifactFile(artifact);
     
     
@@ -81,6 +88,11 @@
   }
 
   public static void main(String args[]) throws Exception {
+
+    for (RemoteRepository repo : Utils.getRepositoryList()) {
+      System.out.println(repo);
+    }
+    
     Artifact artifactObj = new DefaultArtifact("uk.ac.gate.plugins", "annie",
         "jar", "9.0-SNAPSHOT");
     artifactObj = artifactObj.setFile(new 
File("/home/mark/.m2/repository/uk/ac/gate/plugins/annie/9.0-SNAPSHOT/annie-9.0-SNAPSHOT.jar"));

Modified: 
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/Utils.java
===================================================================
--- gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/Utils.java   
2016-11-16 17:58:23 UTC (rev 19742)
+++ gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/Utils.java   
2016-11-17 00:48:30 UTC (rev 19743)
@@ -1,9 +1,14 @@
 package gate.util.maven;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.apache.maven.settings.Profile;
+import org.apache.maven.settings.Repository;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.building.DefaultSettingsBuilder;
 import org.apache.maven.settings.building.DefaultSettingsBuilderFactory;
@@ -14,9 +19,11 @@
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
 import org.eclipse.aether.impl.DefaultServiceLocator;
 import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
 import org.eclipse.aether.transport.file.FileTransporterFactory;
@@ -65,6 +72,38 @@
     return effectiveSettings;
   }
   
+  public static List<RemoteRepository> getRepositoryList() throws 
SettingsBuildingException {
+    
+    List<RemoteRepository> repos = new ArrayList<RemoteRepository>();
+    
+    RemoteRepository central =
+        new RemoteRepository.Builder("central", "default",
+                "http://repo1.maven.org/maven2/";).build();
+
+    repos.add(central);
+    
+    // Add all repos from settings.xml
+    // 
http://stackoverflow.com/questions/27818659/loading-mavens-settings-xml-for-jcabi-aether-to-use
+    Settings effectiveSettings = loadMavenSettings();
+    Map<String, Profile> profilesMap = effectiveSettings.getProfilesAsMap();
+    for(String profileName : effectiveSettings.getActiveProfiles()) {
+      Profile profile = profilesMap.get(profileName);
+      List<Repository> repositories = profile.getRepositories();
+      for(Repository repo : repositories) {
+        RemoteRepository remoteRepo =
+                new RemoteRepository.Builder(repo.getId(), "default",
+                        repo.getUrl()).build();
+      repos.add(remoteRepo);
+      }
+    }
+    
+    return repos;
+  }
+  
+  public Artifact getArtifact() {
+    return null;
+  }
+  
   public static RepositorySystem getRepositorySystem() {
 
     DefaultServiceLocator locator =

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