AddEntry() private method

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);
     }
 }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
        }
Example #5
0
        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);
 }