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); }); }
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()))); }