package org.argeo.slc.maven;\r
\r
+import java.io.File;\r
+import java.util.List;\r
+import java.util.Vector;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+import org.apache.maven.artifact.Artifact;\r
+import org.apache.maven.artifact.repository.ArtifactRepository;\r
+import org.apache.maven.embedder.MavenEmbedder;\r
+import org.apache.maven.embedder.MavenEmbedderException;\r
+import org.argeo.slc.SlcException;\r
\r
public class MavenManager {\r
- /*\r
+\r
private final Log log = LogFactory.getLog(getClass());\r
\r
private String localRepositoryPath = System.getProperty("user.home")\r
private List<RemoteRepository> remoteRepositories = new Vector<RemoteRepository>();\r
\r
private MavenEmbedder mavenEmbedder;\r
+ private ClassLoader classLoader;\r
+ private Boolean offline = false;\r
\r
public void init() {\r
try {\r
mavenEmbedder = new MavenEmbedder();\r
- mavenEmbedder.setOffline(true);\r
- mavenEmbedder.setClassLoader(Thread.currentThread()\r
- .getContextClassLoader());\r
+ mavenEmbedder.setOffline(offline);\r
+ if (classLoader != null)\r
+ mavenEmbedder.setClassLoader(classLoader);\r
+ else\r
+ mavenEmbedder.setClassLoader(getClass().getClassLoader());\r
+ // else\r
+ // mavenEmbedder.setClassLoader(Thread.currentThread()\r
+ // .getContextClassLoader());\r
mavenEmbedder.start();\r
\r
mavenEmbedder.setLocalRepositoryDirectory(new File(\r
remoteRepository.getUrl(), remoteRepository.getId());\r
remoteRepositoriesInternal.add(repository);\r
}\r
- \r
+\r
MavenFile mavenFile = new MavenFile();\r
- mavenFile.setGroupId("org.argeo.slc.runtime");\r
- mavenFile.setArtifactId("org.argeo.slc.specs");\r
- mavenFile.setVersion("0.11.3-SNAPSHOT");\r
+ mavenFile.setGroupId("org.argeo.slc.dist");\r
+ mavenFile.setArtifactId("org.argeo.slc.sdk");\r
+ mavenFile.setVersion("0.12.2-SNAPSHOT");\r
+ mavenFile.setType("pom");\r
Artifact artifact = resolve(mavenFile);\r
- log.debug("Dependencies of "+artifact);\r
- for(Object obj : artifact.getDependencyTrail()){\r
- log.debug(" "+obj);\r
- }\r
+ log.debug("Location of " + artifact + " : " + artifact.getFile());\r
+// log.debug("Dependencies of " + artifact);\r
+// for (Object obj : artifact.getDependencyTrail()) {\r
+// log.debug(" " + obj);\r
+// }\r
\r
} catch (Exception e) {\r
throw new SlcException("Cannot initialize Maven manager", e);\r
public void setRemoteRepositories(List<RemoteRepository> remoteRepositories) {\r
this.remoteRepositories = remoteRepositories;\r
}\r
-*/\r
+\r
+ public void setClassLoader(ClassLoader classLoader) {\r
+ this.classLoader = classLoader;\r
+ }\r
+\r
+ public void setOffline(Boolean offline) {\r
+ this.offline = offline;\r
+ }\r
+\r
}\r