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
}
    };
    /**
     * IDE-specific workbench action: Close unrelated projects.
     * <p>
     * This action closes all projects that are unrelated to the selected projects. A
     * project is unrelated if it is not directly or transitively referenced by one 
     * of the selected projects, and does not directly or transitively reference
     * one of the selected projects.
     * </p>
     * This action is a {@link RetargetAction} with 
     * id "closeUnrelatedProjects". This action maintains its enablement state.
     * @see IProject#getReferencedProjects()
     * @see IProject#getReferencingProjects()
     * @see IProject#close(org.eclipse.core.runtime.IProgressMonitor)
     * @since 3.2
     */
    public static final ActionFactory CLOSE_UNRELATED_PROJECTS = new ActionFactory(
            "closeUnrelatedProjects") { 
        
        public IWorkbenchAction create(IWorkbenchWindow window) {
            if (window == null) {
                throw new IllegalArgumentException();
            }
            RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.CloseUnrelatedProjectsAction_text);
            action.setToolTipText(IDEWorkbenchMessages.CloseUnrelatedProjectsAction_toolTip);
            window.getPartService().addPartListener(action);
            action.setActionDefinitionId("org.eclipse.ui.project.closeUnrelatedProjects"); 
            return action;
        }