diff options
author | Ian Bull | 2010-05-12 22:45:54 +0000 |
---|---|---|
committer | Ian Bull | 2010-05-12 22:45:54 +0000 |
commit | be3442d57d477f2695f8a87ee2e48181abbbc013 (patch) | |
tree | 1178d9cd9716e095ab578fd72bedc219a9933907 | |
parent | 8b581b9ee03861b6bddbbd78f5c0c80f8f531974 (diff) | |
download | rt.equinox.p2-be3442d57d477f2695f8a87ee2e48181abbbc013.tar.gz rt.equinox.p2-be3442d57d477f2695f8a87ee2e48181abbbc013.tar.xz rt.equinox.p2-be3442d57d477f2695f8a87ee2e48181abbbc013.zip |
bug 312687: Repo2Runnable should not consult all known repositories
-rw-r--r-- | bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java index 04f5e7fd3..57818e5ce 100644 --- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java +++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java @@ -11,6 +11,7 @@ *******************************************************************************/ package org.eclipse.equinox.p2.internal.repository.tools; +import java.net.URI; import java.net.URISyntaxException; import java.util.*; import org.eclipse.core.runtime.*; @@ -125,6 +126,8 @@ public class Repo2Runnable extends AbstractApplication implements IApplication { if (engine == null) throw new ProvisionException(Messages.exception_noEngineService); ProvisioningContext context = new ProvisioningContext(agent); + context.setMetadataRepositories(getRepositories(true)); + context.setArtifactRepositories(getRepositories(false)); IProvisioningPlan plan = engine.createPlan(profile, context); for (Iterator<IInstallableUnit> iterator = processedIUs.iterator(); iterator.hasNext();) { plan.addInstallableUnit(iterator.next()); @@ -146,6 +149,15 @@ public class Repo2Runnable extends AbstractApplication implements IApplication { } } + protected URI[] getRepositories(boolean metadata) { + List<URI> repos = new ArrayList<URI>(); + for (RepositoryDescriptor repo : sourceRepositories) { + if (metadata ? repo.isMetadata() : repo.isArtifact()) + repos.add(repo.getRepoLocation()); + } + return repos.toArray(new URI[repos.size()]); + } + protected PhaseSet getPhaseSet() { return new PhaseSet(new Phase[] {new Collect(100)}) { /* nothing to override */}; } |