public Task ReleaseRemovedAsync(ModuleIdentifier module, ModuleVersion version, IDependencyResolver dependencyResolver, // TODO: This should be injected via DI CancellationToken cancellation = default) { if (module == default) { throw new ArgumentDefaultException(nameof(module)); } // TODO: Is this ok? if (!ResolvedModules.ContainsModule(module)) { return(Task.CompletedTask); } return(ResolveDependenciesAsync(dependencyResolver, cancellation)); }
public Task ReleaseAddedAsync(ModuleIdentifier module, ModuleVersion version, IDependencyResolver dependencyResolver, // TODO: This should be injected via DI CancellationToken cancellation = default) { if (module == default) { throw new ArgumentDefaultException(nameof(module)); } // We must update if the resolved installation set contains our module // -- OR -- // The unresolved installation set is non-epty but we were unable to get to a resolved installation set (f.e. due to missing module-releases) if (ResolvedModules.ContainsModule(module) || InstalledModules.Unresolved.Any() && !ResolvedModules.Resolved.Any()) { return(ResolveDependenciesAsync(dependencyResolver, cancellation)); } return(Task.CompletedTask); }