Revision: 19774
http://sourceforge.net/p/gate/code/19774
Author: markagreenwood
Date: 2016-11-23 13:11:36 +0000 (Wed, 23 Nov 2016)
Log Message:
-----------
the workspace is now part of the plugin so that it stays with the plugin even
across applications in case it is the only place that plugin is available
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
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-23 02:22:51 UTC (rev 19773)
+++ gate/branches/sawdust2/gate-core/src/main/java/gate/Plugin.java
2016-11-23 13:11:36 UTC (rev 19774)
@@ -63,6 +63,7 @@
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.resolution.ArtifactRequest;
import org.eclipse.aether.resolution.ArtifactResult;
import org.eclipse.aether.resolution.DependencyRequest;
@@ -414,6 +415,8 @@
private static final long serialVersionUID = -6944695755723023537L;
private String group, artifact, version;
+
+ private WorkspaceReader workspace;
public Maven(String group, String artifact, String version) {
this.group = group;
@@ -509,7 +512,7 @@
ArtifactRequest artifactRequest = new ArtifactRequest(artifactObj,
repos, null);
RepositorySystem repoSystem = getRepositorySystem();
- RepositorySystemSession repoSession = getRepositorySession(repoSystem,
null);
+ RepositorySystemSession repoSession = getRepositorySession(repoSystem,
workspace);
ArtifactResult artifactResult =
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-23 02:22:51 UTC (rev 19773)
+++
gate/branches/sawdust2/gate-core/src/main/java/gate/util/maven/SimpleMavenCache.java
2016-11-23 13:11:36 UTC (rev 19774)
@@ -6,6 +6,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -27,112 +28,114 @@
import org.eclipse.aether.resolution.DependencyResolutionException;
import org.eclipse.aether.resolution.DependencyResult;
-public class SimpleMavenCache implements WorkspaceReader {
+public class SimpleMavenCache implements WorkspaceReader, Serializable {
- private File root;
+ private static final long serialVersionUID = 8612094868614282978L;
- private WorkspaceRepository repo;
+ private File root;
- public SimpleMavenCache(File root) {
- this.root = root;
- repo = new WorkspaceRepository();
- }
-
- private File getArtifactFile(Artifact artifact) {
- File file = root;
+ private transient WorkspaceRepository repo;
- for(String part : artifact.getGroupId().split("\\.")) {
- file = new File(file, part);
- }
+ public SimpleMavenCache(File root) {
+ this.root = root;
+ }
- file = new File(file, artifact.getArtifactId());
+ private File getArtifactFile(Artifact artifact) {
+ File file = root;
- file = new File(file, artifact.getVersion());
+ for (String part : artifact.getGroupId().split("\\.")) {
+ file = new File(file, part);
+ }
- file = new File(file, artifact.getArtifactId() + "-" +
artifact.getVersion()
- + "." + artifact.getExtension());
-
- return file;
- }
+ file = new File(file, artifact.getArtifactId());
- @Override
- public File findArtifact(Artifact artifact) {
-
- File file = getArtifactFile(artifact);
+ file = new File(file, artifact.getVersion());
- if (!file.exists()) return null;
-
- return file;
- }
+ file = new File(file, artifact.getArtifactId() + "-" +
artifact.getVersion() + "." + artifact.getExtension());
- @Override
- public List<String> findVersions(Artifact artifact) {
- List<String> versions = new ArrayList<String>();
+ return file;
+ }
- File file = getArtifactFile(artifact).getParentFile().getParentFile();
+ @Override
+ public File findArtifact(Artifact artifact) {
- if(!file.exists() || !file.isDirectory()) return versions;
+ File file = getArtifactFile(artifact);
- for(File version : file.listFiles()) {
- if(version.isDirectory()) versions.add(version.getName());
- }
+ if (!file.exists())
+ return null;
- return versions;
- }
-
- public void cacheArtifact(Artifact artifact) throws IOException,
SettingsBuildingException, DependencyCollectionException,
DependencyResolutionException {
-
- Dependency dependency = new Dependency(artifact, "runtime");
-
- RepositorySystem repoSystem = getRepositorySystem();
- RepositorySystemSession repoSession = getRepositorySession(repoSystem,
null);
-
- CollectRequest collectRequest = new
CollectRequest(dependency,getRepositoryList());
-
- DependencyNode node =
- repoSystem.collectDependencies(repoSession,
- collectRequest).getRoot();
+ return file;
+ }
- DependencyRequest dependencyRequest = new DependencyRequest();
- dependencyRequest.setRoot(node);
-
- DependencyResult result =
- repoSystem.resolveDependencies(repoSession,
- dependencyRequest);
-
- 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
+ public List<String> findVersions(Artifact artifact) {
+ List<String> versions = new ArrayList<String>();
- @Override
- public WorkspaceRepository getRepository() {
- return repo;
- }
+ File file =
getArtifactFile(artifact).getParentFile().getParentFile();
- public static void main(String args[]) throws Exception {
+ if (!file.exists() || !file.isDirectory())
+ return versions;
- 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"));
+ for (File version : file.listFiles()) {
+ if (version.isDirectory())
+ versions.add(version.getName());
+ }
- SimpleMavenCache reader = new SimpleMavenCache(new File("repo"));
- System.out.println(reader.findArtifact(artifactObj));
- System.out.println(reader.findVersions(artifactObj));
- reader.cacheArtifact(artifactObj);
- System.out.println(reader.findArtifact(artifactObj));
- System.out.println(reader.findVersions(artifactObj));
-
- }
+ return versions;
+ }
+ public void cacheArtifact(Artifact artifact) throws IOException,
SettingsBuildingException,
+ DependencyCollectionException,
DependencyResolutionException {
+
+ Dependency dependency = new Dependency(artifact, "runtime");
+
+ RepositorySystem repoSystem = getRepositorySystem();
+ RepositorySystemSession repoSession =
getRepositorySession(repoSystem, null);
+
+ CollectRequest collectRequest = new CollectRequest(dependency,
getRepositoryList());
+
+ DependencyNode node =
repoSystem.collectDependencies(repoSession, collectRequest).getRoot();
+
+ DependencyRequest dependencyRequest = new DependencyRequest();
+ dependencyRequest.setRoot(node);
+
+ DependencyResult result =
repoSystem.resolveDependencies(repoSession, dependencyRequest);
+
+ 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
+ public WorkspaceRepository getRepository() {
+ if (repo == null) {
+ repo = new WorkspaceRepository();
+ }
+ return repo;
+ }
+
+ 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"));
+
+ SimpleMavenCache reader = new SimpleMavenCache(new
File("repo"));
+ System.out.println(reader.findArtifact(artifactObj));
+ System.out.println(reader.findVersions(artifactObj));
+ reader.cacheArtifact(artifactObj);
+ System.out.println(reader.findArtifact(artifactObj));
+ System.out.println(reader.findVersions(artifactObj));
+
+ }
+
}
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