* @param requireBundleSpec the spec to resolve
* @param resolvedDependencies the resolved dependencies.
*/
private void resolveRequiredBundle(@NotNull String requireBundleSpec, @NotNull List<ManifestHolder> resolvedDependencies) {
// first get the manifest holder of the required bundle
ManifestHolder manifestHolder = myBundleCache.whoIsRequiredBundle(requireBundleSpec);
if (manifestHolder == null) {
// unresolvable, may happen if the user misses some dependencies.
return;
}
if (resolvedDependencies.contains(manifestHolder)) {
// we're done here, we already resolved this dependency
return;
}
BundleManifest requireBundleManifest;
try {
requireBundleManifest = manifestHolder.getBundleManifest();
}
catch (ManifestHolderDisposedException e) {
// ok it's gone. Should rarely happen but in this case there is nothing we can do anymore.
return;
}