diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java index f02f8be70d..8ec6a1e0fe 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java @@ -29,9 +29,11 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; import org.eclipse.equinox.internal.p2.director.app.DirectorApplication; import org.eclipse.equinox.internal.p2.director.app.ILog; import org.eclipse.equinox.internal.p2.ui.ProvUI; @@ -416,7 +418,8 @@ public class P2TaskImpl extends SetupTaskImpl implements P2Task } else { - context.log(status.toString()); + context.log(status); + throw new CoreException(Status.CANCEL_STATUS); } } } @@ -492,7 +495,7 @@ public class P2TaskImpl extends SetupTaskImpl implements P2Task public void log(IStatus status) { - log(status.getMessage()); + context.log(status); } public void close() @@ -500,9 +503,15 @@ public class P2TaskImpl extends SetupTaskImpl implements P2Task } }); - app.run(args); + Object exitCode = app.run(args); + if (EXIT_ERROR.equals(exitCode)) + { + throw new CoreException(Status.CANCEL_STATUS); + } } + private static final Integer EXIT_ERROR = 13; + private String makeList(SetupTaskContext context, EList<? extends EObject> objects, EAttribute attribute) { StringBuilder builder = new StringBuilder(); |