Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2009-04-25 20:05:48 +0000
committerPascal Rapicault2009-04-25 20:05:48 +0000
commitf0ecd9748a00b33a3f30eb363ec7e8db65a31a51 (patch)
tree7165d75ea85dd547c7582501236ec492fa2bc35e /bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository
parent716248432af3621e86c77724d4d8d02da26a76be (diff)
downloadrt.equinox.p2-f0ecd9748a00b33a3f30eb363ec7e8db65a31a51.tar.gz
rt.equinox.p2-f0ecd9748a00b33a3f30eb363ec7e8db65a31a51.tar.xz
rt.equinox.p2-f0ecd9748a00b33a3f30eb363ec7e8db65a31a51.zip
Bug 273126 - p2.mirror app should have a mode to only slice platform dependent bundles
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java9
2 files changed, 10 insertions, 1 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 a6b83492e..7e1ad6793 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
@@ -186,7 +186,7 @@ public class MirrorApplication extends AbstractApplication {
private IQueryable slice(IProgressMonitor monitor) throws ProvisionException {
if (slicingOptions == null)
slicingOptions = new SlicingOptions();
- PermissiveSlicer slicer = new PermissiveSlicer(getCompositeMetadataRepository(), slicingOptions.getFilter(), slicingOptions.includeOptionalDependencies(), slicingOptions.isEverythingGreedy(), slicingOptions.forceFilterTo(), slicingOptions.considerStrictDependencyOnly());
+ 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 (slicer.getStatus().getSeverity() != IStatus.OK) {
mirrorLog.log(slicer.getStatus());
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
index 19566a5a5..94e52f2a4 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
@@ -17,6 +17,7 @@ public class SlicingOptions {
private boolean everythingGreedy = true;
private boolean forceFilterTo = true;
private boolean considerStrictDependencyOnly = false;
+ private boolean followOnlyFilteredRequirements = false;
private Dictionary filter = null;
public boolean includeOptionalDependencies() {
@@ -58,4 +59,12 @@ public class SlicingOptions {
public void setFilter(Dictionary filter) {
this.filter = filter;
}
+
+ public void followOnlyFilteredRequirements(boolean onlyFiltered) {
+ this.followOnlyFilteredRequirements = onlyFiltered;
+ }
+
+ public boolean followOnlyFilteredRequirements() {
+ return followOnlyFilteredRequirements;
+ }
}

Back to the top