Bug 37919 Compiler preferences - should surface optional check for incompatible required binaries
HEAD from JDT/Core (not integrated yet) Added JavaCore optional problem to detect incompatible required binaries, so as to flag situations where some prerequisite binaries are required a JRE level higher than the project target platform; i.e. compiling against 1.4 libraries when deploying for 1.1 platform is likely unwanted. * JAVACORE / Reporting Incompatible JDK Level for Required Binaries * Indicate the severity of the problem reported when a project prerequisites another project * or library with an incompatible target JDK level (e.g. project targeting 1.1 vm, but compiled against 1.4 libraries). * - option id: "org.eclipse.jdt.core.incompatibleJDKLevel" * - possible values: { "error", "warning", "ignore" } * - default: "ignore"
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/CompilerConfigurationBlock.java
group.setText(PreferencesMessages.getString("CompilerConfigurationBlock.classfiles.group.label")); 
		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		group.setLayout(layout);
		String[] generateValues= new String[] { GENERATE, DO_NOT_GENERATE };
		label= PreferencesMessages.getString("CompilerConfigurationBlock.variable_attr.label"); 
		addCheckBox(group, label, PREF_LOCAL_VARIABLE_ATTR, generateValues, 0);
		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.line_number_attr.label"); 
		addCheckBox(group, label, PREF_LINE_NUMBER_ATTR, generateValues, 0);		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.source_file_attr.label"); 
		addCheckBox(group, label, PREF_SOURCE_FILE_ATTR, generateValues, 0);		
		label= PreferencesMessages.getString("CompilerConfigurationBlock.codegen_unused_local.label"); 
		addCheckBox(group, label, PREF_CODEGEN_UNUSED_LOCAL, new String[] { PRESERVE, OPTIMIZE_OUT }, 0);	
		
		return compComposite;
	}
		
	
	/* (non-javadoc)
	 * Update fields and validate.
	 * @param changedKey Key that changed, or null, if all changed.
	 */	
	protected void validateSettings(String changedKey, String newValue) {
		if (changedKey != null) {
			if (INTR_DEFAULT_COMPLIANCE.equals(changedKey)) {
				updateComplianceEnableState();
				if (DEFAULT.equals(newValue)) {
					updateComplianceDefaultSettings();
				}
			} else if (PREF_COMPLIANCE.equals(changedKey)) {