Bug 137356 [Markers] marker grouping not working as expected via markerSupport
N20060418-0010 The Java tooling now warns when a buildpath references an execution environment for which there is no exact match in the workspace (warning support is in HEAD as of today - org.eclipse.jdt.launching and org.eclipse.jdt.debug.ui plugins). The marker created should be categorized as a buildpath problem with other JDT build path problems. To do this, I create a marker support extension as follows (in jdt.debug.ui). <extension point="org.eclipse.ui.ide.markerSupport"> <markerAttributeGrouping defaultGroupingEntry="org.eclipse.jdt.ui.category.buildpath" markerType="org.eclipse.jdt.launching.jreContainerMarker"/> </extension> My understanding is that this should group all markers of type "org.eclipse.jdt.launching.jreContainerMarker" as buildpath problems. JUI has a corresponding grouping entry: <markerGroupingEntry id="org.eclipse.jdt.ui.category.buildpath" markerGrouping="org.eclipse.jdt.ui.java_marker_category" label="%MarkerCategory.buildpath" priority="100"/> I get the following error in the log: Reference to invalid markerGroupingEntry org.eclipse.jdt.ui.category.buildpath
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java
if (description != null) {
			boolean contains = true;
			if (description.charAt(0) == '!') {
				description = description.substring(1, description.length());
				contains = false;
			}
			filter.setContains(contains);
			filter.setDescription(description);
		}
		int severityValue = getSeverityValue(element);
		if (severityValue > 0) {
			filter.setSelectBySeverity(true);
			filter.setSeverity(severityValue);
		} else {
			filter.setSelectBySeverity(false);
		}
		List selectedTypes = new ArrayList();
		IConfigurationElement[] types = element.getChildren(SELECTED_TYPE);
		for (int j = 0; j < types.length; j++) {
			String markerId = types[j].getAttribute(MARKER_ID);
			if (markerId != null) {
				MarkerType type = filter.getMarkerType(markerId);
				if (type == null) {
					IStatus status = new Status(IStatus.WARNING,
							IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.WARNING,
							MarkerMessages.ProblemFilterRegistry_nullType, null);
					IDEWorkbenchPlugin.getDefault().getLog().log(status);
				} else {
					selectedTypes.add(type);
				}