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/09/24 11:44:42 UTC
svn commit: r449381 -
/incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
Author: meerajk
Date: Sun Sep 24 02:44:41 2006
New Revision: 449381
URL: http://svn.apache.org/viewvc?view=rev&rev=449381
Log:
Added full support for deployed repositories. Now time to add some good tests :-)
Modified:
incubator/tuscany/java/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
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=449381&r1=449380&r2=449381
==============================================================================
--- 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 Sun Sep 24 02:44:41 2006
@@ -21,9 +21,9 @@
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
-import java.util.Set;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -39,7 +39,6 @@
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.tuscany.spi.services.artifact.Artifact;
-import org.apache.tuscany.spi.services.info.RuntimeInfo;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.classworlds.DuplicateRealmException;
import org.codehaus.plexus.PlexusContainerException;
@@ -58,7 +57,7 @@
/** Remote repository URLs */
private final String[] remoteRepositoryUrls;
-
+
/** Deployed repository URL */
private final URL deployedRepositoryUrl;
@@ -85,7 +84,8 @@
*
* @param remoteRepositoryUrls
* Remote repository URLS.
- * @param runtimeInfo Runtime information.
+ * @param runtimeInfo
+ * Runtime information.
*/
public MavenHelper(String[] remoteRepositoryUrls, URL baseUrl) {
try {
@@ -117,7 +117,7 @@
artifactResolver = (ArtifactResolver) embedder.lookup(ArtifactResolver.ROLE);
setUpRepositories(embedder);
-
+
embedder.stop();
} catch (DuplicateRealmException ex) {
@@ -153,10 +153,15 @@
rootArtifact.getVersion(), org.apache.maven.artifact.Artifact.SCOPE_RUNTIME, rootArtifact.getType());
try {
- artifactResolver.resolve(mavenRootArtifact, remoteRepositories, localRepository);
+ boolean resolvedFromDeployment = true;
+ artifactResolver.resolve(mavenRootArtifact, Collections.EMPTY_LIST, deployedRepository);
+ if (mavenRootArtifact.getFile() == null) {
+ artifactResolver.resolve(mavenRootArtifact, remoteRepositories, localRepository);
+ resolvedFromDeployment = false;
+ }
rootArtifact.setUrl(mavenRootArtifact.getFile().toURL());
- resolveDependencies(rootArtifact, mavenRootArtifact);
+ resolveDependencies(rootArtifact, mavenRootArtifact, resolvedFromDeployment);
} catch (ArtifactResolutionException ex) {
throw new TuscanyMavenException(ex);
@@ -179,11 +184,10 @@
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) embedder.lookup(ArtifactRepositoryLayout.ROLE, "default");
- String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
- String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
-
- ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy(true, updatePolicyFlag, checksumPolicyFlag);
- ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy(true, updatePolicyFlag, checksumPolicyFlag);
+ 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);
localRepository = artifactRepositoryFactory.createArtifactRepository("local", LOCAL_REPO.toURL().toExternalForm(), layout,
snapshotsPolicy, releasesPolicy);
@@ -193,6 +197,14 @@
snapshotsPolicy, releasesPolicy));
}
+ ArtifactRepositoryPolicy deployedRepositorySnapshotsPolicy = new ArtifactRepositoryPolicy(true,
+ ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
+ ArtifactRepositoryPolicy deployedRepositoryReleasesPolicy = new ArtifactRepositoryPolicy(true,
+ ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
+
+ deployedRepository = artifactRepositoryFactory.createArtifactRepository("local", deployedRepositoryUrl.toExternalForm(), layout,
+ deployedRepositorySnapshotsPolicy, deployedRepositoryReleasesPolicy);
+
} catch (MalformedURLException ex) {
throw new TuscanyMavenException(ex);
} catch (ComponentLookupException ex) {
@@ -204,16 +216,26 @@
/*
* Resolves transitive dependencies.
*/
- private void resolveDependencies(Artifact rootArtifact, org.apache.maven.artifact.Artifact mavenRootArtifact) {
+ private void resolveDependencies(Artifact rootArtifact, org.apache.maven.artifact.Artifact mavenRootArtifact, boolean resolvedFromDeployment) {
try {
- ResolutionGroup resolutionGroup = metadataSource.retrieve(mavenRootArtifact, localRepository, remoteRepositories);
- ArtifactResolutionResult result = artifactResolver.resolveTransitively(resolutionGroup.getArtifacts(), mavenRootArtifact,
- remoteRepositories, localRepository, metadataSource);
+ ResolutionGroup resolutionGroup = null;
+ ArtifactResolutionResult result = null;
+
+ if (resolvedFromDeployment) {
+ resolutionGroup = metadataSource.retrieve(mavenRootArtifact, deployedRepository, Collections.EMPTY_LIST);
+ result = artifactResolver.resolveTransitively(resolutionGroup.getArtifacts(), mavenRootArtifact, remoteRepositories, localRepository,
+ metadataSource);
+ } else {
+ resolutionGroup = metadataSource.retrieve(mavenRootArtifact, localRepository, remoteRepositories);
+ result = artifactResolver.resolveTransitively(resolutionGroup.getArtifacts(), mavenRootArtifact, remoteRepositories, localRepository,
+ metadataSource);
+ }
// Add the artifacts to the deployment unit
- for (org.apache.maven.artifact.Artifact depArtifact : (Set<org.apache.maven.artifact.Artifact>) result.getArtifacts()) {
+ for (Object obj : result.getArtifacts()) {
+ org.apache.maven.artifact.Artifact depArtifact = (org.apache.maven.artifact.Artifact) obj;
Artifact artifact = new Artifact();
artifact.setName(mavenRootArtifact.getArtifactId());
artifact.setGroup(mavenRootArtifact.getGroupId());
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org