/** * Reads and returns the VM arguments specified in the running platform's .ini file, or am empty * string if none. * * @return VM arguments specified in the running platform's .ini file */ public static String getIniVMArgs() { File installDirectory = new File(Platform.getInstallLocation().getURL().getFile()); if (Platform.getOS().equals(Platform.OS_MACOSX)) installDirectory = new File(installDirectory, "Eclipse.app/Contents/MacOS"); // $NON-NLS-1$ File eclipseIniFile = new File(installDirectory, "eclipse.ini"); // $NON-NLS-1$ BufferedReader in = null; StringBuffer result = new StringBuffer(); if (eclipseIniFile.exists()) { try { in = new BufferedReader(new FileReader(eclipseIniFile)); String str; boolean vmargs = false; while ((str = in.readLine()) != null) { if (vmargs) { if (result.length() > 0) result.append(" "); // $NON-NLS-1$ result.append(str); } // start concat'ng if we have vmargs if (vmargs == false && str.equals("-vmargs")) // $NON-NLS-1$ vmargs = true; } } catch (IOException e) { MDECore.log(e); } finally { if (in != null) try { in.close(); } catch (IOException e) { MDECore.log(e); } } } return result.toString(); }
public static String[] getFeaturePaths() { IFeatureModel[] models = MDECore.getDefault().getFeatureModelManager().getModels(); ArrayList list = new ArrayList(); for (int i = 0; i < models.length; i++) { String location = models[i].getInstallLocation(); if (location != null) list.add(location + IPath.SEPARATOR + ICoreConstants.FEATURE_FILENAME_DESCRIPTOR); } return (String[]) list.toArray(new String[list.size()]); }
public static boolean matchesCurrentEnvironment(IMonitorModelBase model) { BundleContext context = MDECore.getDefault().getBundleContext(); Dictionary environment = getTargetEnvironment(); BundleDescription bundle = model.getBundleDescription(); String filterSpec = bundle != null ? bundle.getPlatformFilter() : null; try { return filterSpec == null || context.createFilter(filterSpec).match(environment); } catch (InvalidSyntaxException e) { return false; } }
protected void validateExtension(Element element) { if (!assertAttributeDefined(element, "point", CompilerFlags.ERROR)) // $NON-NLS-1$ return; String pointID = element.getAttribute("point"); // $NON-NLS-1$ if (!MDECore.getDefault().getExtensionsRegistry().hasExtensionPoint(pointID)) { int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_UNRESOLVED_EX_POINTS); if (severity != CompilerFlags.IGNORE) { report( NLS.bind(MDECoreMessages.Builders_Manifest_ex_point, pointID), getLine(element, "point"), severity, MDEMarkerFactory.CAT_OTHER); // $NON-NLS-1$ } } else { SchemaRegistry reg = MDECore.getDefault().getSchemaRegistry(); ISchema schema = reg.getSchema(pointID); if (schema != null) { validateElement(element, schema, true); } } }
public static Properties getConfigIniProperties() { File iniFile = new File(TargetPlatform.getLocation(), "configuration/config.ini"); // $NON-NLS-1$ if (!iniFile.exists()) return null; Properties pini = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(iniFile); pini.load(fis); fis.close(); return pini; } catch (IOException e) { MDECore.logException(e); } finally { try { if (fis != null) fis.close(); } catch (IOException e) { MDECore.logException(e); } } return null; }
private void validateFeatureID(Element element, Attr attr) { int severity = CompilerFlags.getFlag(fProject, CompilerFlags.F_UNRESOLVED_FEATURES); if (severity != CompilerFlags.IGNORE) { IFeatureModel[] models = MDECore.getDefault().getFeatureModelManager().findFeatureModels(attr.getValue()); if (models.length == 0) { report( NLS.bind(MDECoreMessages.Builders_Feature_freference, attr.getValue()), getLine(element, attr.getName()), severity, MDEMarkerFactory.CAT_OTHER); } } }
public static TreeSet getProductNameSet() { TreeSet result = new TreeSet(); IExtension[] extensions = MDECore.getDefault() .getExtensionsRegistry() .findExtensions("org.eclipse.core.runtime.products", true); // $NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { IConfigurationElement[] elements = extensions[i].getConfigurationElements(); if (elements.length != 1) continue; if (!"product".equals(elements[0].getName())) // $NON-NLS-1$ continue; String id = extensions[i].getUniqueIdentifier(); if (id != null && id.trim().length() > 0) result.add(id); } return result; }
public static Set getApplicationNameSet() { TreeSet result = new TreeSet(); IExtension[] extensions = MDECore.getDefault() .getExtensionsRegistry() .findExtensions("org.eclipse.core.runtime.applications", true); // $NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { String id = extensions[i].getUniqueIdentifier(); IConfigurationElement[] elements = extensions[i].getConfigurationElements(); if (elements.length != 1) continue; String visiblity = elements[0].getAttribute("visible"); // $NON-NLS-1$ boolean visible = visiblity == null ? true : Boolean.valueOf(visiblity).booleanValue(); if (id != null && visible) { result.add(id); } } result.add("org.eclipse.ui.ide.workbench"); // $NON-NLS-1$ return result; }
public static MDEState getPDEState() { return MDECore.getDefault().getModelManager().getState(); }