Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2009-04-14 23:19:57 +0000
committerAndrew Niefer2009-04-14 23:19:57 +0000
commit839cd1c83058d1f81c8f2b3eee98000bed4c85f0 (patch)
tree6ac63ce9e28afc4bf1180bd8cbfeb0449b08f68c /bundles
parent25c13735ce4170e634d6988cad9301342f85e050 (diff)
downloadrt.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')
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java13
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.

Back to the top