Forge wizards currently can block the eclipse UI. Run any non-trivial command and the Eclipse interface will be completely blocked until the forge command is cancelled, which may not be possible if the command is not using a fine-grained progress monitor and checks frequently.
Introducing a threaded command execution would allow the use of
commandThread.interrupt()
And should allow both backgrounding of running wizards, but also more reliable cancellation with Forge's proxy support for thread interrupt handling.
Alternative is to:
provide method to cancel progress.
on first try cancel if command is "CanCancel" then use progress monitor cancel, if not use thread.interrupt() that will stop the progress on proxy boundaries.
- is blocked by
-
FORGE-1952 Git commands need to be stoppable/cancellable
- Closed