Пример #1
0
        public void CanLoadPackagesConfigFile()
        {
            //arrange
            var filename = Path.Combine("FileTypes", "packages.config");

            //act
            var file = new PackagesConfigFile(filename);

            //assert
            Assert.Equal("test1", file.Packages.First().Key);
            Assert.Equal("test2", file.Packages.Skip(1).First().Key);
            Assert.Equal("test3", file.Packages.Skip(2).First().Key);
        }
        public void CanLoadPackagesConfigFile()
        {
            //arrange
            const string filename = "FileTypes\\packages.config";

            //act
            var file = new PackagesConfigFile(filename);

            //assert
            Assert.Equal("test1", file.Packages.First().Key);
            Assert.Equal("test2", file.Packages.Skip(1).First().Key);
            Assert.Equal("test3", file.Packages.Skip(2).First().Key);
        }
Пример #3
0
        public override Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var nuspecDirectoryName = Path.GetDirectoryName(NuspecFile.FileName);
            var packagesConfig      = PackagesConfigFile.Load(nuspecDirectoryName);
            var csProj = CsProjFile.Load(Path.Combine(nuspecDirectoryName, $"{NuspecFile.Id}{CsProjFile.Extension}"));

            var packageDependencies = packagesConfig.Packages.Concat(csProj.PackageReferences).Select(package => new NuspecDependency {
                Id = package.Id, Version = package.Version
            });
            var projectDependencies = csProj.ProjectReferences.Select(projectReferenceName => new NuspecDependency {
                Id = projectReferenceName, Version = Version
            });

            NuspecFile.Dependencies = packageDependencies.Concat(projectDependencies);
            NuspecFile.Version      = Version;
            NuspecFile.Save();

            return(Task.CompletedTask);
        }
Пример #4
0
        public override Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var solutionFileName = _fileSearch.FindSolutionFile();
            var nuspecFiles      = _fileSearch.FindNuspecFiles();

            foreach (var nuspecFile in nuspecFiles.OrderBy(x => x.FileName))
            {
                var nuspecDirectoryName = Path.GetDirectoryName(nuspecFile.FileName);
                var packagesConfig      = PackagesConfigFile.Load(nuspecDirectoryName);

                var csProj = CsProjFile.Load(Path.Combine(nuspecDirectoryName, $"{nuspecFile.Id}{CsProjFile.Extension}"));
                var projectDependencies = csProj.ProjectReferences.Select(projectReferenceName => new NuspecDependency {
                    Id = projectReferenceName, Version = _roboNuGetFile.FullVersion
                }).ToList();
                var packageDependencies = packagesConfig.Packages.Concat(csProj.PackageReferences).Select(package => new NuspecDependency {
                    Id = package.Id, Version = package.Version
                }).ToList();

                var dependencyCount = projectDependencies.Count + packageDependencies.Count;

                //dependencyCount = nuspecFile.Dependencies.Count();

                if (!Short)
                {
                    Logger.ConsoleMessageLine(m => m);
                }
                Logger.ConsoleMessageLine(m => m
                                          .Indent()
                                          .text($"{Path.GetFileNameWithoutExtension(nuspecFile.FileName)} ")
                                          .span(s => s.text($"({dependencyCount})").color(ConsoleColor.Magenta)));

                if (!Short)
                {
                    ListDependencies("Projects", projectDependencies.OrderBy(x => x.Id));
                    ListDependencies("Packages", packageDependencies.OrderBy(x => x.Id));
                }
            }

            return(Task.CompletedTask);
        }
Пример #5
0
        public void CanUpdatePackagesConfigFile()
        {
            //arrange
            var filename = Path.Combine("FileTypes", "packages.config");
            var file     = new PackagesConfigFile(filename);
            var results  = new List <Result>
            {
                new Result("test1", new VersionInfo(new SemanticVersion(0, 1, 0), DateTime.Today), new VersionInfo(new SemanticVersion(1, 2, 3), DateTime.Today)),
                new Result("test2", new VersionInfo(new SemanticVersion(0, 2, 0), DateTime.Today), new VersionInfo(new SemanticVersion(2, 3, 4), DateTime.Today)),
                new Result("test3", new VersionInfo(new SemanticVersion(0, 3, 0), DateTime.Today), new VersionInfo(new SemanticVersion(3, 4, 5), DateTime.Today))
            };

            //act
            file.Update(results);

            //assert
            var newFile = new PackagesConfigFile(filename);

            Assert.Equal("1.2.3", newFile.Packages.First().Value.ToString());
            Assert.Equal("2.3.4", newFile.Packages.Skip(1).First().Value.ToString());
            Assert.Equal("3.4.5", newFile.Packages.Skip(2).First().Value.ToString());
        }