public IPackageRemoveResult RemoveProjectPackage(PackageRequest packageToRemove, IPackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options = PackageRemoveOptions.Default) { if (packageToRemove == null) { throw new ArgumentNullException("packageToRemove"); } if (projectDescriptor == null) { throw new ArgumentNullException("projectDescriptor"); } if (projectRepository == null) { throw new ArgumentNullException("projectRepository"); } var resultIterator = RemoveProjectPackageCore(packageToRemove, projectDescriptor, projectRepository, options); if ((options & PackageRemoveOptions.Hooks) == PackageRemoveOptions.Hooks && _hooks != null) { resultIterator = WrapWithHooks(resultIterator, projectDescriptor, projectRepository, "project"); } return(new PackageRemoveResultIterator(resultIterator)); }
IEnumerable <PackageOperationResult> RemoveProjectPackageCore(PackageRequest packageToRemove, IPackageDescriptor packageDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options) { return((packageToRemove.ExactVersion == null && !packageToRemove.LastVersion) ? RemoveFromDescriptor(packageToRemove, packageDescriptor, projectRepository, options) : RemovePackageFilesFromProjectRepo(packageToRemove, projectRepository)); }
IEnumerable <PackageOperationResult> RemoveFromDescriptor(PackageRequest packageToRemove, IPackageDescriptor packageDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options) { var dependency = packageDescriptor.Dependencies.FirstOrDefault(x => x.Name.EqualsNoCase(packageToRemove.Name)); if (dependency == null) { yield return(new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.DependencyNotFound)); yield break; } packageDescriptor.Dependencies.Remove(dependency); }
public IPackageRemoveResult RemoveProjectPackage(PackageRequest packageToRemove, IPackageDescriptor packageDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options = PackageRemoveOptions.Default) { if (packageToRemove == null) { throw new ArgumentNullException("packageToRemove"); } if (packageDescriptor == null) { throw new ArgumentNullException("packageDescriptor"); } if (projectRepository == null) { throw new ArgumentNullException("projectRepository"); } return(new PackageRemoveResultIterator(RemoveProjectPackageCore(packageToRemove, packageDescriptor, projectRepository, options))); }
IEnumerable<PackageOperationResult> RemoveFromDescriptor(PackageRequest packageToRemove, PackageDescriptor packageDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options) { var dependency = packageDescriptor.Dependencies.FirstOrDefault(x => x.Name.EqualsNoCase(packageToRemove.Name)); if (dependency == null) { yield return new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.DependencyNotFound); yield break; } packageDescriptor.Dependencies.Remove(dependency); if ((options & PackageRemoveOptions.Clean) == PackageRemoveOptions.Clean) foreach (var cleaned in CleanProjectPackages(packageDescriptor, projectRepository, packageToRemove.Name)) yield return cleaned; }
public IEnumerable<PackageOperationResult> RemoveSystemPackage(PackageRequest packageToRemove, IPackageRepository systemRepository, PackageRemoveOptions options = PackageRemoveOptions.Default) { if (packageToRemove == null) throw new ArgumentNullException("packageToRemove"); if (systemRepository == null) throw new ArgumentNullException("systemRepository"); return RemovePackageFromRepository(packageToRemove, systemRepository); }
public IEnumerable<PackageOperationResult> RemoveProjectPackage(PackageRequest packageToRemove, PackageDescriptor packageDescriptor, IPackageRepository projectRepository, PackageRemoveOptions options = PackageRemoveOptions.Default) { if (packageToRemove == null) throw new ArgumentNullException("packageToRemove"); if (packageDescriptor == null) throw new ArgumentNullException("packageDescriptor"); if (projectRepository == null) throw new ArgumentNullException("projectRepository"); return (packageToRemove.ExactVersion == null && !packageToRemove.LastVersion) ? RemoveFromDescriptor(packageToRemove, packageDescriptor, projectRepository, options) : RemovePackageFilesFromProjectRepo(packageToRemove, projectRepository); }
public IPackageRemoveResult RemoveSystemPackage(PackageRequest packageToRemove, IPackageRepository systemRepository, PackageRemoveOptions options = PackageRemoveOptions.Default) { if (packageToRemove == null) { throw new ArgumentNullException("packageToRemove"); } if (systemRepository == null) { throw new ArgumentNullException("systemRepository"); } var resultIterator = RemoveSystemPackageCore(packageToRemove, systemRepository); return(new PackageRemoveResultIterator(resultIterator)); }