Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties4
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java2
9 files changed, 26 insertions, 7 deletions
diff --git a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
index 3f2cec8a9..820278c80 100644
--- a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.1.qualifier
Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
org.eclipse.equinox.internal.provisional.p2.core,
org.eclipse.equinox.internal.provisional.p2.core.eventbus,
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
index 657a0bc56..6e73c9734 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
@@ -40,6 +40,7 @@ public class Messages extends NLS {
public static String Planner_Trivial_exception;
public static String Planner_Unsatisfiable_problem;
public static String Planner_Unsatisfied_dependency;
+ public static String Planner_NoSolution;
public static String Old_Resolver_Several_Versions;
public static String Old_Resolver_Incompatible_Versions;
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
index db6ecf6c3..7d403dd80 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java
@@ -267,9 +267,21 @@ public class NewDependencyExpander {
toAdd.addAll(alreadyInstalled);
do {
//reset work at each iteration, then use up a third. This results in an infinite series where remaining ticks gets steadily smaller
+ if (p.isCanceled()) {
+ problems.add(Status.CANCEL_STATUS);
+ return;
+ }
p.setWorkRemaining(100);
extractVisibilityData(toAdd);
+ if (p.isCanceled()) {
+ problems.add(Status.CANCEL_STATUS);
+ return;
+ }
extractRequirements(toAdd);
+ if (p.isCanceled()) {
+ problems.add(Status.CANCEL_STATUS);
+ return;
+ }
toAdd = collectMatches(toAdd, problems);
p.worked(33);
} while (toAdd.size() != 0);
@@ -279,6 +291,10 @@ public class NewDependencyExpander {
// return;
invokeResolver(problems);
// if (problems.isOK())
+ if (p.isCanceled()) {
+ problems.add(Status.CANCEL_STATUS);
+ return;
+ }
extractSolution();
}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
index e312d8e55..be2193b09 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
@@ -241,8 +241,8 @@ public class SimplePlanner implements IPlanner {
Projector projector = new Projector(slice, newSelectionContext);
projector.encode(allIUs, sub.newChild(ExpandWork / 4));
IStatus s = projector.invokeSolver(sub.newChild(ExpandWork / 4));
-
if (s.getSeverity() == IStatus.ERROR) {
+ sub.setTaskName(Messages.Planner_NoSolution);
//log the error from the new solver so it is not lost
LogHelper.log(s);
if (!"true".equalsIgnoreCase(context == null ? null : context.getProperty("org.eclipse.equinox.p2.disable.error.reporting"))) {
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
index 3439b1b4c..c22af9218 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
@@ -13,7 +13,7 @@ Director_Revert_Problems=Problems occurred while reverting the install.
Director_Unexpected_IU=The installable unit {0} can not be used here.
Director_Task_Installing=Installing into {0}
Director_Task_Updating=Updating
-Director_Task_Resolving_Dependencies=Resolving dependencies
+Director_Task_Resolving_Dependencies=Calculating requirements and dependencies.
Director_Unsatisfied_Dependencies=\
Cannot complete the install because some dependencies are not satisfiable
@@ -28,5 +28,7 @@ Planner_Trivial_exception=No solution found because of a trivial contradiction i
Planner_Unsatisfiable_problem=No solution found because the problem in {0} is unsatisfiable.
Planner_Unsatisfied_dependency=Unable to satisfy dependency from {0} to {1}.
+Planner_NoSolution=Cannot complete the request. Generating details.
+
Old_Resolver_Several_Versions=Cannot find a solution satisfying the following requirements {0}.
Old_Resolver_Incompatible_Versions=Cannot find a solution where both {0} and {1} can be satisfied. \ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
index 4bacacc32..a4c886fac 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.1.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
CDC-1.1/Foundation-1.1
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
index b34165656..6c6ce1f4b 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
@@ -400,7 +400,7 @@ public class Activator implements BundleActivator {
// create the profile synchronizer on all available repositories
ProfileSynchronizer synchronizer = new ProfileSynchronizer(profile, repositories);
IStatus result = synchronizer.synchronize(monitor);
- if (!result.isOK())
+ if (!result.isOK() && !(result.getSeverity() == IStatus.CANCEL))
LogHelper.log(result);
}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
index d0a37a05a..50d6ef987 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
@@ -92,7 +92,7 @@ public class ProfileSynchronizer {
ProvisioningPlan plan = createProvisioningPlan(request, context, sub.newChild(50));
status = plan.getStatus();
- if (status.getSeverity() == IStatus.ERROR || plan.getOperands().length == 0)
+ if (status.getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL || plan.getOperands().length == 0)
return status;
//invoke the engine to perform installs/uninstalls
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
index a311d3cd7..39359162c 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
@@ -753,7 +753,7 @@ public abstract class AbstractProvisioningTest extends TestCase {
}
ProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
- if (plan.getStatus().getSeverity() == IStatus.ERROR)
+ if (plan.getStatus().getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL)
return plan.getStatus();
return engine.perform(profile, new DefaultPhaseSet(), plan.getOperands(), null, null);
}

Back to the top