/// <summary> /// Return the list of <see cref="PackageToPrepare"/> in the ordered form /// for which we want to run all the tasks sequentially /// </summary> /// <returns>Ordered list of tasks to run for <see cref="PackageToPrepare"/></returns> private async Task <List <PackageToPrepare> > InitializePackagesAsync(PackageType packageType, ITestOutputHelper logger) { var id = GetPackageId(packageType); LicenseMetadata licenseMetadata; PackageToPrepare packageToPrepare; List <PackageToPrepare> packagesToPrepare = new List <PackageToPrepare>(); switch (packageType) { case PackageType.SemVer2DueToSemVer2Dep: packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0-beta", FullVersion = "1.0.0-beta", DependencyGroups = new[] { new PackageDependencyGroup( TestData.TargetFramework, new[] { new PackageDependency( GetPackageId(PackageType.SemVer2Prerel), VersionRange.Parse(SemVer2PrerelVersion)) }) }, Properties = new PackageProperties(packageType) })); break; case PackageType.SemVer2StableMetadataUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(packageType, id, "1.0.0", "1.0.0+metadata"), unlist: true); break; case PackageType.SemVer2StableMetadata: packageToPrepare = new PackageToPrepare(Package.Create(packageType, id, "1.0.0", "1.0.0+metadata")); break; case PackageType.SemVer2PrerelUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(packageType, id, "1.0.0-alpha.1"), unlist: true); break; case PackageType.SemVer2Prerel: packageToPrepare = new PackageToPrepare(Package.Create(packageType, id, SemVer2PrerelVersion)); break; case PackageType.SemVer2PrerelRelisted: packageToPrepare = new PackageToPrepare(Package.Create(packageType, id, "1.0.0-alpha.1"), unlist: true); break; case PackageType.SemVer1StableUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(packageType, id, "1.0.0"), unlist: true); break; case PackageType.Signed: packageToPrepare = new PackageToPrepare(Package.SignedPackage()); break; case PackageType.SymbolsPackage: return(await PrepareSymbolsPackageAsync(id, "1.0.0", logger)); case PackageType.LicenseExpression: licenseMetadata = new LicenseMetadata(LicenseType.Expression, "MIT", null, null, LicenseMetadata.EmptyVersion); packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0", FullVersion = "1.0.0", Properties = new PackageProperties(packageType, licenseMetadata) })); break; case PackageType.LicenseFile: var licenseFilePath = "license.txt"; var licenseFileContent = "It's a license"; licenseMetadata = new LicenseMetadata(LicenseType.File, licenseFilePath, null, null, LicenseMetadata.EmptyVersion); packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0", FullVersion = "1.0.0", Properties = new PackageProperties(packageType, licenseMetadata, licenseFileContent), Files = new List <PhysicalPackageFile> { new PhysicalPackageFile(new MemoryStream(Encoding.UTF8.GetBytes(licenseFileContent))) { TargetPath = licenseFilePath } } })); break; case PackageType.LicenseUrl: var licenseUrl = new Uri("https://testLicenseUrl"); packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0", FullVersion = "1.0.0", Properties = new PackageProperties(packageType, licenseUrl: licenseUrl) })); break; case PackageType.EmbeddedIconJpeg: packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0", FullVersion = "1.0.0", Properties = new PackageProperties(packageType) { EmbeddedIconFilename = "icon.jpg" }, })); break; case PackageType.EmbeddedIconPng: packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0", FullVersion = "1.0.0", Properties = new PackageProperties(packageType) { EmbeddedIconFilename = "icon.png" }, })); break; case PackageType.Deprecated: packageToPrepare = new PackageToPrepare( Package.Create(packageType, id, "1.0.0"), PackageDeprecationContext.Default); break; case PackageType.DotnetTool: return(await PrepareDotnetToolPackageAsync(id, "1.0.0", logger)); case PackageType.SemVer1Stable: case PackageType.FullValidation: default: packageToPrepare = new PackageToPrepare(Package.Create(packageType, id, "1.0.0")); break; } packagesToPrepare.Add(packageToPrepare); return(packagesToPrepare); }
/// <summary> /// Return the list of <see cref="PackageToPrepare"/> in the ordered form /// for which we want to run all the tasks sequentially /// </summary> /// <returns>Ordered list of tasks to run for <see cref="PackageToPrepare"/></returns> private async Task <List <PackageToPrepare> > InitializePackagesAsync(PackageType packageType, ITestOutputHelper logger) { var id = GetPackageId(packageType); PackageToPrepare packageToPrepare; List <PackageToPrepare> packagesToPrepare = new List <PackageToPrepare>(); switch (packageType) { case PackageType.SemVer2DueToSemVer2Dep: packageToPrepare = new PackageToPrepare(Package.Create(new PackageCreationContext { Id = id, NormalizedVersion = "1.0.0-beta", FullVersion = "1.0.0-beta", DependencyGroups = new[] { new PackageDependencyGroup( TestData.TargetFramework, new[] { new PackageDependency( GetPackageId(PackageType.SemVer2Prerel), VersionRange.Parse(SemVer2PrerelVersion)) }) } })); break; case PackageType.SemVer2StableMetadataUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(id, "1.0.0", "1.0.0+metadata"), unlist: true); break; case PackageType.SemVer2StableMetadata: packageToPrepare = new PackageToPrepare(Package.Create(id, "1.0.0", "1.0.0+metadata")); break; case PackageType.SemVer2PrerelUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(id, "1.0.0-alpha.1"), unlist: true); break; case PackageType.SemVer2Prerel: packageToPrepare = new PackageToPrepare(Package.Create(id, SemVer2PrerelVersion)); break; case PackageType.SemVer2PrerelRelisted: packageToPrepare = new PackageToPrepare(Package.Create(id, "1.0.0-alpha.1"), unlist: true); break; case PackageType.SemVer1StableUnlisted: packageToPrepare = new PackageToPrepare( Package.Create(id, "1.0.0"), unlist: true); break; case PackageType.Signed: packageToPrepare = new PackageToPrepare(Package.SignedPackage()); break; case PackageType.SymbolsPackage: return(await PrepareSymbolsPackageAsync(id, "1.0.0", logger)); case PackageType.SemVer1Stable: case PackageType.FullValidation: default: packageToPrepare = new PackageToPrepare(Package.Create(id, "1.0.0")); break; } packagesToPrepare.Add(packageToPrepare); return(packagesToPrepare); }