Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
index fa32c6b70..dff0c135f 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
@@ -7,6 +7,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Sonatype, Inc. - ongoing development
*******************************************************************************/
package org.eclipse.equinox.internal.p2.director;
@@ -30,6 +31,7 @@ public class Slicer {
private LinkedList<IInstallableUnit> toProcess;
private Set<IInstallableUnit> considered; //IUs to add to the slice
+ private Set<IInstallableUnit> nonGreedyIUs = new HashSet<IInstallableUnit>(); //IUs that are brought in by non greedy dependencies
public Slicer(IQueryable<IInstallableUnit> input, Map<String, String> context, boolean considerMetaRequirements) {
this(input, InstallableUnit.contextIU(context), considerMetaRequirements);
@@ -119,6 +121,7 @@ public class Slicer {
continue;
if (!isGreedy(req)) {
+ nonGreedyIUs.addAll(possibilites.query(QueryUtil.createMatchQuery(req.getMatches()), null).toUnmodifiableSet());
continue;
}
@@ -186,4 +189,8 @@ public class Slicer {
if (considered.add(match))
toProcess.addLast(match);
}
+
+ Set<IInstallableUnit> getNonGreedyIUs() {
+ return nonGreedyIUs;
+ }
}

Back to the top