private static void createConfigurationEntries(IPlatformConfiguration config, ArrayList<LocalSite> sites) throws MalformedURLException { for (int i = 0; i < sites.size(); i++) { LocalSite localSite = sites.get(i); String[] plugins = localSite.getRelativePluginList(); int policy = IPlatformConfiguration.ISitePolicy.USER_INCLUDE; IPlatformConfiguration.ISitePolicy sitePolicy = config.createSitePolicy(policy, plugins); IPlatformConfiguration.ISiteEntry siteEntry = config.createSiteEntry(localSite.getURL(), sitePolicy); config.configureSite(siteEntry); } config.isTransient(true); }
/** * * @param config * @param features true for features false for plugins * @return URLs for features or plugins on the site */ private static URL[] getExtensionPluginURLs(IPlatformConfiguration config, boolean features) { ArrayList extensionPlugins = new ArrayList(); IPlatformConfiguration.ISiteEntry[] sites = config.getConfiguredSites(); for (int i = 0; i < sites.length; i++) { URL url = sites[i].getURL(); if ("file".equalsIgnoreCase(url.getProtocol())) { //$NON-NLS-1$ String[] entries; if(features) entries = sites[i].getFeatures(); else entries = sites[i].getPlugins(); for (int j = 0; j < entries.length; j++) { try { extensionPlugins.add(new File(url.getFile(), entries[j]).toURL()); } catch (MalformedURLException e) { } } } } return (URL[]) extensionPlugins.toArray(new URL[extensionPlugins.size()]); }
private static void createFeatureEntries(IPlatformConfiguration config, IPluginModelBase plugin) throws MalformedURLException { String id = plugin.getPluginBase().getId(); IFeatureModel featureModel = PDECore.getDefault().getFeatureModelManager().findFeatureModel(id); if (featureModel != null) { IFeature feature = featureModel.getFeature(); IPlatformConfiguration.IFeatureEntry featureEntry = config.createFeatureEntry(id, feature.getVersion(), id, plugin.getPluginBase().getVersion(), true, null, new URL[] {new URL("file:" + plugin.getInstallLocation())}); //$NON-NLS-1$ config.configureFeatureEntry(featureEntry); } }
public static void createPlatformConfiguration(File configLocation, IPluginModelBase[] models, IPluginModelBase brandingPlugin) throws CoreException { try { IPlatformConfiguration platformConfiguration = ConfiguratorUtils.getPlatformConfiguration(null); // Compute local sites ArrayList<LocalSite> sites = new ArrayList<>(); for (int i = 0; i < models.length; i++) { IPath path = new Path(models[i].getInstallLocation()).removeLastSegments(2); addToSite(path, models[i], sites); } createConfigurationEntries(platformConfiguration, sites); if (brandingPlugin != null) createFeatureEntries(platformConfiguration, brandingPlugin); platformConfiguration.refresh(); platformConfiguration.save(new URL("file:" + configLocation.getPath())); //$NON-NLS-1$ } catch (Exception e) { // Wrap everything else in a core exception. String message = e.getMessage(); if (message == null || message.length() == 0) message = PDECoreMessages.TargetPlatform_exceptionThrown; throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, IStatus.ERROR, message, e)); } }
public IPluginModelBase findPluginInHost(String id) { if (registryPlugins == null) { URL[] pluginPaths = ConfiguratorUtils.getCurrentPlatformConfiguration().getPluginPath(); PDEState state = new PDEState(pluginPaths, false, false, new NullProgressMonitor()); registryPlugins = state.getTargetModels(); } for (int i = 0; i < registryPlugins.length; i++) { if (registryPlugins[i].getPluginBase().getId().equals(id)) return registryPlugins[i]; } return null; }
private static void createFeatureEntries(IPlatformConfiguration config, IPluginModelBase plugin) throws MalformedURLException { String id = plugin.getPluginBase().getId(); IFeatureModel featureModel = PDECore.getDefault().getFeatureModelManager().findFeatureModel(id); if (featureModel != null) { IFeature feature = featureModel.getFeature(); IPlatformConfiguration.IFeatureEntry featureEntry = config.createFeatureEntry( id, feature.getVersion(), id, plugin.getPluginBase().getVersion(), true, null, new URL[] { new URL("file:" + plugin.getInstallLocation()) }); //$NON-NLS-1$ config.configureFeatureEntry(featureEntry); } }
public IPluginModelBase findPluginInHost(String id) { if (registryPlugins == null) { URL[] pluginPaths = ConfiguratorUtils.getCurrentPlatformConfiguration().getPluginPath(); PDEState state = new PDEState(pluginPaths, false, new NullProgressMonitor()); registryPlugins = state.getTargetModels(); } for (int i = 0; i < registryPlugins.length; i++) { if (registryPlugins[i].getPluginBase().getId().equals(id)) return registryPlugins[i]; } return null; }
private static void createConfigurationEntries( IPlatformConfiguration config, ArrayList sites) throws CoreException, MalformedURLException { for (int i = 0; i < sites.size(); i++) { LocalSite localSite = (LocalSite) sites.get(i); String[] plugins = localSite.getRelativePluginList(); int policy = IPlatformConfiguration.ISitePolicy.USER_INCLUDE; IPlatformConfiguration.ISitePolicy sitePolicy = config.createSitePolicy(policy, plugins); IPlatformConfiguration.ISiteEntry siteEntry = config.createSiteEntry(localSite.getURL(), sitePolicy); config.configureSite(siteEntry); } config.isTransient(true); }
public static URL[] getPluginPaths(String platformHome) { if (new Path(platformHome).equals(new Path(TargetPlatform.getDefaultLocation())) && !isDevLaunchMode()) return ConfiguratorUtils.getCurrentPlatformConfiguration().getPluginPath(); File file = new File(platformHome, "configuration/org.eclipse.update/platform.xml"); //$NON-NLS-1$ if (file.exists()) { try { String value = new Path(platformHome).toFile().toURL().toExternalForm(); System.setProperty(URL_PROPERTY, value); try { IPlatformConfiguration config = ConfiguratorUtils.getPlatformConfiguration(file.toURL()); return getConfiguredSitesPaths(platformHome, config, false); } finally { System.setProperty(URL_PROPERTY, EMPTY_STRING); } } catch (MalformedURLException e) { } catch (IOException e) { } } return scanLocations(getSites(platformHome, false)); }
/** * * @param config * @param features true for features false for plugins * @return URLs for features or plugins on the site */ private static URL[] getExtensionPluginURLs(IPlatformConfiguration config, boolean features) { ArrayList<URL> extensionPlugins = new ArrayList<>(); IPlatformConfiguration.ISiteEntry[] sites = config.getConfiguredSites(); for (int i = 0; i < sites.length; i++) { URL url = sites[i].getURL(); if ("file".equalsIgnoreCase(url.getProtocol())) { //$NON-NLS-1$ String[] entries; if (features) entries = sites[i].getFeatures(); else entries = sites[i].getPlugins(); for (int j = 0; j < entries.length; j++) { try { extensionPlugins.add(new File(url.getFile(), entries[j]).toURL()); } catch (MalformedURLException e) { } } } } return extensionPlugins.toArray(new URL[extensionPlugins.size()]); }
return ConfiguratorUtils.getCurrentPlatformConfiguration().getPluginPath();