public IEnumerable<PackageOperationResult> AddSystemPackage(PackageRequest packageToAdd, IEnumerable<IPackageRepository> sourceRepositories, IPackageRepository systemRepository, PackageAddOptions options = PackageAddOptions.Default) { return CopyPackageCore(sourceRepositories, new[] { systemRepository }, ToDescriptor(packageToAdd, options), x => true); }
IEnumerable <PackageOperationResult> AddSystemPackageCore(IEnumerable <IPackageRepository> sourceRepositories, IPackageRepository systemRepository, PackageRequest packageToAdd, PackageAddOptions options) { return(CopyPackageCore(sourceRepositories, new[] { systemRepository }, ToDescriptor(packageToAdd, options), x => packageToAdd.Name.EqualsNoCase(x))); }
static PackageDependency ToDependency(PackageRequest packageToAdd, PackageAddOptions options) { return(new PackageDependencyBuilder(packageToAdd.Name) .SetVersionVertices(ToVersionVertices(packageToAdd)) .Anchored((options & PackageAddOptions.Anchor) == PackageAddOptions.Anchor) .Content((options & PackageAddOptions.Content) == PackageAddOptions.Content)); }
IEnumerable <PackageOperationResult> AddProjectPackageCore(PackageRequest packageToAdd, IEnumerable <IPackageRepository> sourceRepositories, IPackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageAddOptions options) { var finalDescriptor = (options & PackageAddOptions.UpdateDescriptor) == PackageAddOptions.UpdateDescriptor ? projectDescriptor : new PackageDescriptor(projectDescriptor); var existingEntries = finalDescriptor.Dependencies.Where(x => x.Name.EqualsNoCase(packageToAdd.Name)).ToList(); if (existingEntries.Count > 0) { finalDescriptor.Dependencies.RemoveRange(existingEntries); yield return(new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.Updated)); } else { yield return(new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.Added)); } finalDescriptor.Dependencies.Add(ToDependency(packageToAdd, options)); foreach (var m in CopyPackageCore(sourceRepositories, new[] { projectRepository }, finalDescriptor, x => true)) { yield return(m); } }
public IPackageAddResult AddProjectPackage(PackageRequest packageToAdd, IEnumerable<IPackageRepository> sourceRepositories, IPackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageAddOptions options = PackageAddOptions.Default) { Check.NotNull(packageToAdd, "packageToAdd"); Check.NoNullElements(sourceRepositories, "sourceRepositories"); Check.NotNull(projectDescriptor, "projectDescriptor"); Check.NotNull(projectRepository, "projectRepository"); return new PackageAddResultIterator(AddProjectPackageCore(packageToAdd, sourceRepositories, projectDescriptor, projectRepository, options)); }
static IPackageDescriptor ToDescriptor(PackageRequest package, PackageAddOptions options) { return(new PackageDescriptor { Dependencies = { new PackageDependencyBuilder(package.Name) .Content((options & PackageAddOptions.Content) == PackageAddOptions.Content) .Anchored((options & PackageAddOptions.Anchor) == PackageAddOptions.Anchor) .SetVersionVertices(ToVersionVertices(package)) } }); }
public IPackageAddResult AddSystemPackage(PackageRequest packageToAdd, IEnumerable <IPackageRepository> sourceRepositories, IPackageRepository systemRepository, PackageAddOptions options = PackageAddOptions.Default) { Check.NotNull(packageToAdd, "packageToAdd"); Check.NoNullElements(sourceRepositories, "sourceRepositories"); Check.NotNull(systemRepository, "systemRepository"); var returnValue = AddSystemPackageCore(sourceRepositories, systemRepository, packageToAdd, options); if ((options & PackageAddOptions.Hooks) == PackageAddOptions.Hooks && _hooks != null) { returnValue = WrapWithHooks(returnValue, ToDescriptor(packageToAdd, options), systemRepository, "system"); } return(new PackageAddResultIterator(returnValue)); }
public IPackageAddResult AddProjectPackage(PackageRequest packageToAdd, IEnumerable <IPackageRepository> sourceRepositories, IPackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageAddOptions options = PackageAddOptions.Default) { Check.NotNull(packageToAdd, "packageToAdd"); Check.NoNullElements(sourceRepositories, "sourceRepositories"); Check.NotNull(projectDescriptor, "projectDescriptor"); Check.NotNull(projectRepository, "projectRepository"); var result = AddProjectPackageCore(packageToAdd, sourceRepositories, projectDescriptor, projectRepository, options); if ((options & PackageAddOptions.Hooks) == PackageAddOptions.Hooks && _hooks != null) { result = WrapWithHooks(result, projectDescriptor, projectRepository, "project"); } return(new PackageAddResultIterator(result)); }
IEnumerable <PackageOperationResult> AddProjectPackageCore(PackageRequest packageToAdd, IEnumerable <IPackageRepository> sourceRepositories, IPackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageAddOptions options) { if (projectDescriptor.Dependencies.Where(x => x.Name.EqualsNoCase(packageToAdd.Name)).Any()) { yield return(new PackageDependencyAlreadyExists(packageToAdd.Name)); yield break; } var dependency = ToDependency(packageToAdd, options); projectDescriptor.Dependencies.Add(dependency); yield return(new PackageDependencyAddedResult(dependency)); foreach (var m in CopyPackageCore(sourceRepositories, new[] { projectRepository }, projectDescriptor, x => x.EqualsNoCase(packageToAdd.Name))) { yield return(m); } }
PackageDescriptor ToDescriptor(PackageRequest package, PackageAddOptions options) { return new PackageDescriptor { Dependencies = { new PackageDependencyBuilder(package.Name) .Content((options & PackageAddOptions.Content) == PackageAddOptions.Content) .Anchored((options & PackageAddOptions.Anchor) == PackageAddOptions.Anchor) .SetVersionVertices(ToVersionVertices(package)) } }; }
PackageDependency ToDependency(PackageRequest packageToAdd, PackageAddOptions options) { return new PackageDependencyBuilder(packageToAdd.Name) .SetVersionVertices(ToVersionVertices(packageToAdd)) .Anchored((options & PackageAddOptions.Anchor) == PackageAddOptions.Anchor) .Content((options & PackageAddOptions.Content) == PackageAddOptions.Content); }
IEnumerable<PackageOperationResult> AddProjectPackageCore(PackageRequest packageToAdd, IEnumerable<IPackageRepository> sourceRepositories, PackageDescriptor projectDescriptor, IPackageRepository projectRepository, PackageAddOptions options) { var finalDescriptor = (options & PackageAddOptions.UpdateDescriptor) == PackageAddOptions.UpdateDescriptor ? projectDescriptor : new PackageDescriptor(projectDescriptor); var existingEntries = finalDescriptor.Dependencies.Where(x => x.Name.EqualsNoCase(packageToAdd.Name)).ToList(); if (existingEntries.Count > 0) { finalDescriptor.Dependencies.RemoveRange(existingEntries); yield return new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.Updated); } else { yield return new PackageDescriptorUpdateResult(PackageDescriptorDependencyUpdate.Added); } finalDescriptor.Dependencies.Add(ToDependency(packageToAdd, options)); foreach (var m in CopyPackageCore(sourceRepositories, new[] { projectRepository }, finalDescriptor, x => true)) yield return m; }