/** * @return a set of plug-in IDs * */ public static Set getDependencies(Object[] selected, String[] implicit, State state) { return getDependencies(selected, implicit, state, true, true); }
/** * Returns a {@link Set} of bundle ids for the dependents of the given * objects from the given {@link State}. * The set does not include the ids of the given objects * and only includes the given set of implicit dependencies. * * @param selected the group of objects to compute dependencies for. Any items * in this array that are not {@link IPluginModelBase}s are ignored. * @param implicit the array of additional implicit dependencies to add to the {@link Set} * @param state the {@link State} to compute the dependencies in * @param excludeFragments a collection of <b>fragment</b> bundle symbolic names to exclude from the dependency resolution * or <code>null</code> if none * @return a set of bundle IDs */ public static Set<String> getDependencies(Object[] selected, String[] implicit, State state, String[] excludeFragments) { return getDependencies(selected, implicit, state, true, true, toSet(excludeFragments)); }
/** * @return a set of plug-in IDs * */ public static Set getDependencies(Object[] selected, boolean includeOptional) { return getDependencies(selected, getImplicitDependencies(), TargetPlatformHelper.getState(), true, includeOptional); }
/** * @return a set of plug-in IDs * */ public static Set getSelfandDependencies(IPluginModelBase[] models) { return getDependencies(models, getImplicitDependencies(), TargetPlatformHelper.getState(), false, true); }
/** * @return a set of plug-in IDs * */ public static Set getSelfAndDependencies(IPluginModelBase model) { return getDependencies(new Object[] {model}, getImplicitDependencies(), TargetPlatformHelper.getState(), false, true); }
/** * Looks at the currently checked plugins and finds any plug-ins required by them. The required plug-ins are * then also checked in the tree */ protected void addRequiredPlugins() { Object[] checked = fPluginTreeViewer.getCheckedElements(); Set<IPluginModelBase> toCheck = Arrays.stream(checked).filter(IPluginModelBase.class::isInstance) .map(IPluginModelBase.class::cast).collect(Collectors.toSet()); Set<String> additionalIds = DependencyManager.getDependencies(toCheck.toArray(), fIncludeOptionalButton.getSelection(), null); additionalIds.stream().map(id -> PluginRegistry.findEntry(id)) .filter(Objects::nonNull).map(entry -> entry.getModel()) .forEach(model -> toCheck.add(model)); checked = toCheck.toArray(); setCheckedElements(checked); fNumExternalChecked = 0; fNumWorkspaceChecked = 0; for (Object checkedElement : checked) { if (((IPluginModelBase) checkedElement).getUnderlyingResource() != null) { fNumWorkspaceChecked += 1; } else { fNumExternalChecked += 1; } } adjustGroupState(); }
/** * Returns a {@link Set} of bundle ids for the dependents of the given * {@link IPluginModelBase}s. The set includes the ids of the given model bases * as well as all computed implicit / optional dependencies. * * @param models the array of {@link IPluginModelBase}s to compute dependencies for * @param excludeFragments a collection of <b>fragment</b> bundle symbolic names to exclude from the dependency resolution * or <code>null</code> if none * @return a set of bundle IDs */ public static Set<String> getSelfandDependencies(IPluginModelBase[] models, String[] excludeFragments) { return getDependencies(models, getImplicitDependencies(), TargetPlatformHelper.getState(), false, true, toSet(excludeFragments)); }
/** * Returns a {@link Set} of bundle ids for the dependents of the given * {@link IPluginModelBase}. The set includes the id of the given model base * as well as all computed implicit / optional dependencies. * * @param model the {@link IPluginModelBase} to compute dependencies for * @param excludeFragments a collection of <b>fragment</b> bundle symbolic names to exclude from the dependency resolution * or <code>null</code> if none * @return a set of bundle IDs */ public static Set<String> getSelfAndDependencies(IPluginModelBase model, String[] excludeFragments) { return getDependencies(new Object[] {model}, getImplicitDependencies(), TargetPlatformHelper.getState(), false, true, toSet(excludeFragments)); }
/** * Returns a {@link Set} of bundle ids for the dependents of the given * objects. The set does not include the ids of the given objects * but does include the computed set of implicit dependencies. * * @param selected selected the group of objects to compute dependencies for. Any items * in this array that are not {@link IPluginModelBase}s are ignored. * @param includeOptional if optional bundle ids should be included * @param excludeFragments a collection of <b>fragment</b> bundle symbolic names to exclude from the dependency resolution * or <code>null</code> if none * @return a set of bundle IDs */ public static Set<String> getDependencies(Object[] selected, boolean includeOptional, String[] excludeFragments) { return getDependencies(selected, getImplicitDependencies(), TargetPlatformHelper.getState(), true, includeOptional, toSet(excludeFragments)); }
Set additionalIds = DependencyManager.getDependencies(launchPlugins.toArray(), false, new String[] {"org.eclipse.ui.workbench.compatibility"}); //$NON-NLS-1$ Iterator it = additionalIds.iterator(); while (it.hasNext()) {
dependencies.addAll(DependencyManager.getDependencies(checkedModels.toArray(), implicitIDs.toArray(new String[implicitIDs.size()]), state.getState(), null)); subMonitor.worked(50);