diff options
author | Andrew Niefer | 2009-04-14 23:19:57 +0000 |
---|---|---|
committer | Andrew Niefer | 2009-04-14 23:19:57 +0000 |
commit | 839cd1c83058d1f81c8f2b3eee98000bed4c85f0 (patch) | |
tree | 6ac63ce9e28afc4bf1180bd8cbfeb0449b08f68c /bundles | |
parent | 25c13735ce4170e634d6988cad9301342f85e050 (diff) | |
download | rt.equinox.p2-839cd1c83058d1f81c8f2b3eee98000bed4c85f0.tar.gz rt.equinox.p2-839cd1c83058d1f81c8f2b3eee98000bed4c85f0.tar.xz rt.equinox.p2-839cd1c83058d1f81c8f2b3eee98000bed4c85f0.zip |
bug 269523 - slicer doesn't include features
Diffstat (limited to 'bundles')
2 files changed, 13 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java index fdcc7c7de..80fe63063 100644 --- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java +++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java @@ -22,7 +22,7 @@ public class PermissiveSlicer extends Slicer { public PermissiveSlicer(IQueryable input, Dictionary context, boolean includeOptionalDependencies, boolean everythingGreedy, boolean evalFilterTo, boolean considerOnlyStrictDependency) { super(input, context, true); - this.considerFilter = (context == null || context.size() == 0) ? false : true; + this.considerFilter = (context != null && context.size() > 1) ? true : false; this.includeOptionalDependencies = includeOptionalDependencies; this.everythingGreedy = everythingGreedy; this.evalFilterTo = evalFilterTo; diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java index e630a97cf..50b1eb035 100644 --- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java +++ b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java @@ -25,6 +25,7 @@ public class SlicingOption extends Task { options.considerStrictDependencyOnly(false); options.everythingGreedy(true); options.includeOptionalDependencies(true); + setIncludeFeatures(true); } /** @@ -51,7 +52,9 @@ public class SlicingOption extends Task { StringTokenizer tok = new StringTokenizer(platformFilter, ","); //$NON-NLS-1$ if (tok.countTokens() != 3) throw new BuildException("Invalid platform filter format: " + platformFilter + "."); - Dictionary filter = new Properties(); + Dictionary filter = options.getFilter(); + if (filter == null) + filter = new Properties(); filter.put("osgi.os", tok.nextToken().trim()); //$NON-NLS-1$ filter.put("osgi.ws", tok.nextToken().trim()); //$NON-NLS-1$ filter.put("osgi.arch", tok.nextToken().trim()); //$NON-NLS-1$ @@ -62,6 +65,14 @@ public class SlicingOption extends Task { options.everythingGreedy(greed); } + public void setIncludeFeatures(boolean includeFeatures) { + Dictionary filter = options.getFilter(); + if (filter == null) + filter = new Properties(); + filter.put("org.eclipse.update.install.features", String.valueOf(includeFeatures)); //$NON-NLS-1$ + options.setFilter(filter); + } + /** * Set this property to true if only strict dependencies must be followed. A strict dependency is defined by a version range only including one version (e.g. [1.0.0.v2009, 1.0.0.v2009]) * The default value is false. |