private AddEntry ( System.Xml.Linq.XDocument document, string id, SemanticVersion version, FrameworkName targetFramework ) : void | ||
document | System.Xml.Linq.XDocument | |
id | string | |
version | SemanticVersion | |
targetFramework | FrameworkName | |
return | void |
public void AddPackageReferenceEntry(string packageId, SemanticVersion version) { if (_packageReferenceFile != null) { _packageReferenceFile.AddEntry(packageId, version); } }
public IEnumerable<string> CreatePackageFile() { var packagesFile = Path.Combine(_fileSystem.CurrentDirectory, Constants.PackagesFile); var packageReferenceFile = new PackageReferenceFile(packagesFile); var packagesFolder = Path.Combine(_fileSystem.CurrentDirectory, Constants.PackagesFolder); var repository = new LocalPackageRepository(packagesFolder); var newestPackages = repository.GetPackages().GroupBy(p => p.Id) .Select(g => g.OrderByDescending(p => p.Version).FirstOrDefault()); foreach (var package in newestPackages) { var newestFramework = GetNewestSupportedFramework(package); packageReferenceFile.AddEntry(package.Id, package.Version, newestFramework); if (newestFramework == null) { yield return string.Format("{0}, Version {1}", package.Id, package.Version); } else { yield return string.Format("{0}, Version {1}, .NET {2}", package.Id, package.Version, newestFramework.Version); } } }
public void AddPackage(string packageId, SemanticVersion version, bool developmentDependency, FrameworkName targetFramework) { _packageReferenceFile.AddEntry(packageId, version, developmentDependency, targetFramework); // Notify the source repository every time we add a new package to the repository. // This doesn't really need to happen on every package add, but this is over agressive // to combat scenarios where the 2 repositories get out of sync. If this repository is already // registered in the source then this will be ignored SourceRepository.RegisterRepository(_packageReferenceFile); }
public override void AddPackage(IPackage package) { _packageReferenceFile.AddEntry(package.Id, package.Version); // Notify the source repository every time we add a new package to the repository. // This doesn't really need to happen on every package add, but this is over agressive // to combat scenarios where the 2 repositories get out of sync. If this repository is already // registered in the source then this will be ignored SourceRepository.RegisterRepository(PackageReferenceFileFullPath); }
public IEnumerable<string> CreatePackageFile() { var packageReferenceFile = new PackageReferenceFile(Path.Combine(_fileSystem.CurrentDirectory, Constants.PackagesFile)); var repository = new LocalPackageRepository(Path.Combine(_fileSystem.CurrentDirectory, Constants.PackagesFolder)); var arbitraryPackages = repository.GetPackages(); var result = new List<string>(); foreach (var package in arbitraryPackages.GroupBy(i => i.Id)) { var p = package.OrderByDescending(i => i.Version).FirstOrDefault(); packageReferenceFile.AddEntry(p.Id, p.Version, VersionUtility.ParseFrameworkName("net45")); result.Add(string.Format("{0}, Version {1}, .NET 4.5", p.Id, p.Version)); } return result; }
public void CreatePackageFile() { var packagesFile = Path.Combine(_fileSystem.CurrentDirectory, _fileSystem.PackagesFile); var packageReferenceFile = new PackageReferenceFile(packagesFile); var packagesFolder = Path.Combine(_fileSystem.CurrentDirectory, _fileSystem.PackagesFolder); var repository = new LocalPackageRepository(packagesFolder); var newestPackages = repository.GetPackages().GroupBy(p => p.Id) .Select(g => g.OrderByDescending(p => p.Version).FirstOrDefault()); if (!newestPackages.Any()) { _logger.Info("No packages found!"); return; } _logger.InfoFormat("{0} {1}...", (File.Exists(packagesFile) ? "Updating" : "Creating"), _fileSystem.PackagesFile); foreach (var package in newestPackages) { var newestFramework = GetNewestSupportedFramework(package); if (!packageReferenceFile.EntryExists(package.Id, package.Version)) { packageReferenceFile.AddEntry(package.Id, package.Version, package.DevelopmentDependency, newestFramework); if (newestFramework == null) { _logger.InfoFormat("Added {0} (v{1}) to {2}", package.Id, package.Version, _fileSystem.PackagesFile); } else { _logger.InfoFormat("Added {0} (v{1}, .NET {2}) to {3}", package.Id, package.Version, newestFramework.Version, _fileSystem.PackagesFile); } continue; } _logger.InfoFormat("Skipped {0} because it already exists.", package.Id); } _logger.InfoFormat("Successfully {0} {1}.", (File.Exists(packagesFile) ? "updated" : "created"), _fileSystem.PackagesFile); }
//writes new version of the package to packages.config file public void writeToConfig(string fileName, string packageId, SemanticVersion newversion) { var file = new PackageReferenceFile(fileName); file.DeleteEntry(packageId, null); file.AddEntry(packageId, newversion); }