diff options
author | Andrew Niefer | 2009-09-23 19:59:41 +0000 |
---|---|---|
committer | Andrew Niefer | 2009-09-23 19:59:41 +0000 |
commit | ce5f4ecd719cb1c3b89e2f80c17790ea2904a272 (patch) | |
tree | dad0e9cbdfb2ba5cd423e7a8721a2cb8aea487ed /bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java | |
parent | 904218cc7294f09026c2e2ed51b26de5a3c1c56e (diff) | |
download | rt.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.java | 7 |
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()); } |