Bug 63883 Cannot configure option for enabling/disabling exclusion filters or custom output folders on a per project basis
Build M9 JDT/Core supports setting enablement for exclusion patterns and custom output folders on a per project basis. This isn't surfaced in the UI. There is only a global flag in workspace preferences.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/CompilerConfigurationBlock.java
Label description= new Label(composite, SWT.WRAP);
		description.setText(PreferencesMessages.getString("CompilerConfigurationBlock.unused.description")); 
		GridData gd= new GridData();
		gd.horizontalSpan= nColumns;
		
		description.setLayoutData(gd);
		
		String label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unused_local.label"); 
		addComboBox(composite, label, PREF_PB_UNUSED_LOCAL, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unused_parameter.label"); 
		addComboBox(composite, label, PREF_PB_UNUSED_PARAMETER, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		
		int indent= fPixelConverter.convertWidthInCharsToPixels(2);
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_signal_param_in_overriding.label"); 
		addCheckBox(composite, label, PREF_PB_SIGNAL_PARAMETER_IN_OVERRIDING, enabledDisabled, indent);
		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unused_imports.label"); 
		addComboBox(composite, label, PREF_PB_UNUSED_IMPORT, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unused_private.label"); 
		addComboBox(composite, label, PREF_PB_UNUSED_PRIVATE, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unnecessary_else.label"); 
		addComboBox(composite, label, PREF_PB_UNNECESSARY_ELSE, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unnecessary_type_check.label"); 
		addComboBox(composite, label, PREF_PB_UNNECESSARY_TYPE_CHECK, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_hidden_catchblock.label"); 
		addComboBox(composite, label, PREF_PB_HIDDEN_CATCH_BLOCK, errorWarningIgnore, errorWarningIgnoreLabels, 0);
		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.pb_unused_throwing_exception.label");