/// <summary> /// Resolves all relationships for a module. /// May recurse to ResolveStanza, which may add additional modules to be installed. /// </summary> private void Resolve(CkanModule module, RelationshipResolverOptions options, IEnumerable <RelationshipDescriptor> old_stanza = null) { // Even though we may resolve top-level suggests for our module, // we don't install suggestions all the down unless with_all_suggests // is true. var sub_options = (RelationshipResolverOptions)options.Clone(); sub_options.with_suggests = false; old_stanza = old_stanza?.Memoize(); log.DebugFormat("Resolving dependencies for {0}", module.identifier); ResolveStanza(module.depends, new SelectionReason.Depends(module), sub_options, false, old_stanza); if (options.with_recommends) { log.DebugFormat("Resolving recommends for {0}", module.identifier); ResolveStanza(module.recommends, new SelectionReason.Recommended(module), sub_options, true, old_stanza); } if (options.with_suggests || options.with_all_suggests) { log.DebugFormat("Resolving suggests for {0}", module.identifier); ResolveStanza(module.suggests, new SelectionReason.Suggested(module), sub_options, true, old_stanza); } }
/// <summary> /// Resolves all relationships for a module. /// May recurse to ResolveStanza, which may add additional modules to be installed. /// </summary> private void Resolve(CkanModule module, RelationshipResolverOptions options) { // Even though we may resolve top-level suggests for our module, // we don't install suggestions all the down unless with_all_suggests // is true. var sub_options = (RelationshipResolverOptions)options.Clone(); sub_options.with_suggests = false; log.DebugFormat("Resolving dependencies for {0}", module.identifier); ResolveStanza(module.depends, sub_options); if (options.with_recommends) { log.DebugFormat("Resolving recommends for {0}", module.identifier); ResolveStanza(module.recommends, sub_options, true); } if (options.with_suggests || options.with_all_suggests) { log.DebugFormat("Resolving suggests for {0}", module.identifier); ResolveStanza(module.suggests, sub_options, true); } }
/// <summary> /// Resolves all relationships for a module. /// May recurse to ResolveStanza, which may add additional modules to be installed. /// </summary> private void Resolve(CkanModule module, RelationshipResolverOptions options) { // Even though we may resolve top-level suggests for our module, // we don't install suggestions all the down unless with_all_suggests // is true. var sub_options = (RelationshipResolverOptions) options.Clone(); sub_options.with_suggests = false; log.DebugFormat("Resolving dependencies for {0}", module.identifier); ResolveStanza(module.depends, new SelectionReason.Depends(module), sub_options); if (options.with_recommends) { log.DebugFormat("Resolving recommends for {0}", module.identifier); ResolveStanza(module.recommends, new SelectionReason.Recommended(module), sub_options, true); } if (options.with_suggests || options.with_all_suggests) { log.DebugFormat("Resolving suggests for {0}", module.identifier); ResolveStanza(module.suggests, new SelectionReason.Suggested(module), sub_options, true); } }