public override void ExecuteCommand() { if (string.IsNullOrEmpty(Directory)) { Directory = Environment.CurrentDirectory; } if (_repository == null) { _repository = AggregateRepositoryHelper.CreateAggregateRepositoryFromSources(RepositoryFactory, SourceProvider, Source); } var packageFiles = _fileSystem.GetFiles(Directory, "packages.config", true).ToList(); Console.WriteLine("Processing : {0} files.",packageFiles.Count); Parallel.ForEach(packageFiles, packageFile => { Console.WriteLine("\t{0}", packageFile); var newReferences = new List<PackageReference>(); var packageFileDetails = new PackageReferenceFile(_fileSystem, packageFile); foreach (var packageReference in packageFileDetails.GetPackageReferences()) { Console.WriteLine("\t\t{0}",packageReference.ToString()); var exists = _repository.FindPackage(packageReference.Id, packageReference.Version); if (exists != null) { Console.WriteLine("\t\t\tExists, not changing."); newReferences.Add(packageReference); } else { var package = _repository.FindPackagesById(packageReference.Id).FirstOrDefault(); if (package == null) { Console.WriteLine("\t\t\tNot found, no change."); newReferences.Add(packageReference); } else { var newReference = new PackageReference(package.Id, package.Version, new VersionSpec(), new FrameworkName(".NET Framework, Version=4.0"), false); Console.WriteLine("\t\t\tUpdated to {0}", newReference.ToString()); newReferences.Add(newReference); } } } //TODO Clear the file (must be an easier way). Console.WriteLine("Clearing existing file..."); foreach (var packageReference in packageFileDetails.GetPackageReferences()) { packageFileDetails.DeleteEntry(packageReference.Id, packageReference.Version); } //Add the new references. Console.WriteLine("Adding new references..."); foreach (var packageReference in newReferences) { packageFileDetails.AddEntry(packageReference.Id, packageReference.Version); } }); }
public void ShouldGiveNameAndVersionWhenConvertedToString() { //GIVEN var name = Any.Instance <string>(); var version = Any.Instance <string>(); var packageReference = new PackageReference(name, version); //WHEN var stringRepresentation = packageReference.ToString(); //THEN stringRepresentation.Should().Be($"{name}, Version {version}"); }
public override void ExecuteCommand() { if (string.IsNullOrEmpty(Directory)) { Directory = Environment.CurrentDirectory; } if (_repository == null) { _repository = AggregateRepositoryHelper.CreateAggregateRepositoryFromSources(RepositoryFactory, SourceProvider, Source); } var packageFiles = _fileSystem.GetFiles(Directory, "packages.config", true).ToList(); Console.WriteLine("Processing : {0} files.", packageFiles.Count); Parallel.ForEach(packageFiles, packageFile => { Console.WriteLine("\t{0}", packageFile); var newReferences = new List <PackageReference>(); var packageFileDetails = new PackageReferenceFile(_fileSystem, packageFile); foreach (var packageReference in packageFileDetails.GetPackageReferences()) { Console.WriteLine("\t\t{0}", packageReference.ToString()); var exists = _repository.FindPackage(packageReference.Id, packageReference.Version); if (exists != null) { Console.WriteLine("\t\t\tExists, not changing."); newReferences.Add(packageReference); } else { var package = _repository.FindPackagesById(packageReference.Id).FirstOrDefault(); if (package == null) { Console.WriteLine("\t\t\tNot found, no change."); newReferences.Add(packageReference); } else { var newReference = new PackageReference(package.Id, package.Version, new VersionSpec(), new FrameworkName(".NET Framework, Version=4.0"), false); Console.WriteLine("\t\t\tUpdated to {0}", newReference.ToString()); newReferences.Add(newReference); } } } //TODO Clear the file (must be an easier way). Console.WriteLine("Clearing existing file..."); foreach (var packageReference in packageFileDetails.GetPackageReferences()) { packageFileDetails.DeleteEntry(packageReference.Id, packageReference.Version); } //Add the new references. Console.WriteLine("Adding new references..."); foreach (var packageReference in newReferences) { packageFileDetails.AddEntry(packageReference.Id, packageReference.Version); } }); }