Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            var packagesRepository = new PackageRepository();

            Parser.Default
            .ParseArguments <Options>(args)
            .WithParsed(o =>
            {
                foreach (var package in FilesScanner.GetAllPackages(new [] { o.RepositoryPath }, false))
                {
                    packagesRepository.AddPackage(package);
                }

                var localPackages      = FilesScanner.GetAllPackages(new [] { o.Path }, true);
                var structureValidator = new StructureValidator();

                var validationErrors = structureValidator.ValidateStructure(localPackages);
                foreach (var validationError in structureValidator.ValidateStructure(localPackages))
                {
                    Console.WriteLine(validationError);
                }

                if (validationErrors.Any())
                {
                    return;
                }

                HandleVersionSynchronization(localPackages);
                HandleCycles(FilesScanner.GetAllPackages(new [] { o.Path }, true), packagesRepository, o.Target);

                localPackages        = FilesScanner.GetAllPackages(new [] { o.Path }, true);
                var resolvedPackages = ResolvePackages(PackageRepository.Create(localPackages), packagesRepository, o.Target);
                Run(resolvedPackages);
            });
        }
Ejemplo n.º 2
0
        public void Validate_WhenMultipleMinorLocalVersions_ShouldReturnError()
        {
            var structureValidator = new StructureValidator();

            var v1     = new Version(1, 0, 1);
            var v2     = new Version(1, 0, 2);
            var actual = structureValidator.ValidateStructure(
                new[]
            {
                new PackageMeta("", true, new PackageInfo {
                    Name = "A", Version = v1
                }),
                new PackageMeta("", true, new PackageInfo {
                    Name = "A", Version = v2
                })
            });

            Assert.That(actual, Has.Length.EqualTo(1));
            Assert.That(actual, Has.Some.Matches <StructureValidator.ValidationError>(
                            x => x.Description.Contains(v1.ToString()) &&
                            x.Description.Contains(v2.ToString())));
        }