public UninstallWalker(IPackageRepository repository, IDependentsResolver dependentsResolver, FrameworkName targetFramework, ILogger logger, bool removeDependencies, bool forceRemove) : base(targetFramework) { if (dependentsResolver == null) { throw new ArgumentNullException("dependentsResolver"); } if (repository == null) { throw new ArgumentNullException("repository"); } if (logger == null) { throw new ArgumentNullException("logger"); } Logger = logger; Repository = repository; DependentsResolver = dependentsResolver; Force = forceRemove; ThrowOnConflicts = true; Operations = new Stack<PackageOperation>(); _removeDependencies = removeDependencies; }
public UninstallWalker(IPackageRepository repository, IDependentsResolver dependentsResolver, FrameworkName targetFramework, ILogger logger, bool removeDependencies, bool forceRemove) : base(targetFramework) { if (dependentsResolver == null) { throw new ArgumentNullException("dependentsResolver"); } if (repository == null) { throw new ArgumentNullException("repository"); } if (logger == null) { throw new ArgumentNullException("logger"); } Logger = logger; Repository = repository; DependentsResolver = dependentsResolver; Force = forceRemove; ThrowOnConflicts = true; Operations = new Stack <PackageOperation>(); _removeDependencies = removeDependencies; }
private void Uninstall(IPackage package, IDependentsResolver dependentsResolver, IPackageRepository repository) { // If this package isn't part of the current graph (i.e. hasn't been visited yet) and // is marked for removal, then do nothing. This is so we don't get unnecessary duplicates. if (!Marker.Contains(package) && _operations.Contains(package, PackageAction.Uninstall)) { return; } // Uninstall the conflicting package. We set throw on conflicts to false since we've // already decided that there were no conflicts based on the above code. var resolver = new UninstallWalker(repository, dependentsResolver, TargetFramework, NullLogger.Instance, removeDependencies: !IgnoreDependencies, forceRemove: false) { ThrowOnConflicts = false }; foreach (var operation in resolver.ResolveOperations(package)) { _operations.AddOperation(operation); } }
private void Uninstall(IPackage package, IDependentsResolver dependentsResolver, IPackageRepository repository) { // If we explicitly want to uninstall this package, then remove it from the retainment queue. _packagesToKeep.Remove(package); // If this package isn't part of the current graph (i.e. hasn't been visited yet) and // is marked for removal, then do nothing. This is so we don't get unnecessary duplicates. if (!Marker.Contains(package) && _operations.Contains(package, PackageAction.Uninstall)) { return; } // Uninstall the conflicting package. We set throw on conflicts to false since we've // already decided that there were no conflicts based on the above code. var resolver = new UninstallWalker( repository, dependentsResolver, TargetFramework, NullLogger.Instance, removeDependencies: !IgnoreDependencies, forceRemove: false) { DisableWalkInfo = this.DisableWalkInfo, ThrowOnConflicts = false }; foreach (var operation in resolver.ResolveOperations(package)) { // If the operation is Uninstall, we don't want to uninstall the package if it is in the "retainment" queue. if (operation.Action == PackageAction.Install || !_packagesToKeep.Contains(operation.Package)) { _operations.AddOperation(operation); } } }
// this ctor is used for unit tests internal UninstallWalker(IPackageRepository repository, IDependentsResolver dependentsResolver, ILogger logger, bool removeDependencies, bool forceRemove) : this(repository, dependentsResolver, null, logger, removeDependencies, forceRemove) { }
// this ctor is used for unit tests internal UninstallWalker(IPackageRepository repository, IDependentsResolver dependentsResolver, ILogger logger, bool removeDependencies, bool forceRemove) : this(repository, dependentsResolver, null, logger, removeDependencies, forceRemove) { }
public ProjectInstallWalker(IPackageRepository localRepository, IPackageRepository sourceRepository, IDependentsResolver dependentsResolver, ILogger logger, bool ignoreDependencies) : base(localRepository, sourceRepository, logger, ignoreDependencies) { _dependentsResolver = dependentsResolver; }
public ProjectInstallWalker(IPackageRepository localRepository, IPackageRepository sourceRepository, IDependentsResolver dependentsResolver, ILogger logger, bool ignoreDependencies) : base(localRepository, sourceRepository, logger, ignoreDependencies) { _dependentsResolver = dependentsResolver; }
// this ctor is used for unit tests internal UpdateWalker(IPackageRepository localRepository, IDependencyResolver2 sourceRepository, IDependentsResolver dependentsResolver, IPackageConstraintProvider constraintProvider, ILogger logger, bool updateDependencies, bool allowPrereleaseVersions) : this(localRepository, sourceRepository, dependentsResolver, constraintProvider, null, logger, updateDependencies, allowPrereleaseVersions) { }
// this ctor is used for unit tests internal UpdateWalker(IPackageRepository localRepository, IDependencyResolver2 sourceRepository, IDependentsResolver dependentsResolver, IPackageConstraintProvider constraintProvider, ILogger logger, bool updateDependencies, bool allowPrereleaseVersions) : this(localRepository, sourceRepository, dependentsResolver, constraintProvider, null, logger, updateDependencies, allowPrereleaseVersions) { }
public UpdateWalker(IPackageRepository localRepository, IPackageRepository sourceRepository, IDependentsResolver dependentsResolver, IPackageConstraintProvider constraintProvider, ILogger logger, bool updateDependencies, bool allowPrereleaseVersions) : base(localRepository, sourceRepository, constraintProvider, logger, !updateDependencies, allowPrereleaseVersions) { _dependentsResolver = dependentsResolver; AcceptedTargets = PackageTargets.All; }
public UpdateWalker(IPackageRepository localRepository, IDependencyResolver2 sourceRepository, IDependentsResolver dependentsResolver, IPackageConstraintProvider constraintProvider, FrameworkName targetFramework, ILogger logger, bool updateDependencies, bool allowPrereleaseVersions) : base(localRepository, sourceRepository, constraintProvider, targetFramework, logger, !updateDependencies, allowPrereleaseVersions, DependencyVersion.Lowest) { _dependentsResolver = dependentsResolver; AcceptedTargets = PackageTargets.All; }
private void Uninstall(IPackage package, IDependentsResolver dependentsResolver, IPackageRepository repository) { this._packagesToKeep.Remove(package); if (base.Marker.Contains(package) || !this._operations.Contains(package, PackageAction.Uninstall)) { UninstallWalker walker1 = new UninstallWalker(repository, dependentsResolver, base.TargetFramework, NullLogger.Instance, !this.IgnoreDependencies, false); walker1.DisableWalkInfo = this.DisableWalkInfo; walker1.ThrowOnConflicts = false; foreach (PackageOperation operation in walker1.ResolveOperations(package)) { if ((operation.Action == PackageAction.Install) || !this._packagesToKeep.Contains(operation.Package)) { this._operations.AddOperation(operation); } } } }
public UninstallWalker(IPackageRepository repository, IDependentsResolver dependentsResolver, FrameworkName targetFramework, ILogger logger, bool removeDependencies, bool forceRemove) : base(targetFramework) { this._forcedRemoved = new Dictionary <IPackage, IEnumerable <IPackage> >((IEqualityComparer <IPackage>)PackageEqualityComparer.IdAndVersion); this._skippedPackages = new Dictionary <IPackage, IEnumerable <IPackage> >((IEqualityComparer <IPackage>)PackageEqualityComparer.IdAndVersion); if (dependentsResolver == null) { throw new ArgumentNullException("dependentsResolver"); } if (repository == null) { throw new ArgumentNullException("repository"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.Logger = logger; this.Repository = repository; this.DependentsResolver = dependentsResolver; this.Force = forceRemove; this.ThrowOnConflicts = true; this.Operations = new Stack <PackageOperation>(); this._removeDependencies = removeDependencies; }
private void Uninstall(IPackage package, IDependentsResolver dependentsResolver, IPackageRepository repository) { // If this package isn't part of the current graph (i.e. hasn't been visited yet) and // is marked for removal, then do nothing. This is so we don't get unnecessary duplicates. if (!Marker.Contains(package) && _operations.Contains(package, PackageAction.Uninstall)) { return; } // Uninstall the conflicting package. We set throw on conflicts to false since we've // already decided that there were no conflicts based on the above code. var resolver = new UninstallWalker(repository, dependentsResolver, TargetFramework, NullLogger.Instance, removeDependencies: !IgnoreDependencies, forceRemove: false) { ThrowOnConflicts = false }; foreach (var operation in resolver.ResolveOperations(package)) { _operations.AddOperation(operation); } }
public ConflictResult(IPackage conflictingPackage, IPackageRepository repository, IDependentsResolver resolver) { this.Package = conflictingPackage; this.Repository = repository; this.DependentsResolver = resolver; }
private void Uninstall(IPackage package, IDependentsResolver dependentsResolver, IPackageRepository repository) { // If we explicitly want to uninstall this package, then remove it from the retainment queue. _packagesToKeep.Remove(package); // If this package isn't part of the current graph (i.e. hasn't been visited yet) and // is marked for removal, then do nothing. This is so we don't get unnecessary duplicates. if (!Marker.Contains(package) && _operations.Contains(package, PackageAction.Uninstall)) { return; } // Uninstall the conflicting package. We set throw on conflicts to false since we've // already decided that there were no conflicts based on the above code. var resolver = new UninstallWalker( repository, dependentsResolver, TargetFramework, NullLogger.Instance, removeDependencies: !IgnoreDependencies, forceRemove: false) { DisableWalkInfo = this.DisableWalkInfo, ThrowOnConflicts = false }; foreach (var operation in resolver.ResolveOperations(package)) { // If the operation is Uninstall, we don't want to uninstall the package if it is in the "retainment" queue. if (operation.Action == PackageAction.Install || !_packagesToKeep.Contains(operation.Package)) { _operations.AddOperation(operation); } } }
public ConflictResult(IPackage conflictingPackage, IPackageRepository repository, IDependentsResolver resolver) { Package = conflictingPackage; Repository = repository; DependentsResolver = resolver; }