Bug 153315 [Contributions] The ToggleAutoBuildAction lacks an action definition id
Because the ToggleAutoBuildAction lacks an action definition id we can not use activities to hide this from the project menu. We found that adding one fixes this problem: public ToggleAutoBuildAction(IWorkbenchWindow window) { super(IDEWorkbenchMessages.Workbench_buildAutomatically); this.window = window; setChecked(ResourcesPlugin.getWorkspace().isAutoBuilding()); setActionDefinitionId("org.eclipse.ui.project.buildAutomatically"); //$NON-NLS-1$ }
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
public IWorkbenchAction create(IWorkbenchWindow window) {
            if (window == null) {
                throw new IllegalArgumentException();
            }
            RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.OpenResourceAction_text);
            action.setToolTipText(IDEWorkbenchMessages.OpenResourceAction_toolTip);
            window.getPartService().addPartListener(action);
            action.setActionDefinitionId("org.eclipse.ui.project.openProject"); 
            return action;
        }
    };
    /**
     * IDE-specific workbench action: Open workspace.
     * This action maintains its enablement state.
     */
    public static final ActionFactory OPEN_WORKSPACE = new ActionFactory(
            "openWorkspace") { 
        
        public IWorkbenchAction create(IWorkbenchWindow window) {
            if (window == null) {
                throw new IllegalArgumentException();
            }
            IWorkbenchAction action = new OpenWorkspaceAction(window);
            action.setId(getId());
            return action;
        }
    };
    /**
     * IDE-specific workbench action: Open project properties.
     * This action maintains its enablement state.