package at.bestsolution.efxclipse.tooling.jdt.core.internal; import org.eclipse.core.runtime.Platform; import org.eclipse.osgi.service.environment.Constants; import org.osgi.framework.Version; public class JavaFXPreferencesConstants { public static final String JAVAFX_CONFIGTYPE = JavaFXCorePlugin.PLUGIN_ID + ".javafx.configtype"; //$NON-NLS-1$ public static final String CONFIG_TYPE_SDK = "SDK"; public static final String CONFIG_TYPE_BUILTIN = "Builtin"; public static final String CONFIG_TYPE_CUSTOM = "Custom"; public static final String DEFAULT_TYPE = isJDKBuiltin() ? CONFIG_TYPE_BUILTIN : CONFIG_TYPE_SDK; // type == SDK public static final String JAVAFX_DIR = JavaFXCorePlugin.PLUGIN_ID + ".javafx.dirlocation"; //$NON-NLS-1$ // type == Custom public static final String JAVAFX_JAR= JavaFXCorePlugin.PLUGIN_ID + ".javafx.jarlocation"; //$NON-NLS-1$ public static final String JAVAFX_ANTJAR= JavaFXCorePlugin.PLUGIN_ID + ".javafx.antjarlocation"; //$NON-NLS-1$ public static final String JAVAFX_JAVADOC= JavaFXCorePlugin.PLUGIN_ID + ".javafx.javadoclocation"; //$NON-NLS-1$ private static int parseQualifier(String qualifier) { try { String[] parts = qualifier.split("[\\-|_]"); return Integer.parseInt(parts[0]); } catch(Throwable t ) { //TODO log error t.printStackTrace(); } return 0; } public static final boolean isJDKBuiltin() { Version v = new Version(System.getProperty("java.version").replaceFirst("_", ".")); if( Platform.getOS().equals(Constants.OS_LINUX) ) { return false; } else if( Platform.getOS().equals(Constants.OS_MACOSX) ) { return v.getMinor() >= 7 && v.getMicro() >= 0; } else if( Platform.getOS().equals(Constants.OS_WIN32) ) { return v.getMinor() >= 7 && (v.getMicro() == 0 && parseQualifier(v.getQualifier()) >= 6) || v.getMicro() > 0; } return false; } }