Community
Participate
Working Groups
Build Identifier: I20110519-1138 Yes, this is an UI plugin, but some non-ui apis can be referenced from it. When the workbench is operating headless (antrunner), any code that causes activation of IDEWorkbenchPlugin, will force ui activation which will explode the user code in wonderful and interesting ways. Plugin activation should not cause the UI to initialize until the UI is required and is to be displayed. The workaround for this is trivial but quite substantial. Perhaps services/apis that don't require UI should be moved to org.eclipse.core.resources. WorkspaceModifyOperation is one of these things. Reproducible: Always Steps to Reproduce: 1. Create an Ant task that makes use of WorkspaceModifyOperation 2. Call the ant taks headless on 3.7+
IDEWorkbenchPlugin was designed this way, and we are not looking into making UI plugins non-UI. WorkbenchModifyOperation is API, but I'll leave this open as a request to decouple it (perhaps providing a non-UI implementation it can use/inherit from) from the main IDE plugin. PW
Using WorkspaceModifyOperation as an example, it does not have much of interest if not used in UI. Rather, resources plugin code can be used directly.