Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2009-09-23 19:59:41 +0000
committerAndrew Niefer2009-09-23 19:59:41 +0000
commitce5f4ecd719cb1c3b89e2f80c17790ea2904a272 (patch)
treedad0e9cbdfb2ba5cd423e7a8721a2cb8aea487ed /bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
parent904218cc7294f09026c2e2ed51b26de5a3c1c56e (diff)
downloadrt.equinox.p2-ce5f4ecd719cb1c3b89e2f80c17790ea2904a272.tar.gz
rt.equinox.p2-ce5f4ecd719cb1c3b89e2f80c17790ea2904a272.tar.xz
rt.equinox.p2-ce5f4ecd719cb1c3b89e2f80c17790ea2904a272.zip
bug 289851 - p2.mirror grabs a large portion of the repo
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
index d02cda7f1..eeb958db5 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
@@ -25,6 +25,7 @@ import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.LatestIUVersionQuery;
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
import org.eclipse.equinox.internal.provisional.p2.query.Collector;
import org.eclipse.equinox.internal.provisional.p2.query.IQueryable;
@@ -190,6 +191,12 @@ public class MirrorApplication extends AbstractApplication {
slicingOptions = new SlicingOptions();
PermissiveSlicer slicer = new PermissiveSlicer(getCompositeMetadataRepository(), slicingOptions.getFilter(), slicingOptions.includeOptionalDependencies(), slicingOptions.isEverythingGreedy(), slicingOptions.forceFilterTo(), slicingOptions.considerStrictDependencyOnly(), slicingOptions.followOnlyFilteredRequirements());
IQueryable slice = slicer.slice((IInstallableUnit[]) sourceIUs.toArray(new IInstallableUnit[sourceIUs.size()]), monitor);
+
+ if (slice != null && slicingOptions.latestVersionOnly()) {
+ Collector collector = new Collector();
+ collector = slice.query(new LatestIUVersionQuery(), collector, monitor);
+ slice = collector;
+ }
if (slicer.getStatus().getSeverity() != IStatus.OK && mirrorLog != null) {
mirrorLog.log(slicer.getStatus());
}

Back to the top