You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2006/10/15 01:14:01 UTC
svn commit: r464051 - in /incubator/tuscany/java/sca/services/maven/src:
main/java/org/apache/tuscany/services/maven/
test/java/org/apache/tuscany/services/maven/
Author: meerajk
Date: Sat Oct 14 16:14:00 2006
New Revision: 464051
URL: http://svn.apache.org/viewvc?view=rev&rev=464051
Log:
Added support for offline mode.
Modified:
incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java
incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java
Modified: incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java?view=diff&rev=464051&r1=464050&r2=464051
==============================================================================
--- incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java (original)
+++ incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java Sat Oct 14 16:14:00 2006
@@ -50,7 +50,7 @@
public MavenArtifactRepository(@Property(name = "remoteRepoUrl")
String remoteRepoUrl, @Autowire
RuntimeInfo runtimeInfo) {
- mavenHelper = new MavenHelper(remoteRepoUrl);
+ mavenHelper = new MavenHelper(remoteRepoUrl, runtimeInfo.isOnline());
warRepositoryHelper = new WarRepositoryHelper(runtimeInfo.getBaseURL());
mavenHelper.start();
}
Modified: incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java?view=diff&rev=464051&r1=464050&r2=464051
==============================================================================
--- incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java (original)
+++ incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java Sat Oct 14 16:14:00 2006
@@ -75,6 +75,9 @@
/** Artifact resolver */
private ArtifactResolver artifactResolver;
+ /** Online */
+ private boolean online;
+
/**
* Initialize the remote repository URLs.
*
@@ -83,8 +86,9 @@
* @param runtimeInfo
* Runtime information.
*/
- public MavenHelper(String remoteRepositoryUrl) {
+ public MavenHelper(String remoteRepositoryUrl, boolean online) {
this.remoteRepositoryUrls = remoteRepositoryUrl.split(",");
+ this.online = online;
}
/**
@@ -99,31 +103,31 @@
Embedder embedder = new Embedder();
ClassWorld classWorld = new ClassWorld();
-
+
classWorld.newRealm("plexus.core", getClass().getClassLoader());
-
+
// Evil hack for Tomcat classloader issue - starts
Field realmsField = ClassWorld.class.getDeclaredField("realms");
realmsField.setAccessible(true);
- Map realms = (Map)realmsField.get(classWorld);
+ Map realms = (Map) realmsField.get(classWorld);
DefaultClassRealm realm = (DefaultClassRealm) realms.get("plexus.core");
Class clazz = Class.forName("org.codehaus.classworlds.RealmClassLoader");
- Constructor ctr = clazz.getDeclaredConstructor(new Class[] {DefaultClassRealm.class, ClassLoader.class});
+ Constructor ctr = clazz.getDeclaredConstructor(new Class[] { DefaultClassRealm.class, ClassLoader.class });
ctr.setAccessible(true);
Object realmClassLoader = ctr.newInstance(realm, getClass().getClassLoader());
-
+
Field realmClassLoaderField = DefaultClassRealm.class.getDeclaredField("classLoader");
realmClassLoaderField.setAccessible(true);
realmClassLoaderField.set(realm, realmClassLoader);
// Evil hack for Tomcat classloader issue - ends
-
+
embedder.start(classWorld);
metadataSource = (ArtifactMetadataSource) embedder.lookup(ArtifactMetadataSource.ROLE);
artifactFactory = (ArtifactFactory) embedder.lookup(ArtifactFactory.ROLE);
artifactResolver = (ArtifactResolver) embedder.lookup(ArtifactResolver.ROLE);
-
+
setUpRepositories(embedder);
embedder.stop();
@@ -173,10 +177,10 @@
rootArtifact.getVersion(), org.apache.maven.artifact.Artifact.SCOPE_RUNTIME, rootArtifact.getType());
try {
-
+
if (resolve(mavenRootArtifact)) {
rootArtifact.setUrl(mavenRootArtifact.getFile().toURL());
- if(resolveDependencies(rootArtifact, mavenRootArtifact)) {
+ if (resolveDependencies(rootArtifact, mavenRootArtifact)) {
return true;
} else {
return false;
@@ -194,7 +198,7 @@
* Resolves the artifact.
*/
private boolean resolve(org.apache.maven.artifact.Artifact mavenRootArtifact) {
-
+
try {
artifactResolver.resolve(mavenRootArtifact, remoteRepositories, localRepository);
return true;
@@ -203,7 +207,7 @@
} catch (ArtifactNotFoundException ex) {
return false;
}
-
+
}
/*
@@ -217,20 +221,23 @@
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) embedder.lookup(ArtifactRepositoryLayout.ROLE, "default");
- ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
- ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
- ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
- ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
+ String updatePolicy = online ? ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS : ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER;
+ ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy(true, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
+ ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy(true, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
localRepository = artifactRepositoryFactory.createArtifactRepository("local", LOCAL_REPO.toURL().toExternalForm(), layout,
snapshotsPolicy, releasesPolicy);
- for(String remoteRepositoryUrl : remoteRepositoryUrls) {
- String repoid= remoteRepositoryUrl.replace(':', '_');
- repoid= repoid.replace('/', '_');
- repoid= repoid.replace('\\', '_');
- remoteRepositories.add(artifactRepositoryFactory.createArtifactRepository(repoid, remoteRepositoryUrl, layout,
- snapshotsPolicy, releasesPolicy));
+ if (!online) {
+ return;
+ }
+
+ for (String remoteRepositoryUrl : remoteRepositoryUrls) {
+ String repoid = remoteRepositoryUrl.replace(':', '_');
+ repoid = repoid.replace('/', '_');
+ repoid = repoid.replace('\\', '_');
+ remoteRepositories.add(artifactRepositoryFactory.createArtifactRepository(repoid, remoteRepositoryUrl, layout, snapshotsPolicy,
+ releasesPolicy));
}
} catch (MalformedURLException ex) {
@@ -253,7 +260,7 @@
resolutionGroup = metadataSource.retrieve(mavenRootArtifact, localRepository, remoteRepositories);
result = artifactResolver.resolveTransitively(resolutionGroup.getArtifacts(), mavenRootArtifact, remoteRepositories, localRepository,
- metadataSource);
+ metadataSource);
// Add the artifacts to the deployment unit
for (Object obj : result.getArtifacts()) {
@@ -276,7 +283,7 @@
} catch (ArtifactNotFoundException ex) {
return false;
}
-
+
return true;
}
Modified: incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java?view=diff&rev=464051&r1=464050&r2=464051
==============================================================================
--- incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java (original)
+++ incubator/tuscany/java/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java Sat Oct 14 16:14:00 2006
@@ -69,16 +69,18 @@
}
});
Artifact artifact = new Artifact();
- artifact.setGroup("org.apache.maven");
- artifact.setName("maven-artifact");
- artifact.setVersion("2.0.4");
+ artifact.setGroup("junit");
+ artifact.setName("junit");
+ artifact.setVersion("3.8.1");
artifact.setType("jar");
repository.resolve(artifact);
Set<URL> urls = artifact.getUrls();
+
+ System.err.println(urls);
- assertEquals(2, urls.size());
+ assertEquals(1, urls.size());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org