From 8740bc2b69e2d5f335d31088dd02e27424d9d812 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Tue, 17 Dec 2024 14:30:52 +1100 Subject: [PATCH 01/34] Use Library --- build/Build.cs | 2 +- ...i.ConsolidateCalamariPackages.Tests.csproj | 1 + ...Tests.AndThenTheIndexShouldBe.approved.txt | 16 +++- .../IntegrationTests.cs | 78 ++++++++++++++++++- ...alamari.ConsolidateCalamariPackages.csproj | 4 + .../CalamariFlavourPackageReference.cs | 3 +- .../CalamariPackageReference.cs | 3 +- .../ConsolidatedPackageCreator.cs | 1 + .../SashimiPackageReference.cs | 3 +- .../SourceFile.cs | 5 ++ .../ConsolidatedPackage.cs | 60 ++++++++++++++ .../ConsolidatedPackageFactory.cs | 16 ++++ .../ConsolidatedPackageIndex.cs | 42 ++++++++++ .../ConsolidatedPackageIndexLoader.cs | 33 ++++++++ .../IConsolidatedPackageStreamProvider.cs | 9 +++ ...Calamari.ConsolidatedPackagesCommon.csproj | 15 ++++ .../ConsolidatedPackage.cs | 59 ++++++++++++++ .../ConsolidatedPackageFactory.cs | 17 ++++ .../ConsolidatedPackageIndex.cs | 21 +++-- .../ConsolidatedPackageIndexLoader.cs | 33 ++++++++ .../FileBasedStreamProvider.cs | 16 ++++ .../IConsolidatedPackageStreamProvider.cs | 9 +++ ...ouldFailIfAzureRmIsDeprecated.approved.txt | 15 ++++ source/Calamari.sln | 11 ++- 24 files changed, 454 insertions(+), 18 deletions(-) create mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs create mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs create mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs create mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs create mode 100644 source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs create mode 100644 source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj create mode 100644 source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs create mode 100644 source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs rename source/{Calamari.ConsolidateCalamariPackages => Calamari.ConsolidatedPackagesCommon}/ConsolidatedPackageIndex.cs (59%) create mode 100644 source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs create mode 100644 source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs create mode 100644 source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs create mode 100644 source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt diff --git a/build/Build.cs b/build/Build.cs index 960a2286d..af4f59d49 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -718,4 +718,4 @@ static List GetCalamariFlavours() : MigratedCalamariFlavours.Flavours; } } -} \ No newline at end of file +} diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj index 6f13415a1..1f17d5f2b 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj @@ -26,6 +26,7 @@ + diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt index 3f737d0a4..a6c8cd5e2 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt @@ -1869,5 +1869,19 @@ ] } } - } + }, + "PackageVersions": [ + { + "Item1": "Calamari", + "Item2": "12.0.2" + }, + { + "Item1": "Calamari.Cloud", + "Item2": "12.0.2" + }, + { + "Item1": "Calamari.Terraform", + "Item2": "0.1.7-enh-packcalamari0002" + } + ] } \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 373e51270..4dcef7316 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -6,19 +6,23 @@ using System.Linq; using System.Text.RegularExpressions; using Assent; +using Calamari.ConsolidatedPackagesCommon; using FluentAssertions; using NSubstitute; using NuGet.Packaging; using NUnit.Framework; using Serilog; +using SharpCompress.Writers; +using SharpCompress.Writers.Zip; using TestStack.BDDfy; +using CompressionLevel = SharpCompress.Compressors.Deflate.CompressionLevel; namespace Calamari.ConsolidateCalamariPackages.Tests { [TestFixture] public class IntegrationTests { - readonly Assent.Configuration assentConfiguration = new Assent.Configuration().UsingSanitiser(s => Sanitise4PartVersions(SanitiseHashes(s))); + readonly Assent.Configuration assentConfiguration = new Assent.Configuration().UsingSanitiser(s => Sanitise4PartVersions(SanitiseFilenamesInIndex(s))); static readonly string TestPackagesDirectory = "../../../testPackages"; private string temp; @@ -85,7 +89,7 @@ public void AndThenThePackageIsCreated() public void AndThenThePackageContentsShouldBe() { using (var zip = ZipFile.Open(expectedZip, ZipArchiveMode.Read)) - this.Assent(string.Join("\r\n", zip.Entries.Select(e => SanitiseHashes(e.FullName)).OrderBy(k => k)), assentConfiguration); + this.Assent(string.Join("\r\n", zip.Entries.Select(e => SanitiseHashesInPackageList(e.FullName)).OrderBy(k => k)), assentConfiguration); } public void AndThenTheIndexShouldBe() @@ -96,8 +100,74 @@ public void AndThenTheIndexShouldBe() this.Assent(sr.ReadToEnd(), assentConfiguration); } - private static string SanitiseHashes(string s) + public void AndTheRegeneratedPackageShouldBeIdenticalToInputs() + { + var streamProvider = new FileBasedStreamProvider(expectedZip); + var factory = new ConsolidatedPackageFactory(); + var consolidatedPackage = factory.LoadFrom(streamProvider); + + // Sashimi is a multi-arch package - atm this test can't unpack it cleanly enough. + foreach (var reference in packageReferences.Where(pr => !pr.Name.Contains("Sashimi"))) + { + var (flavour, package) = ExtractFlavourAndPackage(reference); + var outputFilename = Path.Combine(temp, $"{package}_output.zip"); + using (var outputStream = File.OpenWrite(outputFilename)) + { + var dest = new ZipWriter(outputStream, new ZipWriterOptions(SharpCompress.Common.CompressionType.Deflate) { DeflateCompressionLevel = CompressionLevel.BestSpeed }); + foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, package)) + { + dest.Write(entry.destinationEntry, entry.sourceStream); + } + } + + ZipFilesShouldBeIdentical(reference.PackagePath, outputFilename); + } + } + + void ZipFilesShouldBeIdentical(string inputFilename, string regeneratedZipFilename) + { + using (var inputZip = ZipFile.OpenRead(inputFilename)) + { + var sourceEntries = inputZip.Entries.Where(e => + !e.FullName.StartsWith("_rels") && !e.FullName.StartsWith("package") && !e.FullName.Equals("[Content_Types].xml") + ) + .ToList(); + using (var regenZip = ZipFile.OpenRead(regeneratedZipFilename)) + { + //NOTE: some files appear multiple times in the regenerated zip file + var regenNames = regenZip.Entries.Select(e => e.FullName).Distinct().ToList(); + var sourceNames = sourceEntries.Select(e => e.FullName).ToList(); + var missingNames = sourceNames.Where(s => !regenNames.Contains(s)).ToList(); + var addedNames = regenNames.Where(s => !sourceNames.Contains(s)).ToList(); + sourceNames.Should().BeEquivalentTo(regenNames); + } + } + } + + static (string flavour, string packageId) ExtractFlavourAndPackage(BuildPackageReference packReference) + { + if (IsNetfx(packReference.Name)) + { + return (packReference.Name, $"{packReference.Name}.netfx"); + } + + var packageName = packReference.Name; + var flavour = packageName.Split(".")[0]; + + return (flavour, packReference.Name); + } + + static bool IsNetfx(string packageId) + { + return packageId.Equals("Calamari") || packageId.Equals("Calamari.Cloud"); + } + + private static string SanitiseFilenamesInIndex(string s) => Regex.Replace(s, "[a-z0-9]{32}", ""); + + private static string SanitiseHashesInPackageList(string s) + => Regex.Replace(s, "[a-z0-9]{32}", ""); + private static string Sanitise4PartVersions(string s) => Regex.Replace(s, @"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+", ""); @@ -106,4 +176,4 @@ private static string Sanitise4PartVersions(string s) public void Execute() => this.BDDfy(); } -} \ No newline at end of file +} diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index 562be8cc9..d2902c0fd 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -10,4 +10,8 @@ + + + + diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs index ce834f4bb..6ecb139a8 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs @@ -39,7 +39,8 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = parts.Last() }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs index b1f90c3c8..898c27050 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs @@ -48,7 +48,8 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = true, FullNameInDestinationArchive = entry.FullName, FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = entry.FullName.Split("/").Last() }) .ToArray(); } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index b830e8a72..f595e162c 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,6 +4,7 @@ using System.IO.Compression; using System.Linq; using System.Text; +using Calamari.ConsolidatedPackagesCommon; using Newtonsoft.Json; namespace Calamari.ConsolidateCalamariPackages diff --git a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs index a325d38de..e5f532a96 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs @@ -65,7 +65,8 @@ IReadOnlyList ReadSashimiPackagedZip(string toolZipPath) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = parts.Last() }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs index 6c8b895db..bb0bee2c9 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs @@ -12,5 +12,10 @@ class SourceFile public string FullNameInDestinationArchive { get; set; } public string FullNameInSourceArchive { get; set; } public string Hash { get; set; } + + public string FileName { get; set; } + public string EntryNameInConsolidationArchive() { + return $"{Hash}/{FileName}"; + } } } \ No newline at end of file diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs new file mode 100644 index 000000000..e35195ebb --- /dev/null +++ b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs @@ -0,0 +1,60 @@ +using System.Collections.Generic; +using System.IO; +using SharpCompress.Archives.Zip; + +namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable +{ + public interface IConsolidatedPackage + { + public IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform); + + public IEnumerable<(string package, string version)> GetAvailablePackages(); + + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); + + } + + public class ConsolidatedPackage : IConsolidatedPackage + { + readonly ConsolidatedPackageIndex index; + readonly IConsolidatedPackageStreamProvider packageStreamProvider; + + public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) + { + this.packageStreamProvider = packageStreamProvider; + this.index = index; + } + + public IEnumerable<(string package, string version)> GetAvailablePackages() + { + return index.Packages.Values.Select(v => (v.PackageId, v.Version)); + } + + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); + + public IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) + { + var entry = index.GetEntryFromIndex(calamariFlavour); + + if (!entry.PlatformHashes.TryGetValue(platform, out var hashes)) + { + throw new Exception($"Could not find platform {platform} for {calamariFlavour}"); + } + + using var sourceStream = packageStreamProvider.OpenStream(); + using var source = ZipArchive.Open(sourceStream); + foreach (var hash in hashes) + { + foreach (var sourceEntry in source.Entries) + { + if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; + + using (var sourceEntryStream = sourceEntry.OpenEntryStream()) + { + yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); + } + } + } + } + } +} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs new file mode 100644 index 000000000..81da21794 --- /dev/null +++ b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs @@ -0,0 +1,16 @@ +namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable +{ + public class ConsolidatedPackageFactory + { + readonly ConsolidatedPackageIndexLoader indexLoader = new(); + + public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) + { + using (var stream = streamProvider.OpenStream()) + { + var index = indexLoader.Load(stream); + return new ConsolidatedPackage(streamProvider, index); + } + } + } +} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs new file mode 100644 index 000000000..c7c038180 --- /dev/null +++ b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; + +namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable +{ + public class ConsolidatedPackageIndex + { + public ConsolidatedPackageIndex(Dictionary packages) + { + Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); + } + + public IReadOnlyDictionary Packages { get; init; } + public IEnumerable<(string package, string version)> PackageVersions => Packages.Values.Select(v => (v.PackageId, v.Version)); + + public Package GetEntryFromIndex(string id) + { + if (!Packages.TryGetValue(id, out var indexPackage)) + { + throw new Exception($"Package {id} not found in the consolidated package"); + } + + return indexPackage; + } + + public class Package + { + public Package(string packageId, string version, bool isNupkg, Dictionary platformHashes) + { + PackageId = packageId; + Version = version; + IsNupkg = isNupkg; + PlatformHashes = new Dictionary(platformHashes, StringComparer.OrdinalIgnoreCase); + } + + public string PackageId { get; } + public string Version { get; } + public bool IsNupkg { get; } + public Dictionary PlatformHashes { get; } + } + } +} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs new file mode 100644 index 000000000..d836e33a0 --- /dev/null +++ b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs @@ -0,0 +1,33 @@ +using System; +using System.IO; +using Newtonsoft.Json; +using SharpCompress.Archives.Zip; + +namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable +{ + public class ConsolidatedPackageIndexLoader + { + public ConsolidatedPackageIndex Load(Stream zipStream) + { + using var zip = ZipArchive.Open(zipStream); + var entry = zip.Entries.First(e => e.Key == "index.json"); + if (entry == null) + { + throw new Exception($"index.json not found in supplied stream."); + } + + using var entryStream = entry.OpenEntryStream(); + return From(entryStream); + } + + ConsolidatedPackageIndex From(Stream inputStream) + { + using (var sr = new StreamReader(inputStream)) + { +#pragma warning disable CS8603 // Possible null reference return + return JsonConvert.DeserializeObject(sr.ReadToEnd()); +#pragma warning restore CS8603 + } + } + } +} diff --git a/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs new file mode 100644 index 000000000..3001b9366 --- /dev/null +++ b/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs @@ -0,0 +1,9 @@ +using System.IO; + +namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable +{ + public interface IConsolidatedPackageStreamProvider + { + Stream OpenStream(); + } +} diff --git a/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj b/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj new file mode 100644 index 000000000..04e86a9e1 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj @@ -0,0 +1,15 @@ + + + + net6.0 + enable + enable + default + + + + + + + + diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs new file mode 100644 index 000000000..779f05192 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs @@ -0,0 +1,59 @@ +using System; +using SharpCompress.Archives.Zip; + +namespace Calamari.ConsolidatedPackagesCommon +{ + public interface IConsolidatedPackage + { + public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform); + + public IEnumerable<(string package, string version)> GetAvailablePackages(); + + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); + + } + + public class ConsolidatedPackage : IConsolidatedPackage + { + readonly ConsolidatedPackageIndex index; + readonly IConsolidatedPackageStreamProvider packageStreamProvider; + + public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) + { + this.packageStreamProvider = packageStreamProvider; + this.index = index; + } + + public IEnumerable<(string package, string version)> GetAvailablePackages() + { + return index.Packages.Values.Select(v => (v.PackageId, v.Version)); + } + + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); + + public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) + { + var entry = index.GetEntryFromIndex(calamariFlavour); + + if (!entry.PlatformHashes.TryGetValue(platform, out var hashes)) + { + throw new Exception($"Could not find platform {platform} for {calamariFlavour}"); + } + + using var sourceStream = packageStreamProvider.OpenStream(); + using var source = ZipArchive.Open(sourceStream); + foreach (var hash in hashes) + { + foreach (var sourceEntry in source.Entries) + { + if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; + + using (var sourceEntryStream = sourceEntry.OpenEntryStream()) + { + yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); + } + } + } + } + } +} diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs new file mode 100644 index 000000000..8870bcb60 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs @@ -0,0 +1,17 @@ + +namespace Calamari.ConsolidatedPackagesCommon +{ + public class ConsolidatedPackageFactory + { + readonly ConsolidatedPackageIndexLoader indexLoader = new(); + + public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) + { + using (var stream = streamProvider.OpenStream()) + { + var index = indexLoader.Load(stream); + return new ConsolidatedPackage(streamProvider, index); + } + } + } +} diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs similarity index 59% rename from source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs rename to source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs index c3d367726..679b86ac1 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs @@ -1,16 +1,27 @@ -using System; +using System; using System.Collections.Generic; -namespace Calamari.ConsolidateCalamariPackages +namespace Calamari.ConsolidatedPackagesCommon { public class ConsolidatedPackageIndex { public ConsolidatedPackageIndex(Dictionary packages) { - Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); + Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); } - public IReadOnlyDictionary Packages { get; } + public IReadOnlyDictionary Packages { get; init; } + public IEnumerable<(string package, string version)> PackageVersions => Packages.Values.Select(v => (v.PackageId, v.Version)); + + public Package GetEntryFromIndex(string id) + { + if (!Packages.TryGetValue(id, out var indexPackage)) + { + throw new Exception($"Package {id} not found in the consolidated package"); + } + + return indexPackage; + } public class Package { @@ -28,4 +39,4 @@ public Package(string packageId, string version, bool isNupkg, Dictionary PlatformHashes { get; } } } -} \ No newline at end of file +} diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs new file mode 100644 index 000000000..4a7e8e884 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs @@ -0,0 +1,33 @@ +using System; +using System.IO; +using Newtonsoft.Json; +using SharpCompress.Archives.Zip; + +namespace Calamari.ConsolidatedPackagesCommon +{ + public class ConsolidatedPackageIndexLoader + { + public ConsolidatedPackageIndex Load(Stream zipStream) + { + using var zip = ZipArchive.Open(zipStream); + var entry = zip.Entries.First(e => e.Key == "index.json"); + if (entry == null) + { + throw new Exception($"index.json not found in supplied stream."); + } + + using var entryStream = entry.OpenEntryStream(); + return From(entryStream); + } + + ConsolidatedPackageIndex From(Stream inputStream) + { + using (var sr = new StreamReader(inputStream)) + { +#pragma warning disable CS8603 // Possible null reference return + return JsonConvert.DeserializeObject(sr.ReadToEnd()); +#pragma warning restore CS8603 + } + } + } +} diff --git a/source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs b/source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs new file mode 100644 index 000000000..81985dc90 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs @@ -0,0 +1,16 @@ +namespace Calamari.ConsolidatedPackagesCommon; + +public class FileBasedStreamProvider : IConsolidatedPackageStreamProvider +{ + readonly string filename; + + public FileBasedStreamProvider(string filename) + { + this.filename = filename; + } + + public Stream OpenStream() + { + return File.OpenRead(filename); + } +} \ No newline at end of file diff --git a/source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs new file mode 100644 index 000000000..b9f338d39 --- /dev/null +++ b/source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs @@ -0,0 +1,9 @@ +using System.IO; + +namespace Calamari.ConsolidatedPackagesCommon +{ + public interface IConsolidatedPackageStreamProvider + { + Stream OpenStream(); + } +} diff --git a/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt b/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt new file mode 100644 index 000000000..ab8c9bbc3 --- /dev/null +++ b/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt @@ -0,0 +1,15 @@ +[Verbose] "kubectl" version --client --output=yaml --request-timeout=1m +[Verbose] Found kubectl and successfully verified it can be executed. +[Verbose] "chmod" u=rw,g=,o= "kubectl-octo.yml" +[Verbose] Temporary kubectl config set to kubectl-octo.yml +[Verbose] "az" cloud set --name AzureCloud +[Verbose] Azure CLI: Authenticating with Service Principal +[Verbose] "az" login --service-principal --username="azClientId" --password="azPassword" --tenant="azTenantId" +[Verbose] Azure CLI: Setting active subscription to azSubscriptionId +[Verbose] "az" account set --subscription azSubscriptionId +[Info] Successfully authenticated with the Azure CLI +[Info] Creating kubectl context to AKS Cluster in resource group clusterRG called asCluster (namespace calamari-testing) +[Verbose] "az" aks get-credentials --resource-group clusterRG --name asCluster --file "kubectl-octo.yml" --overwrite-existing +[Verbose] "kubectl" config set-context asCluster --namespace=calamari-testing --request-timeout=1m +[Verbose] "kubelogin" convert-kubeconfig -l azurecli --kubeconfig "kubectl-octo.yml" +[Verbose] "kubectl" get namespace calamari-testing --request-timeout=1m diff --git a/source/Calamari.sln b/source/Calamari.sln index 804d8242e..8535694ff 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -78,6 +78,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting", "Calam EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting.Tests", "Calamari.Scripting.Tests\Calamari.Scripting.Tests.csproj", "{D8DEC40C-948F-4806-AE87-1A7502E41A06}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.ConsolidatedPackagesCommon", "Calamari.ConsolidatedPackagesCommon\Calamari.ConsolidatedPackagesCommon.csproj", "{EA1CA436-1BD7-410A-878C-14A0A58AF6AB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -114,6 +116,7 @@ Global {95A4DBA0-EA92-4FD5-A92E-4DFDB4FC4493}.Release|Any CPU.Build.0 = Release|Any CPU {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Debug|Any CPU.Build.0 = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Debug|Any CPU.Build.0 = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -142,10 +145,6 @@ Global {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Debug|Any CPU.Build.0 = Debug|Any CPU {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Release|Any CPU.Build.0 = Release|Any CPU - {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Release|Any CPU.Build.0 = Release|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Debug|Any CPU.Build.0 = Debug|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -202,6 +201,10 @@ Global {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Debug|Any CPU.Build.0 = Debug|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.Build.0 = Release|Any CPU + {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From f1a576820c89e4908bb6ef535749219294433699 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 15 Jan 2025 11:33:14 +1100 Subject: [PATCH 02/34] clean up cherry-pick --- build/Build.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Build.cs b/build/Build.cs index af4f59d49..960a2286d 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -718,4 +718,4 @@ static List GetCalamariFlavours() : MigratedCalamariFlavours.Flavours; } } -} +} \ No newline at end of file From 62d1377002abde4d52db41acd20eac0a6430530e Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 15 Jan 2025 11:34:28 +1100 Subject: [PATCH 03/34] revert some files not needed --- .../CalamariFlavourPackageReference.cs | 3 +-- .../CalamariPackageReference.cs | 3 +-- .../ConsolidatedPackageCreator.cs | 1 - .../SashimiPackageReference.cs | 3 +-- source/Calamari.ConsolidateCalamariPackages/SourceFile.cs | 5 ----- 5 files changed, 3 insertions(+), 12 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs index 6ecb139a8..ce834f4bb 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs @@ -39,8 +39,7 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry), - FileName = parts.Last() + Hash = hasher.Hash(entry) }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs index 898c27050..b1f90c3c8 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs @@ -48,8 +48,7 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = true, FullNameInDestinationArchive = entry.FullName, FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry), - FileName = entry.FullName.Split("/").Last() + Hash = hasher.Hash(entry) }) .ToArray(); } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index f595e162c..b830e8a72 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,7 +4,6 @@ using System.IO.Compression; using System.Linq; using System.Text; -using Calamari.ConsolidatedPackagesCommon; using Newtonsoft.Json; namespace Calamari.ConsolidateCalamariPackages diff --git a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs index e5f532a96..a325d38de 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs @@ -65,8 +65,7 @@ IReadOnlyList ReadSashimiPackagedZip(string toolZipPath) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry), - FileName = parts.Last() + Hash = hasher.Hash(entry) }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs index bb0bee2c9..6c8b895db 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs @@ -12,10 +12,5 @@ class SourceFile public string FullNameInDestinationArchive { get; set; } public string FullNameInSourceArchive { get; set; } public string Hash { get; set; } - - public string FileName { get; set; } - public string EntryNameInConsolidationArchive() { - return $"{Hash}/{FileName}"; - } } } \ No newline at end of file From e8c3b6fb4880fefb610d8c412b8d91df302b0893 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 15 Jan 2025 11:48:06 +1100 Subject: [PATCH 04/34] fixing the tests, slowly --- ...mari.ConsolidateCalamariPackages.Tests.csproj | 1 + ...ionTests.AndThenTheIndexShouldBe.approved.txt | 16 +--------------- .../IntegrationTests.cs | 11 ++++++----- .../ConsolidatedPackageCreator.cs | 1 + .../ConsolidatedPackageIndex.cs | 2 +- 5 files changed, 10 insertions(+), 21 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj index 1f17d5f2b..08b386efc 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj @@ -13,6 +13,7 @@ + diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt index a6c8cd5e2..3f737d0a4 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt @@ -1869,19 +1869,5 @@ ] } } - }, - "PackageVersions": [ - { - "Item1": "Calamari", - "Item2": "12.0.2" - }, - { - "Item1": "Calamari.Cloud", - "Item2": "12.0.2" - }, - { - "Item1": "Calamari.Terraform", - "Item2": "0.1.7-enh-packcalamari0002" - } - ] + } } \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 4dcef7316..6e5e2cb44 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -109,12 +109,12 @@ public void AndTheRegeneratedPackageShouldBeIdenticalToInputs() // Sashimi is a multi-arch package - atm this test can't unpack it cleanly enough. foreach (var reference in packageReferences.Where(pr => !pr.Name.Contains("Sashimi"))) { - var (flavour, package) = ExtractFlavourAndPackage(reference); - var outputFilename = Path.Combine(temp, $"{package}_output.zip"); + var (flavour, platform) = ExtractFlavourAndPlatform(reference); + var outputFilename = Path.Combine(temp, $"{flavour}_{platform}_output.zip"); using (var outputStream = File.OpenWrite(outputFilename)) { var dest = new ZipWriter(outputStream, new ZipWriterOptions(SharpCompress.Common.CompressionType.Deflate) { DeflateCompressionLevel = CompressionLevel.BestSpeed }); - foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, package)) + foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, platform)) { dest.Write(entry.destinationEntry, entry.sourceStream); } @@ -144,15 +144,16 @@ void ZipFilesShouldBeIdentical(string inputFilename, string regeneratedZipFilena } } - static (string flavour, string packageId) ExtractFlavourAndPackage(BuildPackageReference packReference) + static (string flavour, string platform) ExtractFlavourAndPlatform(BuildPackageReference packReference) { if (IsNetfx(packReference.Name)) { - return (packReference.Name, $"{packReference.Name}.netfx"); + return (packReference.Name, "netfx"); } var packageName = packReference.Name; var flavour = packageName.Split(".")[0]; + var platform = packageName.Substring(flavour.Length).Trim('.'); return (flavour, packReference.Name); } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index b830e8a72..f595e162c 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,6 +4,7 @@ using System.IO.Compression; using System.Linq; using System.Text; +using Calamari.ConsolidatedPackagesCommon; using Newtonsoft.Json; namespace Calamari.ConsolidateCalamariPackages diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs index 679b86ac1..9bee018d7 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs @@ -11,7 +11,7 @@ public ConsolidatedPackageIndex(Dictionary packages) } public IReadOnlyDictionary Packages { get; init; } - public IEnumerable<(string package, string version)> PackageVersions => Packages.Values.Select(v => (v.PackageId, v.Version)); + public IEnumerable<(string package, string version)> GetPackageVersions() => Packages.Values.Select(v => (v.PackageId, v.Version)); public Package GetEntryFromIndex(string id) { From c7a1932a8d12827865e646eab1713f38f3a47650 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 15 Jan 2025 12:05:42 +1100 Subject: [PATCH 05/34] remove cruft --- .../ConsolidatedPackage.cs | 60 ------------------- .../ConsolidatedPackageFactory.cs | 16 ----- .../ConsolidatedPackageIndex.cs | 42 ------------- .../ConsolidatedPackageIndexLoader.cs | 33 ---------- .../IConsolidatedPackageStreamProvider.cs | 9 --- 5 files changed, 160 deletions(-) delete mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs delete mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs delete mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs delete mode 100644 source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs delete mode 100644 source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs deleted file mode 100644 index e35195ebb..000000000 --- a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackage.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System.Collections.Generic; -using System.IO; -using SharpCompress.Archives.Zip; - -namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable -{ - public interface IConsolidatedPackage - { - public IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform); - - public IEnumerable<(string package, string version)> GetAvailablePackages(); - - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); - - } - - public class ConsolidatedPackage : IConsolidatedPackage - { - readonly ConsolidatedPackageIndex index; - readonly IConsolidatedPackageStreamProvider packageStreamProvider; - - public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) - { - this.packageStreamProvider = packageStreamProvider; - this.index = index; - } - - public IEnumerable<(string package, string version)> GetAvailablePackages() - { - return index.Packages.Values.Select(v => (v.PackageId, v.Version)); - } - - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); - - public IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) - { - var entry = index.GetEntryFromIndex(calamariFlavour); - - if (!entry.PlatformHashes.TryGetValue(platform, out var hashes)) - { - throw new Exception($"Could not find platform {platform} for {calamariFlavour}"); - } - - using var sourceStream = packageStreamProvider.OpenStream(); - using var source = ZipArchive.Open(sourceStream); - foreach (var hash in hashes) - { - foreach (var sourceEntry in source.Entries) - { - if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; - - using (var sourceEntryStream = sourceEntry.OpenEntryStream()) - { - yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); - } - } - } - } - } -} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs deleted file mode 100644 index 81da21794..000000000 --- a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageFactory.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable -{ - public class ConsolidatedPackageFactory - { - readonly ConsolidatedPackageIndexLoader indexLoader = new(); - - public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) - { - using (var stream = streamProvider.OpenStream()) - { - var index = indexLoader.Load(stream); - return new ConsolidatedPackage(streamProvider, index); - } - } - } -} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs deleted file mode 100644 index c7c038180..000000000 --- a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndex.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable -{ - public class ConsolidatedPackageIndex - { - public ConsolidatedPackageIndex(Dictionary packages) - { - Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); - } - - public IReadOnlyDictionary Packages { get; init; } - public IEnumerable<(string package, string version)> PackageVersions => Packages.Values.Select(v => (v.PackageId, v.Version)); - - public Package GetEntryFromIndex(string id) - { - if (!Packages.TryGetValue(id, out var indexPackage)) - { - throw new Exception($"Package {id} not found in the consolidated package"); - } - - return indexPackage; - } - - public class Package - { - public Package(string packageId, string version, bool isNupkg, Dictionary platformHashes) - { - PackageId = packageId; - Version = version; - IsNupkg = isNupkg; - PlatformHashes = new Dictionary(platformHashes, StringComparer.OrdinalIgnoreCase); - } - - public string PackageId { get; } - public string Version { get; } - public bool IsNupkg { get; } - public Dictionary PlatformHashes { get; } - } - } -} diff --git a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs deleted file mode 100644 index d836e33a0..000000000 --- a/source/Calamari.ConsolidatedPackageCommon/ConsolidatedPackageIndexLoader.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.IO; -using Newtonsoft.Json; -using SharpCompress.Archives.Zip; - -namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable -{ - public class ConsolidatedPackageIndexLoader - { - public ConsolidatedPackageIndex Load(Stream zipStream) - { - using var zip = ZipArchive.Open(zipStream); - var entry = zip.Entries.First(e => e.Key == "index.json"); - if (entry == null) - { - throw new Exception($"index.json not found in supplied stream."); - } - - using var entryStream = entry.OpenEntryStream(); - return From(entryStream); - } - - ConsolidatedPackageIndex From(Stream inputStream) - { - using (var sr = new StreamReader(inputStream)) - { -#pragma warning disable CS8603 // Possible null reference return - return JsonConvert.DeserializeObject(sr.ReadToEnd()); -#pragma warning restore CS8603 - } - } - } -} diff --git a/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs deleted file mode 100644 index 3001b9366..000000000 --- a/source/Calamari.ConsolidatedPackageCommon/IConsolidatedPackageStreamProvider.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.IO; - -namespace Octopus.Server.Orchestration.Targets.Common.BundledPackages.Transferrable -{ - public interface IConsolidatedPackageStreamProvider - { - Stream OpenStream(); - } -} From 8f56bdb6cfc0f6975601b936e8c43f8e3180fbfb Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 15 Jan 2025 12:23:57 +1100 Subject: [PATCH 06/34] its finally passing --- .../IntegrationTests.cs | 10 ++++++---- .../ConsolidatedPackage.cs | 20 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 6e5e2cb44..ec08166cf 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -113,10 +113,12 @@ public void AndTheRegeneratedPackageShouldBeIdenticalToInputs() var outputFilename = Path.Combine(temp, $"{flavour}_{platform}_output.zip"); using (var outputStream = File.OpenWrite(outputFilename)) { - var dest = new ZipWriter(outputStream, new ZipWriterOptions(SharpCompress.Common.CompressionType.Deflate) { DeflateCompressionLevel = CompressionLevel.BestSpeed }); - foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, platform)) + using (var dest = new ZipWriter(outputStream, new ZipWriterOptions(SharpCompress.Common.CompressionType.Deflate) { DeflateCompressionLevel = CompressionLevel.BestSpeed, LeaveStreamOpen = false })) { - dest.Write(entry.destinationEntry, entry.sourceStream); + foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, platform)) + { + dest.Write(entry.destinationEntry, entry.sourceStream); + } } } @@ -155,7 +157,7 @@ void ZipFilesShouldBeIdentical(string inputFilename, string regeneratedZipFilena var flavour = packageName.Split(".")[0]; var platform = packageName.Substring(flavour.Length).Trim('.'); - return (flavour, packReference.Name); + return (flavour, platform); } static bool IsNetfx(string packageId) diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs index 779f05192..a868f6991 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs @@ -40,17 +40,21 @@ public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvi throw new Exception($"Could not find platform {platform} for {calamariFlavour}"); } - using var sourceStream = packageStreamProvider.OpenStream(); - using var source = ZipArchive.Open(sourceStream); - foreach (var hash in hashes) + using (var sourceStream = packageStreamProvider.OpenStream()) { - foreach (var sourceEntry in source.Entries) + using (var source = ZipArchive.Open(sourceStream)) { - if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; - - using (var sourceEntryStream = sourceEntry.OpenEntryStream()) + foreach (var hash in hashes) { - yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); + foreach (var sourceEntry in source.Entries) + { + if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; + + using (var sourceEntryStream = sourceEntry.OpenEntryStream()) + { + yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); + } + } } } } From d34754d87301e52d881ff91f6240de9a5d386ca1 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 07:55:33 +1100 Subject: [PATCH 07/34] Pulled in the changes required --- .../Calamari.Common/CalamariFlavourProgram.cs | 2 +- .../CalamariFlavourPackageReference.cs | 3 +- .../CalamariPackageReference.cs | 3 +- .../ConsolidatedPackageCreator.cs | 28 ++++++++----------- .../SashimiPackageReference.cs | 3 +- .../SourceFile.cs | 4 +++ .../ConsolidatedPackage.cs | 16 +++++------ .../ConsolidatedPackageIndex.cs | 8 ++++-- 8 files changed, 34 insertions(+), 33 deletions(-) diff --git a/source/Calamari.Common/CalamariFlavourProgram.cs b/source/Calamari.Common/CalamariFlavourProgram.cs index 3d83f44ce..d6b50122b 100644 --- a/source/Calamari.Common/CalamariFlavourProgram.cs +++ b/source/Calamari.Common/CalamariFlavourProgram.cs @@ -81,7 +81,7 @@ protected virtual int Run(string[] args) } catch (Exception ex) { - return ConsoleFormatter.PrintError(Log, ex); + return ConsoleFormatter.PrintError(ConsoleLog.Instance, ex); } } diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs index ce834f4bb..ad2eeca7d 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs @@ -39,7 +39,8 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = parts.Last(), }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs index b1f90c3c8..0e03cd75a 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs @@ -48,7 +48,8 @@ public IReadOnlyList GetSourceFiles(ILogger log) IsNupkg = true, FullNameInDestinationArchive = entry.FullName, FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = entry.FullName.Split("/").Last(), }) .ToArray(); } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index f595e162c..2870a0d4b 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -25,39 +25,33 @@ public static void Create(IEnumerable sourceFiles, string destinatio private static void WriteUniqueFilesToZip(IEnumerable sourceFiles, ZipArchive zip) { + // This acts as a 'Distinct' - there may be multiples of a given file which are binary-identical + // therefore we only need to track ONE (aka the first) of these files during packing. var uniqueFiles = sourceFiles - .GroupBy(sourceFile => new {sourceFile.FullNameInDestinationArchive, sourceFile.Hash}) - .Select(g => new - { - g.Key.FullNameInDestinationArchive, - g.Key.Hash, - g.First().FullNameInSourceArchive, - g.First().ArchivePath - }); + .DistinctBy(sourceFile => sourceFile.EntryNameInConsolidationArchive()); foreach (var groupedBySourceArchive in uniqueFiles.GroupBy(f => f.ArchivePath)) { using (var sourceZip = ZipFile.OpenRead(groupedBySourceArchive.Key)) foreach (var uniqueFile in groupedBySourceArchive) { - var entryName = Path.Combine(uniqueFile.Hash, uniqueFile.FullNameInDestinationArchive); - var entry = zip.CreateEntry(entryName, CompressionLevel.Fastest); - + var entry = zip.CreateEntry(uniqueFile.EntryNameInConsolidationArchive(), CompressionLevel.Fastest); using (var destStream = entry.Open()) using (var sourceStream = sourceZip.Entries.First(e => e.FullName == uniqueFile.FullNameInSourceArchive).Open()) sourceStream.CopyTo(destStream); } } } - + private static void WriteIndexTo(Stream stream, IEnumerable sourceFiles) { - Dictionary GroupByPlatform(IEnumerable filesForPackage) + // SHould break out entryName to a function - make first class + Dictionary GroupByPlatform(IEnumerable filesForPackage) => filesForPackage - .GroupBy(f => f.Platform) - .ToDictionary( - g => g.Key, - g => g.Select(f => f.Hash).OrderBy(h => h).ToArray() + .GroupBy(f => f.Platform) + .ToDictionary( + g => g.Key, + g => g.Select(f => new FileTransfer(f.EntryNameInConsolidationArchive(), f.FullNameInDestinationArchive)).ToArray() ); var index = new ConsolidatedPackageIndex( diff --git a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs index a325d38de..e5f532a96 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs @@ -65,7 +65,8 @@ IReadOnlyList ReadSashimiPackagedZip(string toolZipPath) IsNupkg = false, FullNameInDestinationArchive = string.Join("/", parts.Skip(1)), FullNameInSourceArchive = entry.FullName, - Hash = hasher.Hash(entry) + Hash = hasher.Hash(entry), + FileName = parts.Last() }; }) .ToArray(); diff --git a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs index 6c8b895db..a2126a239 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs @@ -12,5 +12,9 @@ class SourceFile public string FullNameInDestinationArchive { get; set; } public string FullNameInSourceArchive { get; set; } public string Hash { get; set; } + public string FileName { get; set; } + public string EntryNameInConsolidationArchive() { + return $"{Hash}/{FileName}"; + } } } \ No newline at end of file diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs index a868f6991..f186a4c78 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs @@ -35,7 +35,7 @@ public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvi { var entry = index.GetEntryFromIndex(calamariFlavour); - if (!entry.PlatformHashes.TryGetValue(platform, out var hashes)) + if (!entry.PlatformFiles.TryGetValue(platform, out var platformFiles)) { throw new Exception($"Could not find platform {platform} for {calamariFlavour}"); } @@ -44,16 +44,14 @@ public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvi { using (var source = ZipArchive.Open(sourceStream)) { - foreach (var hash in hashes) + foreach (var fileTransfer in platformFiles) { - foreach (var sourceEntry in source.Entries) + var sourceEntry = source.Entries.FirstOrDefault(e => e.Key is not null && e.Key.Equals(fileTransfer.Source)); + if(sourceEntry is null) continue; + + using (var sourceEntryStream = sourceEntry.OpenEntryStream()) { - if (sourceEntry.Key == null || !sourceEntry.Key.StartsWith(hash)) continue; - - using (var sourceEntryStream = sourceEntry.OpenEntryStream()) - { - yield return (sourceEntry.Key.Substring(hash.Length + 1), sourceEntry.Size, sourceEntryStream); - } + yield return (fileTransfer.Destination, sourceEntry.Size, sourceEntryStream); } } } diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs index 9bee018d7..067e607ba 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs @@ -25,18 +25,20 @@ public Package GetEntryFromIndex(string id) public class Package { - public Package(string packageId, string version, bool isNupkg, Dictionary platformHashes) + public Package(string packageId, string version, bool isNupkg, Dictionary platformFiles) { PackageId = packageId; Version = version; IsNupkg = isNupkg; - PlatformHashes = new Dictionary(platformHashes, StringComparer.OrdinalIgnoreCase); + PlatformFiles = new Dictionary(platformFiles, StringComparer.OrdinalIgnoreCase); } public string PackageId { get; } public string Version { get; } public bool IsNupkg { get; } - public Dictionary PlatformHashes { get; } + public Dictionary PlatformFiles { get; } } } + + public record FileTransfer(string Source, string Destination); } From 3bda1fcbdc5d4021d7d8cfc680539e012e9ef139 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 08:00:42 +1100 Subject: [PATCH 08/34] working with library --- ...Tests.AndThenTheIndexShouldBe.approved.txt | 9156 +++++++++++++---- ...henThePackageContentsShouldBe.approved.txt | 2861 +++-- 2 files changed, 8753 insertions(+), 3264 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt index 3f737d0a4..7ce285ed7 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenTheIndexShouldBe.approved.txt @@ -4,1055 +4,4178 @@ "PackageId": "Calamari", "Version": "12.0.2", "IsNupkg": true, - "PlatformHashes": { + "PlatformFiles": { "netfx": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.nuspec", + "Destination": "Calamari.nuspec" + }, + { + "Source": "/AlphaFS.dll", + "Destination": "AlphaFS.dll" + }, + { + "Source": "/Autofac.dll", + "Destination": "Autofac.dll" + }, + { + "Source": "/BouncyCastle.Crypto.dll", + "Destination": "BouncyCastle.Crypto.dll" + }, + { + "Source": "/Calamari.exe", + "Destination": "Calamari.exe" + }, + { + "Source": "/Calamari.exe.config", + "Destination": "Calamari.exe.config" + }, + { + "Source": "/Calamari.exe.manifest", + "Destination": "Calamari.exe.manifest" + }, + { + "Source": "/Calamari.pdb", + "Destination": "Calamari.pdb" + }, + { + "Source": "/Calamari.Shared.dll", + "Destination": "Calamari.Shared.dll" + }, + { + "Source": "/Calamari.Shared.pdb", + "Destination": "Calamari.Shared.pdb" + }, + { + "Source": "/javatest.jar", + "Destination": "javatest.jar" + }, + { + "Source": "/Markdig.dll", + "Destination": "Markdig.dll" + }, + { + "Source": "/MarkdownSharp.dll", + "Destination": "MarkdownSharp.dll" + }, + { + "Source": "/Microsoft.Web.Administration.dll", + "Destination": "Microsoft.Web.Administration.dll" + }, + { + "Source": "/Microsoft.Web.Delegation.dll", + "Destination": "Microsoft.Web.Delegation.dll" + }, + { + "Source": "/Microsoft.Web.Deployment.dll", + "Destination": "Microsoft.Web.Deployment.dll" + }, + { + "Source": "/Microsoft.Web.Deployment.Tracing.dll", + "Destination": "Microsoft.Web.Deployment.Tracing.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "NuGet.Core.dll" + }, + { + "Source": "/Octodiff.exe", + "Destination": "Octodiff.exe" + }, + { + "Source": "/Octopus.CoreUtilities.dll", + "Destination": "Octopus.CoreUtilities.dll" + }, + { + "Source": "/Octopus.Versioning.dll", + "Destination": "Octopus.Versioning.dll" + }, + { + "Source": "/Octostache.dll", + "Destination": "Octostache.dll" + }, + { + "Source": "/SharpCompress.dll", + "Destination": "SharpCompress.dll" + }, + { + "Source": "/Sprache.dll", + "Destination": "Sprache.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.Http.Extensions.dll", + "Destination": "System.Net.Http.Extensions.dll" + }, + { + "Source": "/System.Net.Http.Primitives.dll", + "Destination": "System.Net.Http.Primitives.dll" + }, + { + "Source": "/System.Net.Http.WebRequest.dll", + "Destination": "System.Net.Http.WebRequest.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/YamlDotNet.dll", + "Destination": "YamlDotNet.dll" + }, + { + "Source": "/fsc.exe", + "Destination": "FSharp/fsc.exe" + }, + { + "Source": "/fsc.exe.config", + "Destination": "FSharp/fsc.exe.config" + }, + { + "Source": "/fsc.xml", + "Destination": "FSharp/fsc.xml" + }, + { + "Source": "/FSharp.Build.dll", + "Destination": "FSharp/FSharp.Build.dll" + }, + { + "Source": "/FSharp.Build.xml", + "Destination": "FSharp/FSharp.Build.xml" + }, + { + "Source": "/FSharp.Compiler.dll", + "Destination": "FSharp/FSharp.Compiler.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.dll", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.xml", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.xml" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.dll", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.dll" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.xml", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.xml" + }, + { + "Source": "/FSharp.Compiler.xml", + "Destination": "FSharp/FSharp.Compiler.xml" + }, + { + "Source": "/FSharp.Core.dll", + "Destination": "FSharp/FSharp.Core.dll" + }, + { + "Source": "/FSharp.Core.optdata", + "Destination": "FSharp/FSharp.Core.optdata" + }, + { + "Source": "/FSharp.Core.sigdata", + "Destination": "FSharp/FSharp.Core.sigdata" + }, + { + "Source": "/FSharp.Core.xml", + "Destination": "FSharp/FSharp.Core.xml" + }, + { + "Source": "/fsi.exe", + "Destination": "FSharp/fsi.exe" + }, + { + "Source": "/fsi.exe.config", + "Destination": "FSharp/fsi.exe.config" + }, + { + "Source": "/fsi.xml", + "Destination": "FSharp/fsi.xml" + }, + { + "Source": "/fsiAnyCpu.exe", + "Destination": "FSharp/fsiAnyCpu.exe" + }, + { + "Source": "/fsiAnyCpu.exe.config", + "Destination": "FSharp/fsiAnyCpu.exe.config" + }, + { + "Source": "/fsiAnyCpu.xml", + "Destination": "FSharp/fsiAnyCpu.xml" + }, + { + "Source": "/Microsoft.Build.dll", + "Destination": "FSharp/Microsoft.Build.dll" + }, + { + "Source": "/Microsoft.Build.Engine.dll", + "Destination": "FSharp/Microsoft.Build.Engine.dll" + }, + { + "Source": "/Microsoft.Build.Framework.dll", + "Destination": "FSharp/Microsoft.Build.Framework.dll" + }, + { + "Source": "/Microsoft.Build.Tasks.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Tasks.v12.0.dll" + }, + { + "Source": "/Microsoft.Build.Utilities.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Utilities.v12.0.dll" + }, + { + "Source": "/Microsoft.FSharp.Targets", + "Destination": "FSharp/Microsoft.FSharp.Targets" + }, + { + "Source": "/Autofac.dll", + "Destination": "ScriptCS/Autofac.dll" + }, + { + "Source": "/Autofac.Integration.Mef.dll", + "Destination": "ScriptCS/Autofac.Integration.Mef.dll" + }, + { + "Source": "/chocolateyInstall.ps1", + "Destination": "ScriptCS/chocolateyInstall.ps1" + }, + { + "Source": "/Common.Logging.dll", + "Destination": "ScriptCS/Common.Logging.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.CSharp.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.CSharp.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Desktop.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Desktop.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "ScriptCS/Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Mono.Cecil.dll", + "Destination": "ScriptCS/Mono.Cecil.dll" + }, + { + "Source": "/Mono.CSharp.dll", + "Destination": "ScriptCS/Mono.CSharp.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "ScriptCS/Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "ScriptCS/NuGet.Core.dll" + }, + { + "Source": "/PowerArgs.dll", + "Destination": "ScriptCS/PowerArgs.dll" + }, + { + "Source": "/ScriptCs.Contracts.dll", + "Destination": "ScriptCS/ScriptCs.Contracts.dll" + }, + { + "Source": "/ScriptCs.Core.dll", + "Destination": "ScriptCS/ScriptCs.Core.dll" + }, + { + "Source": "/ScriptCs.Engine.Mono.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Mono.dll" + }, + { + "Source": "/ScriptCs.Engine.Roslyn.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Roslyn.dll" + }, + { + "Source": "/scriptcs.exe", + "Destination": "ScriptCS/scriptcs.exe" + }, + { + "Source": "/scriptcs.exe.config", + "Destination": "ScriptCS/scriptcs.exe.config" + }, + { + "Source": "/ScriptCs.Hosting.dll", + "Destination": "ScriptCS/ScriptCs.Hosting.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "ScriptCS/System.Collections.Immutable.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "ScriptCS/System.Reflection.Metadata.dll" + } ], "linux-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.linux-x64.nuspec", + "Destination": "Calamari.linux-x64.nuspec" + }, + { + "Source": "/Autofac.dll", + "Destination": "Autofac.dll" + }, + { + "Source": "/AWSSDK.CloudFormation.dll", + "Destination": "AWSSDK.CloudFormation.dll" + }, + { + "Source": "/AWSSDK.Core.dll", + "Destination": "AWSSDK.Core.dll" + }, + { + "Source": "/AWSSDK.IdentityManagement.dll", + "Destination": "AWSSDK.IdentityManagement.dll" + }, + { + "Source": "/AWSSDK.S3.dll", + "Destination": "AWSSDK.S3.dll" + }, + { + "Source": "/AWSSDK.SecurityToken.dll", + "Destination": "AWSSDK.SecurityToken.dll" + }, + { + "Source": "/Calamari", + "Destination": "Calamari" + }, + { + "Source": "/Calamari.Aws.dll", + "Destination": "Calamari.Aws.dll" + }, + { + "Source": "/Calamari.Aws.dll.config", + "Destination": "Calamari.Aws.dll.config" + }, + { + "Source": "/Calamari.Aws.pdb", + "Destination": "Calamari.Aws.pdb" + }, + { + "Source": "/Calamari.Azure.Accounts.dll", + "Destination": "Calamari.Azure.Accounts.dll" + }, + { + "Source": "/Calamari.Azure.Accounts.pdb", + "Destination": "Calamari.Azure.Accounts.pdb" + }, + { + "Source": "/Calamari.Azure.dll", + "Destination": "Calamari.Azure.dll" + }, + { + "Source": "/Calamari.Azure.dll.config", + "Destination": "Calamari.Azure.dll.config" + }, + { + "Source": "/Calamari.Azure.exe.manifest", + "Destination": "Calamari.Azure.exe.manifest" + }, + { + "Source": "/Calamari.Azure.pdb", + "Destination": "Calamari.Azure.pdb" + }, + { + "Source": "/Calamari.deps.json", + "Destination": "Calamari.deps.json" + }, + { + "Source": "/Calamari.dll", + "Destination": "Calamari.dll" + }, + { + "Source": "/Calamari.dll.config", + "Destination": "Calamari.dll.config" + }, + { + "Source": "/Calamari.exe.manifest", + "Destination": "Calamari.exe.manifest" + }, + { + "Source": "/Calamari.pdb", + "Destination": "Calamari.pdb" + }, + { + "Source": "/Calamari.runtimeconfig.json", + "Destination": "Calamari.runtimeconfig.json" + }, + { + "Source": "/Calamari.Shared.dll", + "Destination": "Calamari.Shared.dll" + }, + { + "Source": "/Calamari.Shared.pdb", + "Destination": "Calamari.Shared.pdb" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/createdump", + "Destination": "createdump" + }, + { + "Source": "/javatest.jar", + "Destination": "javatest.jar" + }, + { + "Source": "/libclrjit.so", + "Destination": "libclrjit.so" + }, + { + "Source": "/libcoreclr.so", + "Destination": "libcoreclr.so" + }, + { + "Source": "/libcoreclrtraceptprovider.so", + "Destination": "libcoreclrtraceptprovider.so" + }, + { + "Source": "/libdbgshim.so", + "Destination": "libdbgshim.so" + }, + { + "Source": "/libhostfxr.so", + "Destination": "libhostfxr.so" + }, + { + "Source": "/libhostpolicy.so", + "Destination": "libhostpolicy.so" + }, + { + "Source": "/libmscordaccore.so", + "Destination": "libmscordaccore.so" + }, + { + "Source": "/libmscordbi.so", + "Destination": "libmscordbi.so" + }, + { + "Source": "/libsos.so", + "Destination": "libsos.so" + }, + { + "Source": "/libsosplugin.so", + "Destination": "libsosplugin.so" + }, + { + "Source": "/Markdig.dll", + "Destination": "Markdig.dll" + }, + { + "Source": "/Markdown.dll", + "Destination": "Markdown.dll" + }, + { + "Source": "/Microsoft.Azure.Management.ResourceManager.dll", + "Destination": "Microsoft.Azure.Management.ResourceManager.dll" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Abstractions.dll", + "Destination": "Microsoft.Extensions.Caching.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Memory.dll", + "Destination": "Microsoft.Extensions.Caching.Memory.dll" + }, + { + "Source": "/Microsoft.Extensions.CommandLineUtils.dll", + "Destination": "Microsoft.Extensions.CommandLineUtils.dll" + }, + { + "Source": "/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "Destination": "Microsoft.Extensions.DependencyInjection.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Options.dll", + "Destination": "Microsoft.Extensions.Options.dll" + }, + { + "Source": "/Microsoft.Extensions.Primitives.dll", + "Destination": "Microsoft.Extensions.Primitives.dll" + }, + { + "Source": "/Microsoft.IdentityModel.Clients.ActiveDirectory.dll", + "Destination": "Microsoft.IdentityModel.Clients.ActiveDirectory.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.Azure.dll", + "Destination": "Microsoft.Rest.ClientRuntime.Azure.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.dll", + "Destination": "Microsoft.Rest.ClientRuntime.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Client.dll", + "Destination": "NuGet.Client.dll" + }, + { + "Source": "/NuGet.Commands.dll", + "Destination": "NuGet.Commands.dll" + }, + { + "Source": "/NuGet.Common.dll", + "Destination": "NuGet.Common.dll" + }, + { + "Source": "/NuGet.Configuration.dll", + "Destination": "NuGet.Configuration.dll" + }, + { + "Source": "/NuGet.ContentModel.dll", + "Destination": "NuGet.ContentModel.dll" + }, + { + "Source": "/NuGet.DependencyResolver.Core.dll", + "Destination": "NuGet.DependencyResolver.Core.dll" + }, + { + "Source": "/NuGet.DependencyResolver.dll", + "Destination": "NuGet.DependencyResolver.dll" + }, + { + "Source": "/NuGet.Frameworks.dll", + "Destination": "NuGet.Frameworks.dll" + }, + { + "Source": "/NuGet.LibraryModel.dll", + "Destination": "NuGet.LibraryModel.dll" + }, + { + "Source": "/NuGet.Packaging.Core.dll", + "Destination": "NuGet.Packaging.Core.dll" + }, + { + "Source": "/NuGet.Packaging.Core.Types.dll", + "Destination": "NuGet.Packaging.Core.Types.dll" + }, + { + "Source": "/NuGet.Packaging.dll", + "Destination": "NuGet.Packaging.dll" + }, + { + "Source": "/NuGet.ProjectModel.dll", + "Destination": "NuGet.ProjectModel.dll" + }, + { + "Source": "/NuGet.Protocol.Core.Types.dll", + "Destination": "NuGet.Protocol.Core.Types.dll" + }, + { + "Source": "/NuGet.Protocol.Core.v3.dll", + "Destination": "NuGet.Protocol.Core.v3.dll" + }, + { + "Source": "/NuGet.Repositories.dll", + "Destination": "NuGet.Repositories.dll" + }, + { + "Source": "/NuGet.RuntimeModel.dll", + "Destination": "NuGet.RuntimeModel.dll" + }, + { + "Source": "/NuGet.Versioning.dll", + "Destination": "NuGet.Versioning.dll" + }, + { + "Source": "/Octodiff.dll", + "Destination": "Octodiff.dll" + }, + { + "Source": "/Octopus.CoreUtilities.dll", + "Destination": "Octopus.CoreUtilities.dll" + }, + { + "Source": "/Octopus.System.Xml.ReaderWriter.dll", + "Destination": "Octopus.System.Xml.ReaderWriter.dll" + }, + { + "Source": "/Octopus.Versioning.dll", + "Destination": "Octopus.Versioning.dll" + }, + { + "Source": "/Octopus.Web.Xdt.dll", + "Destination": "Octopus.Web.Xdt.dll" + }, + { + "Source": "/Octostache.dll", + "Destination": "Octostache.dll" + }, + { + "Source": "/Polly.dll", + "Destination": "Polly.dll" + }, + { + "Source": "/SharpCompress.dll", + "Destination": "SharpCompress.dll" + }, + { + "Source": "/SOS.NETCore.dll", + "Destination": "SOS.NETCore.dll" + }, + { + "Source": "/sosdocsunix.txt", + "Destination": "sosdocsunix.txt" + }, + { + "Source": "/Sprache.dll", + "Destination": "Sprache.dll" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.Globalization.Native.so", + "Destination": "System.Globalization.Native.so" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.Native.a", + "Destination": "System.IO.Compression.Native.a" + }, + { + "Source": "/System.IO.Compression.Native.so", + "Destination": "System.IO.Compression.Native.so" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Packaging.dll", + "Destination": "System.IO.Packaging.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Native.a", + "Destination": "System.Native.a" + }, + { + "Source": "/System.Native.so", + "Destination": "System.Native.so" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.Http.Native.a", + "Destination": "System.Net.Http.Native.a" + }, + { + "Source": "/System.Net.Http.Native.so", + "Destination": "System.Net.Http.Native.so" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.Security.Native.a", + "Destination": "System.Net.Security.Native.a" + }, + { + "Source": "/System.Net.Security.Native.so", + "Destination": "System.Net.Security.Native.so" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.a", + "Destination": "System.Security.Cryptography.Native.OpenSsl.a" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.so", + "Destination": "System.Security.Cryptography.Native.OpenSsl.so" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.ProtectedData.dll", + "Destination": "System.Security.Cryptography.ProtectedData.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.AccessControl.dll", + "Destination": "System.Threading.AccessControl.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/System.Xml.XPath.XmlDocument.dll", + "Destination": "System.Xml.XPath.XmlDocument.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + }, + { + "Source": "/YamlDotNet.dll", + "Destination": "YamlDotNet.dll" + }, + { + "Source": "/fsc.exe", + "Destination": "FSharp/fsc.exe" + }, + { + "Source": "/fsc.exe.config", + "Destination": "FSharp/fsc.exe.config" + }, + { + "Source": "/fsc.xml", + "Destination": "FSharp/fsc.xml" + }, + { + "Source": "/FSharp.Build.dll", + "Destination": "FSharp/FSharp.Build.dll" + }, + { + "Source": "/FSharp.Build.xml", + "Destination": "FSharp/FSharp.Build.xml" + }, + { + "Source": "/FSharp.Compiler.dll", + "Destination": "FSharp/FSharp.Compiler.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.dll", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.xml", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.xml" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.dll", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.dll" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.xml", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.xml" + }, + { + "Source": "/FSharp.Compiler.xml", + "Destination": "FSharp/FSharp.Compiler.xml" + }, + { + "Source": "/FSharp.Core.dll", + "Destination": "FSharp/FSharp.Core.dll" + }, + { + "Source": "/FSharp.Core.optdata", + "Destination": "FSharp/FSharp.Core.optdata" + }, + { + "Source": "/FSharp.Core.sigdata", + "Destination": "FSharp/FSharp.Core.sigdata" + }, + { + "Source": "/FSharp.Core.xml", + "Destination": "FSharp/FSharp.Core.xml" + }, + { + "Source": "/fsi.exe", + "Destination": "FSharp/fsi.exe" + }, + { + "Source": "/fsi.exe.config", + "Destination": "FSharp/fsi.exe.config" + }, + { + "Source": "/fsi.xml", + "Destination": "FSharp/fsi.xml" + }, + { + "Source": "/fsiAnyCpu.exe", + "Destination": "FSharp/fsiAnyCpu.exe" + }, + { + "Source": "/fsiAnyCpu.exe.config", + "Destination": "FSharp/fsiAnyCpu.exe.config" + }, + { + "Source": "/fsiAnyCpu.xml", + "Destination": "FSharp/fsiAnyCpu.xml" + }, + { + "Source": "/Microsoft.Build.dll", + "Destination": "FSharp/Microsoft.Build.dll" + }, + { + "Source": "/Microsoft.Build.Engine.dll", + "Destination": "FSharp/Microsoft.Build.Engine.dll" + }, + { + "Source": "/Microsoft.Build.Framework.dll", + "Destination": "FSharp/Microsoft.Build.Framework.dll" + }, + { + "Source": "/Microsoft.Build.Tasks.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Tasks.v12.0.dll" + }, + { + "Source": "/Microsoft.Build.Utilities.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Utilities.v12.0.dll" + }, + { + "Source": "/Microsoft.FSharp.Targets", + "Destination": "FSharp/Microsoft.FSharp.Targets" + }, + { + "Source": "/Autofac.dll", + "Destination": "ScriptCS/Autofac.dll" + }, + { + "Source": "/Autofac.Integration.Mef.dll", + "Destination": "ScriptCS/Autofac.Integration.Mef.dll" + }, + { + "Source": "/chocolateyInstall.ps1", + "Destination": "ScriptCS/chocolateyInstall.ps1" + }, + { + "Source": "/Common.Logging.dll", + "Destination": "ScriptCS/Common.Logging.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.CSharp.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.CSharp.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Desktop.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Desktop.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "ScriptCS/Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Mono.Cecil.dll", + "Destination": "ScriptCS/Mono.Cecil.dll" + }, + { + "Source": "/Mono.CSharp.dll", + "Destination": "ScriptCS/Mono.CSharp.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "ScriptCS/Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "ScriptCS/NuGet.Core.dll" + }, + { + "Source": "/PowerArgs.dll", + "Destination": "ScriptCS/PowerArgs.dll" + }, + { + "Source": "/ScriptCs.Contracts.dll", + "Destination": "ScriptCS/ScriptCs.Contracts.dll" + }, + { + "Source": "/ScriptCs.Core.dll", + "Destination": "ScriptCS/ScriptCs.Core.dll" + }, + { + "Source": "/ScriptCs.Engine.Mono.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Mono.dll" + }, + { + "Source": "/ScriptCs.Engine.Roslyn.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Roslyn.dll" + }, + { + "Source": "/scriptcs.exe", + "Destination": "ScriptCS/scriptcs.exe" + }, + { + "Source": "/scriptcs.exe.config", + "Destination": "ScriptCS/scriptcs.exe.config" + }, + { + "Source": "/ScriptCs.Hosting.dll", + "Destination": "ScriptCS/ScriptCs.Hosting.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "ScriptCS/System.Collections.Immutable.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "ScriptCS/System.Reflection.Metadata.dll" + } ], "osx-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.osx-x64.nuspec", + "Destination": "Calamari.osx-x64.nuspec" + }, + { + "Source": "/Autofac.dll", + "Destination": "Autofac.dll" + }, + { + "Source": "/AWSSDK.CloudFormation.dll", + "Destination": "AWSSDK.CloudFormation.dll" + }, + { + "Source": "/AWSSDK.Core.dll", + "Destination": "AWSSDK.Core.dll" + }, + { + "Source": "/AWSSDK.IdentityManagement.dll", + "Destination": "AWSSDK.IdentityManagement.dll" + }, + { + "Source": "/AWSSDK.S3.dll", + "Destination": "AWSSDK.S3.dll" + }, + { + "Source": "/AWSSDK.SecurityToken.dll", + "Destination": "AWSSDK.SecurityToken.dll" + }, + { + "Source": "/Calamari", + "Destination": "Calamari" + }, + { + "Source": "/Calamari.Aws.dll", + "Destination": "Calamari.Aws.dll" + }, + { + "Source": "/Calamari.Aws.dll.config", + "Destination": "Calamari.Aws.dll.config" + }, + { + "Source": "/Calamari.Aws.pdb", + "Destination": "Calamari.Aws.pdb" + }, + { + "Source": "/Calamari.Azure.Accounts.dll", + "Destination": "Calamari.Azure.Accounts.dll" + }, + { + "Source": "/Calamari.Azure.Accounts.pdb", + "Destination": "Calamari.Azure.Accounts.pdb" + }, + { + "Source": "/Calamari.Azure.dll", + "Destination": "Calamari.Azure.dll" + }, + { + "Source": "/Calamari.Azure.dll.config", + "Destination": "Calamari.Azure.dll.config" + }, + { + "Source": "/Calamari.Azure.exe.manifest", + "Destination": "Calamari.Azure.exe.manifest" + }, + { + "Source": "/Calamari.Azure.pdb", + "Destination": "Calamari.Azure.pdb" + }, + { + "Source": "/Calamari.deps.json", + "Destination": "Calamari.deps.json" + }, + { + "Source": "/Calamari.dll", + "Destination": "Calamari.dll" + }, + { + "Source": "/Calamari.dll.config", + "Destination": "Calamari.dll.config" + }, + { + "Source": "/Calamari.exe.manifest", + "Destination": "Calamari.exe.manifest" + }, + { + "Source": "/Calamari.pdb", + "Destination": "Calamari.pdb" + }, + { + "Source": "/Calamari.runtimeconfig.json", + "Destination": "Calamari.runtimeconfig.json" + }, + { + "Source": "/Calamari.Shared.dll", + "Destination": "Calamari.Shared.dll" + }, + { + "Source": "/Calamari.Shared.pdb", + "Destination": "Calamari.Shared.pdb" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/javatest.jar", + "Destination": "javatest.jar" + }, + { + "Source": "/libclrjit.dylib", + "Destination": "libclrjit.dylib" + }, + { + "Source": "/libcoreclr.dylib", + "Destination": "libcoreclr.dylib" + }, + { + "Source": "/libdbgshim.dylib", + "Destination": "libdbgshim.dylib" + }, + { + "Source": "/libhostfxr.dylib", + "Destination": "libhostfxr.dylib" + }, + { + "Source": "/libhostpolicy.dylib", + "Destination": "libhostpolicy.dylib" + }, + { + "Source": "/libmscordaccore.dylib", + "Destination": "libmscordaccore.dylib" + }, + { + "Source": "/libmscordbi.dylib", + "Destination": "libmscordbi.dylib" + }, + { + "Source": "/libsos.dylib", + "Destination": "libsos.dylib" + }, + { + "Source": "/Markdig.dll", + "Destination": "Markdig.dll" + }, + { + "Source": "/Markdown.dll", + "Destination": "Markdown.dll" + }, + { + "Source": "/Microsoft.Azure.Management.ResourceManager.dll", + "Destination": "Microsoft.Azure.Management.ResourceManager.dll" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Abstractions.dll", + "Destination": "Microsoft.Extensions.Caching.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Memory.dll", + "Destination": "Microsoft.Extensions.Caching.Memory.dll" + }, + { + "Source": "/Microsoft.Extensions.CommandLineUtils.dll", + "Destination": "Microsoft.Extensions.CommandLineUtils.dll" + }, + { + "Source": "/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "Destination": "Microsoft.Extensions.DependencyInjection.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Options.dll", + "Destination": "Microsoft.Extensions.Options.dll" + }, + { + "Source": "/Microsoft.Extensions.Primitives.dll", + "Destination": "Microsoft.Extensions.Primitives.dll" + }, + { + "Source": "/Microsoft.IdentityModel.Clients.ActiveDirectory.dll", + "Destination": "Microsoft.IdentityModel.Clients.ActiveDirectory.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.Azure.dll", + "Destination": "Microsoft.Rest.ClientRuntime.Azure.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.dll", + "Destination": "Microsoft.Rest.ClientRuntime.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Client.dll", + "Destination": "NuGet.Client.dll" + }, + { + "Source": "/NuGet.Commands.dll", + "Destination": "NuGet.Commands.dll" + }, + { + "Source": "/NuGet.Common.dll", + "Destination": "NuGet.Common.dll" + }, + { + "Source": "/NuGet.Configuration.dll", + "Destination": "NuGet.Configuration.dll" + }, + { + "Source": "/NuGet.ContentModel.dll", + "Destination": "NuGet.ContentModel.dll" + }, + { + "Source": "/NuGet.DependencyResolver.Core.dll", + "Destination": "NuGet.DependencyResolver.Core.dll" + }, + { + "Source": "/NuGet.DependencyResolver.dll", + "Destination": "NuGet.DependencyResolver.dll" + }, + { + "Source": "/NuGet.Frameworks.dll", + "Destination": "NuGet.Frameworks.dll" + }, + { + "Source": "/NuGet.LibraryModel.dll", + "Destination": "NuGet.LibraryModel.dll" + }, + { + "Source": "/NuGet.Packaging.Core.dll", + "Destination": "NuGet.Packaging.Core.dll" + }, + { + "Source": "/NuGet.Packaging.Core.Types.dll", + "Destination": "NuGet.Packaging.Core.Types.dll" + }, + { + "Source": "/NuGet.Packaging.dll", + "Destination": "NuGet.Packaging.dll" + }, + { + "Source": "/NuGet.ProjectModel.dll", + "Destination": "NuGet.ProjectModel.dll" + }, + { + "Source": "/NuGet.Protocol.Core.Types.dll", + "Destination": "NuGet.Protocol.Core.Types.dll" + }, + { + "Source": "/NuGet.Protocol.Core.v3.dll", + "Destination": "NuGet.Protocol.Core.v3.dll" + }, + { + "Source": "/NuGet.Repositories.dll", + "Destination": "NuGet.Repositories.dll" + }, + { + "Source": "/NuGet.RuntimeModel.dll", + "Destination": "NuGet.RuntimeModel.dll" + }, + { + "Source": "/NuGet.Versioning.dll", + "Destination": "NuGet.Versioning.dll" + }, + { + "Source": "/Octodiff.dll", + "Destination": "Octodiff.dll" + }, + { + "Source": "/Octopus.CoreUtilities.dll", + "Destination": "Octopus.CoreUtilities.dll" + }, + { + "Source": "/Octopus.System.Xml.ReaderWriter.dll", + "Destination": "Octopus.System.Xml.ReaderWriter.dll" + }, + { + "Source": "/Octopus.Versioning.dll", + "Destination": "Octopus.Versioning.dll" + }, + { + "Source": "/Octopus.Web.Xdt.dll", + "Destination": "Octopus.Web.Xdt.dll" + }, + { + "Source": "/Octostache.dll", + "Destination": "Octostache.dll" + }, + { + "Source": "/Polly.dll", + "Destination": "Polly.dll" + }, + { + "Source": "/SharpCompress.dll", + "Destination": "SharpCompress.dll" + }, + { + "Source": "/SOS.NETCore.dll", + "Destination": "SOS.NETCore.dll" + }, + { + "Source": "/sosdocsunix.txt", + "Destination": "sosdocsunix.txt" + }, + { + "Source": "/Sprache.dll", + "Destination": "Sprache.dll" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.Globalization.Native.dylib", + "Destination": "System.Globalization.Native.dylib" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.Native.a", + "Destination": "System.IO.Compression.Native.a" + }, + { + "Source": "/System.IO.Compression.Native.dylib", + "Destination": "System.IO.Compression.Native.dylib" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Packaging.dll", + "Destination": "System.IO.Packaging.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Native.a", + "Destination": "System.Native.a" + }, + { + "Source": "/System.Native.dylib", + "Destination": "System.Native.dylib" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.Http.Native.a", + "Destination": "System.Net.Http.Native.a" + }, + { + "Source": "/System.Net.Http.Native.dylib", + "Destination": "System.Net.Http.Native.dylib" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.Security.Native.a", + "Destination": "System.Net.Security.Native.a" + }, + { + "Source": "/System.Net.Security.Native.dylib", + "Destination": "System.Net.Security.Native.dylib" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.Native.Apple.a", + "Destination": "System.Security.Cryptography.Native.Apple.a" + }, + { + "Source": "/System.Security.Cryptography.Native.Apple.dylib", + "Destination": "System.Security.Cryptography.Native.Apple.dylib" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.a", + "Destination": "System.Security.Cryptography.Native.OpenSsl.a" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.dylib", + "Destination": "System.Security.Cryptography.Native.OpenSsl.dylib" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.ProtectedData.dll", + "Destination": "System.Security.Cryptography.ProtectedData.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.AccessControl.dll", + "Destination": "System.Threading.AccessControl.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/System.Xml.XPath.XmlDocument.dll", + "Destination": "System.Xml.XPath.XmlDocument.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + }, + { + "Source": "/YamlDotNet.dll", + "Destination": "YamlDotNet.dll" + }, + { + "Source": "/fsc.exe", + "Destination": "FSharp/fsc.exe" + }, + { + "Source": "/fsc.exe.config", + "Destination": "FSharp/fsc.exe.config" + }, + { + "Source": "/fsc.xml", + "Destination": "FSharp/fsc.xml" + }, + { + "Source": "/FSharp.Build.dll", + "Destination": "FSharp/FSharp.Build.dll" + }, + { + "Source": "/FSharp.Build.xml", + "Destination": "FSharp/FSharp.Build.xml" + }, + { + "Source": "/FSharp.Compiler.dll", + "Destination": "FSharp/FSharp.Compiler.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.dll", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.xml", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.xml" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.dll", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.dll" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.xml", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.xml" + }, + { + "Source": "/FSharp.Compiler.xml", + "Destination": "FSharp/FSharp.Compiler.xml" + }, + { + "Source": "/FSharp.Core.dll", + "Destination": "FSharp/FSharp.Core.dll" + }, + { + "Source": "/FSharp.Core.optdata", + "Destination": "FSharp/FSharp.Core.optdata" + }, + { + "Source": "/FSharp.Core.sigdata", + "Destination": "FSharp/FSharp.Core.sigdata" + }, + { + "Source": "/FSharp.Core.xml", + "Destination": "FSharp/FSharp.Core.xml" + }, + { + "Source": "/fsi.exe", + "Destination": "FSharp/fsi.exe" + }, + { + "Source": "/fsi.exe.config", + "Destination": "FSharp/fsi.exe.config" + }, + { + "Source": "/fsi.xml", + "Destination": "FSharp/fsi.xml" + }, + { + "Source": "/fsiAnyCpu.exe", + "Destination": "FSharp/fsiAnyCpu.exe" + }, + { + "Source": "/fsiAnyCpu.exe.config", + "Destination": "FSharp/fsiAnyCpu.exe.config" + }, + { + "Source": "/fsiAnyCpu.xml", + "Destination": "FSharp/fsiAnyCpu.xml" + }, + { + "Source": "/Microsoft.Build.dll", + "Destination": "FSharp/Microsoft.Build.dll" + }, + { + "Source": "/Microsoft.Build.Engine.dll", + "Destination": "FSharp/Microsoft.Build.Engine.dll" + }, + { + "Source": "/Microsoft.Build.Framework.dll", + "Destination": "FSharp/Microsoft.Build.Framework.dll" + }, + { + "Source": "/Microsoft.Build.Tasks.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Tasks.v12.0.dll" + }, + { + "Source": "/Microsoft.Build.Utilities.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Utilities.v12.0.dll" + }, + { + "Source": "/Microsoft.FSharp.Targets", + "Destination": "FSharp/Microsoft.FSharp.Targets" + }, + { + "Source": "/Autofac.dll", + "Destination": "ScriptCS/Autofac.dll" + }, + { + "Source": "/Autofac.Integration.Mef.dll", + "Destination": "ScriptCS/Autofac.Integration.Mef.dll" + }, + { + "Source": "/chocolateyInstall.ps1", + "Destination": "ScriptCS/chocolateyInstall.ps1" + }, + { + "Source": "/Common.Logging.dll", + "Destination": "ScriptCS/Common.Logging.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.CSharp.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.CSharp.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Desktop.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Desktop.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "ScriptCS/Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Mono.Cecil.dll", + "Destination": "ScriptCS/Mono.Cecil.dll" + }, + { + "Source": "/Mono.CSharp.dll", + "Destination": "ScriptCS/Mono.CSharp.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "ScriptCS/Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "ScriptCS/NuGet.Core.dll" + }, + { + "Source": "/PowerArgs.dll", + "Destination": "ScriptCS/PowerArgs.dll" + }, + { + "Source": "/ScriptCs.Contracts.dll", + "Destination": "ScriptCS/ScriptCs.Contracts.dll" + }, + { + "Source": "/ScriptCs.Core.dll", + "Destination": "ScriptCS/ScriptCs.Core.dll" + }, + { + "Source": "/ScriptCs.Engine.Mono.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Mono.dll" + }, + { + "Source": "/ScriptCs.Engine.Roslyn.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Roslyn.dll" + }, + { + "Source": "/scriptcs.exe", + "Destination": "ScriptCS/scriptcs.exe" + }, + { + "Source": "/scriptcs.exe.config", + "Destination": "ScriptCS/scriptcs.exe.config" + }, + { + "Source": "/ScriptCs.Hosting.dll", + "Destination": "ScriptCS/ScriptCs.Hosting.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "ScriptCS/System.Collections.Immutable.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "ScriptCS/System.Reflection.Metadata.dll" + } ], "win-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.win-x64.nuspec", + "Destination": "Calamari.win-x64.nuspec" + }, + { + "Source": "/api-ms-win-core-console-l1-1-0.dll", + "Destination": "api-ms-win-core-console-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-datetime-l1-1-0.dll", + "Destination": "api-ms-win-core-datetime-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-debug-l1-1-0.dll", + "Destination": "api-ms-win-core-debug-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-errorhandling-l1-1-0.dll", + "Destination": "api-ms-win-core-errorhandling-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l1-1-0.dll", + "Destination": "api-ms-win-core-file-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l1-2-0.dll", + "Destination": "api-ms-win-core-file-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l2-1-0.dll", + "Destination": "api-ms-win-core-file-l2-1-0.dll" + }, + { + "Source": "/api-ms-win-core-handle-l1-1-0.dll", + "Destination": "api-ms-win-core-handle-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-heap-l1-1-0.dll", + "Destination": "api-ms-win-core-heap-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-interlocked-l1-1-0.dll", + "Destination": "api-ms-win-core-interlocked-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-libraryloader-l1-1-0.dll", + "Destination": "api-ms-win-core-libraryloader-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-localization-l1-2-0.dll", + "Destination": "api-ms-win-core-localization-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-memory-l1-1-0.dll", + "Destination": "api-ms-win-core-memory-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-namedpipe-l1-1-0.dll", + "Destination": "api-ms-win-core-namedpipe-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processenvironment-l1-1-0.dll", + "Destination": "api-ms-win-core-processenvironment-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processthreads-l1-1-0.dll", + "Destination": "api-ms-win-core-processthreads-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processthreads-l1-1-1.dll", + "Destination": "api-ms-win-core-processthreads-l1-1-1.dll" + }, + { + "Source": "/api-ms-win-core-profile-l1-1-0.dll", + "Destination": "api-ms-win-core-profile-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-rtlsupport-l1-1-0.dll", + "Destination": "api-ms-win-core-rtlsupport-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-string-l1-1-0.dll", + "Destination": "api-ms-win-core-string-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-synch-l1-1-0.dll", + "Destination": "api-ms-win-core-synch-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-synch-l1-2-0.dll", + "Destination": "api-ms-win-core-synch-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-sysinfo-l1-1-0.dll", + "Destination": "api-ms-win-core-sysinfo-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-timezone-l1-1-0.dll", + "Destination": "api-ms-win-core-timezone-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-util-l1-1-0.dll", + "Destination": "api-ms-win-core-util-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-conio-l1-1-0.dll", + "Destination": "api-ms-win-crt-conio-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-convert-l1-1-0.dll", + "Destination": "api-ms-win-crt-convert-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-environment-l1-1-0.dll", + "Destination": "api-ms-win-crt-environment-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-filesystem-l1-1-0.dll", + "Destination": "api-ms-win-crt-filesystem-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-heap-l1-1-0.dll", + "Destination": "api-ms-win-crt-heap-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-locale-l1-1-0.dll", + "Destination": "api-ms-win-crt-locale-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-math-l1-1-0.dll", + "Destination": "api-ms-win-crt-math-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-multibyte-l1-1-0.dll", + "Destination": "api-ms-win-crt-multibyte-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-private-l1-1-0.dll", + "Destination": "api-ms-win-crt-private-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-process-l1-1-0.dll", + "Destination": "api-ms-win-crt-process-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-runtime-l1-1-0.dll", + "Destination": "api-ms-win-crt-runtime-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-stdio-l1-1-0.dll", + "Destination": "api-ms-win-crt-stdio-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-string-l1-1-0.dll", + "Destination": "api-ms-win-crt-string-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-time-l1-1-0.dll", + "Destination": "api-ms-win-crt-time-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-utility-l1-1-0.dll", + "Destination": "api-ms-win-crt-utility-l1-1-0.dll" + }, + { + "Source": "/Autofac.dll", + "Destination": "Autofac.dll" + }, + { + "Source": "/AWSSDK.CloudFormation.dll", + "Destination": "AWSSDK.CloudFormation.dll" + }, + { + "Source": "/AWSSDK.Core.dll", + "Destination": "AWSSDK.Core.dll" + }, + { + "Source": "/AWSSDK.IdentityManagement.dll", + "Destination": "AWSSDK.IdentityManagement.dll" + }, + { + "Source": "/AWSSDK.S3.dll", + "Destination": "AWSSDK.S3.dll" + }, + { + "Source": "/AWSSDK.SecurityToken.dll", + "Destination": "AWSSDK.SecurityToken.dll" + }, + { + "Source": "/Calamari.Aws.dll", + "Destination": "Calamari.Aws.dll" + }, + { + "Source": "/Calamari.Aws.dll.config", + "Destination": "Calamari.Aws.dll.config" + }, + { + "Source": "/Calamari.Aws.pdb", + "Destination": "Calamari.Aws.pdb" + }, + { + "Source": "/Calamari.Azure.Accounts.dll", + "Destination": "Calamari.Azure.Accounts.dll" + }, + { + "Source": "/Calamari.Azure.Accounts.pdb", + "Destination": "Calamari.Azure.Accounts.pdb" + }, + { + "Source": "/Calamari.Azure.dll", + "Destination": "Calamari.Azure.dll" + }, + { + "Source": "/Calamari.Azure.dll.config", + "Destination": "Calamari.Azure.dll.config" + }, + { + "Source": "/Calamari.Azure.exe.manifest", + "Destination": "Calamari.Azure.exe.manifest" + }, + { + "Source": "/Calamari.Azure.pdb", + "Destination": "Calamari.Azure.pdb" + }, + { + "Source": "/Calamari.deps.json", + "Destination": "Calamari.deps.json" + }, + { + "Source": "/Calamari.dll", + "Destination": "Calamari.dll" + }, + { + "Source": "/Calamari.dll.config", + "Destination": "Calamari.dll.config" + }, + { + "Source": "/Calamari.exe", + "Destination": "Calamari.exe" + }, + { + "Source": "/Calamari.exe.manifest", + "Destination": "Calamari.exe.manifest" + }, + { + "Source": "/Calamari.pdb", + "Destination": "Calamari.pdb" + }, + { + "Source": "/Calamari.runtimeconfig.json", + "Destination": "Calamari.runtimeconfig.json" + }, + { + "Source": "/Calamari.Shared.dll", + "Destination": "Calamari.Shared.dll" + }, + { + "Source": "/Calamari.Shared.pdb", + "Destination": "Calamari.Shared.pdb" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/clrcompression.dll", + "Destination": "clrcompression.dll" + }, + { + "Source": "/clretwrc.dll", + "Destination": "clretwrc.dll" + }, + { + "Source": "/clrjit.dll", + "Destination": "clrjit.dll" + }, + { + "Source": "/coreclr.dll", + "Destination": "coreclr.dll" + }, + { + "Source": "/dbgshim.dll", + "Destination": "dbgshim.dll" + }, + { + "Source": "/hostfxr.dll", + "Destination": "hostfxr.dll" + }, + { + "Source": "/hostpolicy.dll", + "Destination": "hostpolicy.dll" + }, + { + "Source": "/javatest.jar", + "Destination": "javatest.jar" + }, + { + "Source": "/Markdig.dll", + "Destination": "Markdig.dll" + }, + { + "Source": "/Markdown.dll", + "Destination": "Markdown.dll" + }, + { + "Source": "/Microsoft.Azure.Management.ResourceManager.dll", + "Destination": "Microsoft.Azure.Management.ResourceManager.dll" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.DiaSymReader.Native.amd64.dll", + "Destination": "Microsoft.DiaSymReader.Native.amd64.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Abstractions.dll", + "Destination": "Microsoft.Extensions.Caching.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Caching.Memory.dll", + "Destination": "Microsoft.Extensions.Caching.Memory.dll" + }, + { + "Source": "/Microsoft.Extensions.CommandLineUtils.dll", + "Destination": "Microsoft.Extensions.CommandLineUtils.dll" + }, + { + "Source": "/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "Destination": "Microsoft.Extensions.DependencyInjection.Abstractions.dll" + }, + { + "Source": "/Microsoft.Extensions.Options.dll", + "Destination": "Microsoft.Extensions.Options.dll" + }, + { + "Source": "/Microsoft.Extensions.Primitives.dll", + "Destination": "Microsoft.Extensions.Primitives.dll" + }, + { + "Source": "/Microsoft.IdentityModel.Clients.ActiveDirectory.dll", + "Destination": "Microsoft.IdentityModel.Clients.ActiveDirectory.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.Azure.dll", + "Destination": "Microsoft.Rest.ClientRuntime.Azure.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.dll", + "Destination": "Microsoft.Rest.ClientRuntime.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscordaccore.dll", + "Destination": "mscordaccore.dll" + }, + { + "Source": "/mscordaccore_amd64_amd64_.dll", + "Destination": "mscordaccore_amd64_amd64_.dll" + }, + { + "Source": "/mscordbi.dll", + "Destination": "mscordbi.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/mscorrc.debug.dll", + "Destination": "mscorrc.debug.dll" + }, + { + "Source": "/mscorrc.dll", + "Destination": "mscorrc.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Client.dll", + "Destination": "NuGet.Client.dll" + }, + { + "Source": "/NuGet.Commands.dll", + "Destination": "NuGet.Commands.dll" + }, + { + "Source": "/NuGet.Common.dll", + "Destination": "NuGet.Common.dll" + }, + { + "Source": "/NuGet.Configuration.dll", + "Destination": "NuGet.Configuration.dll" + }, + { + "Source": "/NuGet.ContentModel.dll", + "Destination": "NuGet.ContentModel.dll" + }, + { + "Source": "/NuGet.DependencyResolver.Core.dll", + "Destination": "NuGet.DependencyResolver.Core.dll" + }, + { + "Source": "/NuGet.DependencyResolver.dll", + "Destination": "NuGet.DependencyResolver.dll" + }, + { + "Source": "/NuGet.Frameworks.dll", + "Destination": "NuGet.Frameworks.dll" + }, + { + "Source": "/NuGet.LibraryModel.dll", + "Destination": "NuGet.LibraryModel.dll" + }, + { + "Source": "/NuGet.Packaging.Core.dll", + "Destination": "NuGet.Packaging.Core.dll" + }, + { + "Source": "/NuGet.Packaging.Core.Types.dll", + "Destination": "NuGet.Packaging.Core.Types.dll" + }, + { + "Source": "/NuGet.Packaging.dll", + "Destination": "NuGet.Packaging.dll" + }, + { + "Source": "/NuGet.ProjectModel.dll", + "Destination": "NuGet.ProjectModel.dll" + }, + { + "Source": "/NuGet.Protocol.Core.Types.dll", + "Destination": "NuGet.Protocol.Core.Types.dll" + }, + { + "Source": "/NuGet.Protocol.Core.v3.dll", + "Destination": "NuGet.Protocol.Core.v3.dll" + }, + { + "Source": "/NuGet.Repositories.dll", + "Destination": "NuGet.Repositories.dll" + }, + { + "Source": "/NuGet.RuntimeModel.dll", + "Destination": "NuGet.RuntimeModel.dll" + }, + { + "Source": "/NuGet.Versioning.dll", + "Destination": "NuGet.Versioning.dll" + }, + { + "Source": "/Octodiff.dll", + "Destination": "Octodiff.dll" + }, + { + "Source": "/Octopus.CoreUtilities.dll", + "Destination": "Octopus.CoreUtilities.dll" + }, + { + "Source": "/Octopus.System.Xml.ReaderWriter.dll", + "Destination": "Octopus.System.Xml.ReaderWriter.dll" + }, + { + "Source": "/Octopus.Versioning.dll", + "Destination": "Octopus.Versioning.dll" + }, + { + "Source": "/Octopus.Web.Xdt.dll", + "Destination": "Octopus.Web.Xdt.dll" + }, + { + "Source": "/Octostache.dll", + "Destination": "Octostache.dll" + }, + { + "Source": "/Polly.dll", + "Destination": "Polly.dll" + }, + { + "Source": "/SharpCompress.dll", + "Destination": "SharpCompress.dll" + }, + { + "Source": "/sos.dll", + "Destination": "sos.dll" + }, + { + "Source": "/SOS.NETCore.dll", + "Destination": "SOS.NETCore.dll" + }, + { + "Source": "/sos_amd64_amd64_.dll", + "Destination": "sos_amd64_amd64_.dll" + }, + { + "Source": "/Sprache.dll", + "Destination": "Sprache.dll" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Packaging.dll", + "Destination": "System.IO.Packaging.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.ProtectedData.dll", + "Destination": "System.Security.Cryptography.ProtectedData.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.AccessControl.dll", + "Destination": "System.Threading.AccessControl.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/System.Xml.XPath.XmlDocument.dll", + "Destination": "System.Xml.XPath.XmlDocument.dll" + }, + { + "Source": "/ucrtbase.dll", + "Destination": "ucrtbase.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + }, + { + "Source": "/YamlDotNet.dll", + "Destination": "YamlDotNet.dll" + }, + { + "Source": "/fsc.exe", + "Destination": "FSharp/fsc.exe" + }, + { + "Source": "/fsc.exe.config", + "Destination": "FSharp/fsc.exe.config" + }, + { + "Source": "/fsc.xml", + "Destination": "FSharp/fsc.xml" + }, + { + "Source": "/FSharp.Build.dll", + "Destination": "FSharp/FSharp.Build.dll" + }, + { + "Source": "/FSharp.Build.xml", + "Destination": "FSharp/FSharp.Build.xml" + }, + { + "Source": "/FSharp.Compiler.dll", + "Destination": "FSharp/FSharp.Compiler.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.dll", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.xml", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.xml" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.dll", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.dll" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.xml", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.xml" + }, + { + "Source": "/FSharp.Compiler.xml", + "Destination": "FSharp/FSharp.Compiler.xml" + }, + { + "Source": "/FSharp.Core.dll", + "Destination": "FSharp/FSharp.Core.dll" + }, + { + "Source": "/FSharp.Core.optdata", + "Destination": "FSharp/FSharp.Core.optdata" + }, + { + "Source": "/FSharp.Core.sigdata", + "Destination": "FSharp/FSharp.Core.sigdata" + }, + { + "Source": "/FSharp.Core.xml", + "Destination": "FSharp/FSharp.Core.xml" + }, + { + "Source": "/fsi.exe", + "Destination": "FSharp/fsi.exe" + }, + { + "Source": "/fsi.exe.config", + "Destination": "FSharp/fsi.exe.config" + }, + { + "Source": "/fsi.xml", + "Destination": "FSharp/fsi.xml" + }, + { + "Source": "/fsiAnyCpu.exe", + "Destination": "FSharp/fsiAnyCpu.exe" + }, + { + "Source": "/fsiAnyCpu.exe.config", + "Destination": "FSharp/fsiAnyCpu.exe.config" + }, + { + "Source": "/fsiAnyCpu.xml", + "Destination": "FSharp/fsiAnyCpu.xml" + }, + { + "Source": "/Microsoft.Build.dll", + "Destination": "FSharp/Microsoft.Build.dll" + }, + { + "Source": "/Microsoft.Build.Engine.dll", + "Destination": "FSharp/Microsoft.Build.Engine.dll" + }, + { + "Source": "/Microsoft.Build.Framework.dll", + "Destination": "FSharp/Microsoft.Build.Framework.dll" + }, + { + "Source": "/Microsoft.Build.Tasks.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Tasks.v12.0.dll" + }, + { + "Source": "/Microsoft.Build.Utilities.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Utilities.v12.0.dll" + }, + { + "Source": "/Microsoft.FSharp.Targets", + "Destination": "FSharp/Microsoft.FSharp.Targets" + }, + { + "Source": "/Autofac.dll", + "Destination": "ScriptCS/Autofac.dll" + }, + { + "Source": "/Autofac.Integration.Mef.dll", + "Destination": "ScriptCS/Autofac.Integration.Mef.dll" + }, + { + "Source": "/chocolateyInstall.ps1", + "Destination": "ScriptCS/chocolateyInstall.ps1" + }, + { + "Source": "/Common.Logging.dll", + "Destination": "ScriptCS/Common.Logging.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.CSharp.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.CSharp.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Desktop.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Desktop.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "ScriptCS/Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Mono.Cecil.dll", + "Destination": "ScriptCS/Mono.Cecil.dll" + }, + { + "Source": "/Mono.CSharp.dll", + "Destination": "ScriptCS/Mono.CSharp.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "ScriptCS/Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "ScriptCS/NuGet.Core.dll" + }, + { + "Source": "/PowerArgs.dll", + "Destination": "ScriptCS/PowerArgs.dll" + }, + { + "Source": "/ScriptCs.Contracts.dll", + "Destination": "ScriptCS/ScriptCs.Contracts.dll" + }, + { + "Source": "/ScriptCs.Core.dll", + "Destination": "ScriptCS/ScriptCs.Core.dll" + }, + { + "Source": "/ScriptCs.Engine.Mono.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Mono.dll" + }, + { + "Source": "/ScriptCs.Engine.Roslyn.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Roslyn.dll" + }, + { + "Source": "/scriptcs.exe", + "Destination": "ScriptCS/scriptcs.exe" + }, + { + "Source": "/scriptcs.exe.config", + "Destination": "ScriptCS/scriptcs.exe.config" + }, + { + "Source": "/ScriptCs.Hosting.dll", + "Destination": "ScriptCS/ScriptCs.Hosting.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "ScriptCS/System.Collections.Immutable.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "ScriptCS/System.Reflection.Metadata.dll" + } ] } }, @@ -1060,183 +4183,708 @@ "PackageId": "Calamari.Cloud", "Version": "12.0.2", "IsNupkg": true, - "PlatformHashes": { + "PlatformFiles": { "netfx": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.Cloud.nuspec", + "Destination": "Calamari.Cloud.nuspec" + }, + { + "Source": "/AlphaFS.dll", + "Destination": "AlphaFS.dll" + }, + { + "Source": "/Autofac.dll", + "Destination": "Autofac.dll" + }, + { + "Source": "/AWSSDK.CloudFormation.dll", + "Destination": "AWSSDK.CloudFormation.dll" + }, + { + "Source": "/AWSSDK.Core.dll", + "Destination": "AWSSDK.Core.dll" + }, + { + "Source": "/AWSSDK.IdentityManagement.dll", + "Destination": "AWSSDK.IdentityManagement.dll" + }, + { + "Source": "/AWSSDK.S3.dll", + "Destination": "AWSSDK.S3.dll" + }, + { + "Source": "/AWSSDK.SecurityToken.dll", + "Destination": "AWSSDK.SecurityToken.dll" + }, + { + "Source": "/BouncyCastle.Crypto.dll", + "Destination": "BouncyCastle.Crypto.dll" + }, + { + "Source": "/Calamari.Aws.dll", + "Destination": "Calamari.Aws.dll" + }, + { + "Source": "/Calamari.Aws.dll.config", + "Destination": "Calamari.Aws.dll.config" + }, + { + "Source": "/Calamari.Aws.pdb", + "Destination": "Calamari.Aws.pdb" + }, + { + "Source": "/Calamari.Azure.Accounts.dll", + "Destination": "Calamari.Azure.Accounts.dll" + }, + { + "Source": "/Calamari.Azure.Accounts.pdb", + "Destination": "Calamari.Azure.Accounts.pdb" + }, + { + "Source": "/Calamari.Azure.CloudServices.dll", + "Destination": "Calamari.Azure.CloudServices.dll" + }, + { + "Source": "/Calamari.Azure.CloudServices.dll.config", + "Destination": "Calamari.Azure.CloudServices.dll.config" + }, + { + "Source": "/Calamari.Azure.CloudServices.pdb", + "Destination": "Calamari.Azure.CloudServices.pdb" + }, + { + "Source": "/Calamari.Azure.dll", + "Destination": "Calamari.Azure.dll" + }, + { + "Source": "/Calamari.Azure.dll.config", + "Destination": "Calamari.Azure.dll.config" + }, + { + "Source": "/Calamari.Azure.exe.manifest", + "Destination": "Calamari.Azure.exe.manifest" + }, + { + "Source": "/Calamari.Azure.pdb", + "Destination": "Calamari.Azure.pdb" + }, + { + "Source": "/Calamari.Azure.ServiceFabric.dll", + "Destination": "Calamari.Azure.ServiceFabric.dll" + }, + { + "Source": "/Calamari.Azure.ServiceFabric.dll.config", + "Destination": "Calamari.Azure.ServiceFabric.dll.config" + }, + { + "Source": "/Calamari.Azure.ServiceFabric.pdb", + "Destination": "Calamari.Azure.ServiceFabric.pdb" + }, + { + "Source": "/Calamari.Azure.WebApps.dll", + "Destination": "Calamari.Azure.WebApps.dll" + }, + { + "Source": "/Calamari.Azure.WebApps.dll.config", + "Destination": "Calamari.Azure.WebApps.dll.config" + }, + { + "Source": "/Calamari.Azure.WebApps.pdb", + "Destination": "Calamari.Azure.WebApps.pdb" + }, + { + "Source": "/Calamari.exe", + "Destination": "Calamari.exe" + }, + { + "Source": "/Calamari.exe.config", + "Destination": "Calamari.exe.config" + }, + { + "Source": "/Calamari.exe.manifest", + "Destination": "Calamari.exe.manifest" + }, + { + "Source": "/Calamari.pdb", + "Destination": "Calamari.pdb" + }, + { + "Source": "/Calamari.Shared.dll", + "Destination": "Calamari.Shared.dll" + }, + { + "Source": "/Calamari.Shared.pdb", + "Destination": "Calamari.Shared.pdb" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/Hyak.Common.dll", + "Destination": "Hyak.Common.dll" + }, + { + "Source": "/javatest.jar", + "Destination": "javatest.jar" + }, + { + "Source": "/Markdig.dll", + "Destination": "Markdig.dll" + }, + { + "Source": "/MarkdownSharp.dll", + "Destination": "MarkdownSharp.dll" + }, + { + "Source": "/Microsoft.Azure.Common.dll", + "Destination": "Microsoft.Azure.Common.dll" + }, + { + "Source": "/Microsoft.Azure.Management.ResourceManager.dll", + "Destination": "Microsoft.Azure.Management.ResourceManager.dll" + }, + { + "Source": "/Microsoft.Azure.Management.Websites.dll", + "Destination": "Microsoft.Azure.Management.Websites.dll" + }, + { + "Source": "/Microsoft.Data.Edm.dll", + "Destination": "Microsoft.Data.Edm.dll" + }, + { + "Source": "/Microsoft.Data.OData.dll", + "Destination": "Microsoft.Data.OData.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.dll", + "Destination": "Microsoft.Data.Services.Client.dll" + }, + { + "Source": "/Microsoft.IdentityModel.Clients.ActiveDirectory.dll", + "Destination": "Microsoft.IdentityModel.Clients.ActiveDirectory.dll" + }, + { + "Source": "/Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll", + "Destination": "Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.Azure.dll", + "Destination": "Microsoft.Rest.ClientRuntime.Azure.dll" + }, + { + "Source": "/Microsoft.Rest.ClientRuntime.dll", + "Destination": "Microsoft.Rest.ClientRuntime.dll" + }, + { + "Source": "/Microsoft.ServiceFabric.Internal.dll", + "Destination": "Microsoft.ServiceFabric.Internal.dll" + }, + { + "Source": "/Microsoft.ServiceFabric.Internal.Strings.dll", + "Destination": "Microsoft.ServiceFabric.Internal.Strings.dll" + }, + { + "Source": "/Microsoft.Threading.Tasks.dll", + "Destination": "Microsoft.Threading.Tasks.dll" + }, + { + "Source": "/Microsoft.Threading.Tasks.Extensions.Desktop.dll", + "Destination": "Microsoft.Threading.Tasks.Extensions.Desktop.dll" + }, + { + "Source": "/Microsoft.Threading.Tasks.Extensions.dll", + "Destination": "Microsoft.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/Microsoft.Web.Administration.dll", + "Destination": "Microsoft.Web.Administration.dll" + }, + { + "Source": "/Microsoft.Web.Delegation.dll", + "Destination": "Microsoft.Web.Delegation.dll" + }, + { + "Source": "/Microsoft.Web.Deployment.dll", + "Destination": "Microsoft.Web.Deployment.dll" + }, + { + "Source": "/Microsoft.Web.Deployment.Tracing.dll", + "Destination": "Microsoft.Web.Deployment.Tracing.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Common.dll", + "Destination": "Microsoft.WindowsAzure.Common.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Common.NetFramework.dll", + "Destination": "Microsoft.WindowsAzure.Common.NetFramework.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Configuration.dll", + "Destination": "Microsoft.WindowsAzure.Configuration.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Management.Compute.dll", + "Destination": "Microsoft.WindowsAzure.Management.Compute.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Management.Storage.dll", + "Destination": "Microsoft.WindowsAzure.Management.Storage.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Management.WebSites.dll", + "Destination": "Microsoft.WindowsAzure.Management.WebSites.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Packaging.dll", + "Destination": "Microsoft.WindowsAzure.Packaging.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.ServiceModel.Common.dll", + "Destination": "Microsoft.WindowsAzure.ServiceModel.Common.dll" + }, + { + "Source": "/Microsoft.WindowsAzure.Storage.dll", + "Destination": "Microsoft.WindowsAzure.Storage.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "NuGet.Core.dll" + }, + { + "Source": "/Octodiff.exe", + "Destination": "Octodiff.exe" + }, + { + "Source": "/Octopus.CoreUtilities.dll", + "Destination": "Octopus.CoreUtilities.dll" + }, + { + "Source": "/Octopus.Versioning.dll", + "Destination": "Octopus.Versioning.dll" + }, + { + "Source": "/Octostache.dll", + "Destination": "Octostache.dll" + }, + { + "Source": "/Polly.dll", + "Destination": "Polly.dll" + }, + { + "Source": "/SharpCompress.dll", + "Destination": "SharpCompress.dll" + }, + { + "Source": "/Sprache.dll", + "Destination": "Sprache.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Fabric.dll", + "Destination": "System.Fabric.dll" + }, + { + "Source": "/System.Fabric.Strings.dll", + "Destination": "System.Fabric.Strings.dll" + }, + { + "Source": "/System.Net.Http.Extensions.dll", + "Destination": "System.Net.Http.Extensions.dll" + }, + { + "Source": "/System.Net.Http.Primitives.dll", + "Destination": "System.Net.Http.Primitives.dll" + }, + { + "Source": "/System.Spatial.dll", + "Destination": "System.Spatial.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/YamlDotNet.dll", + "Destination": "YamlDotNet.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "de/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "de/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "de/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "de/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "es/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "es/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "es/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "es/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "fr/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "fr/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "fr/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "fr/System.Spatial.resources.dll" + }, + { + "Source": "/fsc.exe", + "Destination": "FSharp/fsc.exe" + }, + { + "Source": "/fsc.exe.config", + "Destination": "FSharp/fsc.exe.config" + }, + { + "Source": "/fsc.xml", + "Destination": "FSharp/fsc.xml" + }, + { + "Source": "/FSharp.Build.dll", + "Destination": "FSharp/FSharp.Build.dll" + }, + { + "Source": "/FSharp.Build.xml", + "Destination": "FSharp/FSharp.Build.xml" + }, + { + "Source": "/FSharp.Compiler.dll", + "Destination": "FSharp/FSharp.Compiler.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.dll", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.dll" + }, + { + "Source": "/FSharp.Compiler.Interactive.Settings.xml", + "Destination": "FSharp/FSharp.Compiler.Interactive.Settings.xml" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.dll", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.dll" + }, + { + "Source": "/FSharp.Compiler.Server.Shared.xml", + "Destination": "FSharp/FSharp.Compiler.Server.Shared.xml" + }, + { + "Source": "/FSharp.Compiler.xml", + "Destination": "FSharp/FSharp.Compiler.xml" + }, + { + "Source": "/FSharp.Core.dll", + "Destination": "FSharp/FSharp.Core.dll" + }, + { + "Source": "/FSharp.Core.optdata", + "Destination": "FSharp/FSharp.Core.optdata" + }, + { + "Source": "/FSharp.Core.sigdata", + "Destination": "FSharp/FSharp.Core.sigdata" + }, + { + "Source": "/FSharp.Core.xml", + "Destination": "FSharp/FSharp.Core.xml" + }, + { + "Source": "/fsi.exe", + "Destination": "FSharp/fsi.exe" + }, + { + "Source": "/fsi.exe.config", + "Destination": "FSharp/fsi.exe.config" + }, + { + "Source": "/fsi.xml", + "Destination": "FSharp/fsi.xml" + }, + { + "Source": "/fsiAnyCpu.exe", + "Destination": "FSharp/fsiAnyCpu.exe" + }, + { + "Source": "/fsiAnyCpu.exe.config", + "Destination": "FSharp/fsiAnyCpu.exe.config" + }, + { + "Source": "/fsiAnyCpu.xml", + "Destination": "FSharp/fsiAnyCpu.xml" + }, + { + "Source": "/Microsoft.Build.dll", + "Destination": "FSharp/Microsoft.Build.dll" + }, + { + "Source": "/Microsoft.Build.Engine.dll", + "Destination": "FSharp/Microsoft.Build.Engine.dll" + }, + { + "Source": "/Microsoft.Build.Framework.dll", + "Destination": "FSharp/Microsoft.Build.Framework.dll" + }, + { + "Source": "/Microsoft.Build.Tasks.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Tasks.v12.0.dll" + }, + { + "Source": "/Microsoft.Build.Utilities.v12.0.dll", + "Destination": "FSharp/Microsoft.Build.Utilities.v12.0.dll" + }, + { + "Source": "/Microsoft.FSharp.Targets", + "Destination": "FSharp/Microsoft.FSharp.Targets" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "it/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "it/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "it/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "it/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "ja/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "ja/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "ja/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "ja/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "ko/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "ko/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "ko/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "ko/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "ru/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "ru/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "ru/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "ru/System.Spatial.resources.dll" + }, + { + "Source": "/Autofac.dll", + "Destination": "ScriptCS/Autofac.dll" + }, + { + "Source": "/Autofac.Integration.Mef.dll", + "Destination": "ScriptCS/Autofac.Integration.Mef.dll" + }, + { + "Source": "/chocolateyInstall.ps1", + "Destination": "ScriptCS/chocolateyInstall.ps1" + }, + { + "Source": "/Common.Logging.dll", + "Destination": "ScriptCS/Common.Logging.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.CSharp.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.CSharp.dll" + }, + { + "Source": "/ICSharpCode.NRefactory.dll", + "Destination": "ScriptCS/ICSharpCode.NRefactory.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Desktop.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Desktop.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.CSharp.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll" + }, + { + "Source": "/Microsoft.CodeAnalysis.Scripting.dll", + "Destination": "ScriptCS/Microsoft.CodeAnalysis.Scripting.dll" + }, + { + "Source": "/Microsoft.Web.XmlTransform.dll", + "Destination": "ScriptCS/Microsoft.Web.XmlTransform.dll" + }, + { + "Source": "/Mono.Cecil.dll", + "Destination": "ScriptCS/Mono.Cecil.dll" + }, + { + "Source": "/Mono.CSharp.dll", + "Destination": "ScriptCS/Mono.CSharp.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "ScriptCS/Newtonsoft.Json.dll" + }, + { + "Source": "/NuGet.Core.dll", + "Destination": "ScriptCS/NuGet.Core.dll" + }, + { + "Source": "/PowerArgs.dll", + "Destination": "ScriptCS/PowerArgs.dll" + }, + { + "Source": "/ScriptCs.Contracts.dll", + "Destination": "ScriptCS/ScriptCs.Contracts.dll" + }, + { + "Source": "/ScriptCs.Core.dll", + "Destination": "ScriptCS/ScriptCs.Core.dll" + }, + { + "Source": "/ScriptCs.Engine.Mono.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Mono.dll" + }, + { + "Source": "/ScriptCs.Engine.Roslyn.dll", + "Destination": "ScriptCS/ScriptCs.Engine.Roslyn.dll" + }, + { + "Source": "/scriptcs.exe", + "Destination": "ScriptCS/scriptcs.exe" + }, + { + "Source": "/scriptcs.exe.config", + "Destination": "ScriptCS/scriptcs.exe.config" + }, + { + "Source": "/ScriptCs.Hosting.dll", + "Destination": "ScriptCS/ScriptCs.Hosting.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "ScriptCS/System.Collections.Immutable.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "ScriptCS/System.Reflection.Metadata.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "zh-Hans/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "zh-Hans/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "zh-Hans/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "zh-Hans/System.Spatial.resources.dll" + }, + { + "Source": "/Microsoft.Data.Edm.resources.dll", + "Destination": "zh-Hant/Microsoft.Data.Edm.resources.dll" + }, + { + "Source": "/Microsoft.Data.OData.resources.dll", + "Destination": "zh-Hant/Microsoft.Data.OData.resources.dll" + }, + { + "Source": "/Microsoft.Data.Services.Client.resources.dll", + "Destination": "zh-Hant/Microsoft.Data.Services.Client.resources.dll" + }, + { + "Source": "/System.Spatial.resources.dll", + "Destination": "zh-Hant/System.Spatial.resources.dll" + } ] } }, @@ -1244,628 +4892,2470 @@ "PackageId": "Calamari.Terraform", "Version": "0.1.7-enh-packcalamari0002", "IsNupkg": false, - "PlatformHashes": { + "PlatformFiles": { "linux-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.Terraform", + "Destination": "Calamari.Terraform" + }, + { + "Source": "/Calamari.Terraform.deps.json", + "Destination": "Calamari.Terraform.deps.json" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/Calamari.Terraform.runtimeconfig.json", + "Destination": "Calamari.Terraform.runtimeconfig.json" + }, + { + "Source": "/createdump", + "Destination": "createdump" + }, + { + "Source": "/libclrjit.so", + "Destination": "libclrjit.so" + }, + { + "Source": "/libcoreclr.so", + "Destination": "libcoreclr.so" + }, + { + "Source": "/libcoreclrtraceptprovider.so", + "Destination": "libcoreclrtraceptprovider.so" + }, + { + "Source": "/libdbgshim.so", + "Destination": "libdbgshim.so" + }, + { + "Source": "/libhostfxr.so", + "Destination": "libhostfxr.so" + }, + { + "Source": "/libhostpolicy.so", + "Destination": "libhostpolicy.so" + }, + { + "Source": "/libmscordaccore.so", + "Destination": "libmscordaccore.so" + }, + { + "Source": "/libmscordbi.so", + "Destination": "libmscordbi.so" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.VisualBasic.Core.dll", + "Destination": "Microsoft.VisualBasic.Core.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/SOS_README.md", + "Destination": "SOS_README.md" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.DataSetExtensions.dll", + "Destination": "System.Data.DataSetExtensions.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.Globalization.Native.so", + "Destination": "System.Globalization.Native.so" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.Native.a", + "Destination": "System.IO.Compression.Native.a" + }, + { + "Source": "/System.IO.Compression.Native.so", + "Destination": "System.IO.Compression.Native.so" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Native.a", + "Destination": "System.Native.a" + }, + { + "Source": "/System.Native.so", + "Destination": "System.Native.so" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.Http.Native.a", + "Destination": "System.Net.Http.Native.a" + }, + { + "Source": "/System.Net.Http.Native.so", + "Destination": "System.Net.Http.Native.so" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.Security.Native.a", + "Destination": "System.Net.Security.Native.a" + }, + { + "Source": "/System.Net.Security.Native.so", + "Destination": "System.Net.Security.Native.so" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Intrinsics.dll", + "Destination": "System.Runtime.Intrinsics.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.dll", + "Destination": "System.Runtime.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.UI.Xaml.dll", + "Destination": "System.Runtime.WindowsRuntime.UI.Xaml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.a", + "Destination": "System.Security.Cryptography.Native.OpenSsl.a" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.so", + "Destination": "System.Security.Cryptography.Native.OpenSsl.so" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.Encodings.Web.dll", + "Destination": "System.Text.Encodings.Web.dll" + }, + { + "Source": "/System.Text.Json.dll", + "Destination": "System.Text.Json.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.Channels.dll", + "Destination": "System.Threading.Channels.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + } ], "netfx": [ - "", - "", - "", - "" + { + "Source": "/Calamari.Terraform.exe", + "Destination": "Calamari.Terraform.exe" + }, + { + "Source": "/Calamari.Terraform.exe.config", + "Destination": "Calamari.Terraform.exe.config" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + } ], "osx-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/Calamari.Terraform", + "Destination": "Calamari.Terraform" + }, + { + "Source": "/Calamari.Terraform.deps.json", + "Destination": "Calamari.Terraform.deps.json" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/Calamari.Terraform.runtimeconfig.json", + "Destination": "Calamari.Terraform.runtimeconfig.json" + }, + { + "Source": "/libclrjit.dylib", + "Destination": "libclrjit.dylib" + }, + { + "Source": "/libcoreclr.dylib", + "Destination": "libcoreclr.dylib" + }, + { + "Source": "/libdbgshim.dylib", + "Destination": "libdbgshim.dylib" + }, + { + "Source": "/libhostfxr.dylib", + "Destination": "libhostfxr.dylib" + }, + { + "Source": "/libhostpolicy.dylib", + "Destination": "libhostpolicy.dylib" + }, + { + "Source": "/libmscordaccore.dylib", + "Destination": "libmscordaccore.dylib" + }, + { + "Source": "/libmscordbi.dylib", + "Destination": "libmscordbi.dylib" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.VisualBasic.Core.dll", + "Destination": "Microsoft.VisualBasic.Core.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/SOS_README.md", + "Destination": "SOS_README.md" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.DataSetExtensions.dll", + "Destination": "System.Data.DataSetExtensions.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.Globalization.Native.dylib", + "Destination": "System.Globalization.Native.dylib" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.Native.a", + "Destination": "System.IO.Compression.Native.a" + }, + { + "Source": "/System.IO.Compression.Native.dylib", + "Destination": "System.IO.Compression.Native.dylib" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Native.a", + "Destination": "System.Native.a" + }, + { + "Source": "/System.Native.dylib", + "Destination": "System.Native.dylib" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.Http.Native.a", + "Destination": "System.Net.Http.Native.a" + }, + { + "Source": "/System.Net.Http.Native.dylib", + "Destination": "System.Net.Http.Native.dylib" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.Security.Native.a", + "Destination": "System.Net.Security.Native.a" + }, + { + "Source": "/System.Net.Security.Native.dylib", + "Destination": "System.Net.Security.Native.dylib" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Intrinsics.dll", + "Destination": "System.Runtime.Intrinsics.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.dll", + "Destination": "System.Runtime.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.UI.Xaml.dll", + "Destination": "System.Runtime.WindowsRuntime.UI.Xaml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.Native.Apple.a", + "Destination": "System.Security.Cryptography.Native.Apple.a" + }, + { + "Source": "/System.Security.Cryptography.Native.Apple.dylib", + "Destination": "System.Security.Cryptography.Native.Apple.dylib" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.a", + "Destination": "System.Security.Cryptography.Native.OpenSsl.a" + }, + { + "Source": "/System.Security.Cryptography.Native.OpenSsl.dylib", + "Destination": "System.Security.Cryptography.Native.OpenSsl.dylib" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.Encodings.Web.dll", + "Destination": "System.Text.Encodings.Web.dll" + }, + { + "Source": "/System.Text.Json.dll", + "Destination": "System.Text.Json.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.Channels.dll", + "Destination": "System.Threading.Channels.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + } ], "win-x64": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + { + "Source": "/api-ms-win-core-console-l1-1-0.dll", + "Destination": "api-ms-win-core-console-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-datetime-l1-1-0.dll", + "Destination": "api-ms-win-core-datetime-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-debug-l1-1-0.dll", + "Destination": "api-ms-win-core-debug-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-errorhandling-l1-1-0.dll", + "Destination": "api-ms-win-core-errorhandling-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l1-1-0.dll", + "Destination": "api-ms-win-core-file-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l1-2-0.dll", + "Destination": "api-ms-win-core-file-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-file-l2-1-0.dll", + "Destination": "api-ms-win-core-file-l2-1-0.dll" + }, + { + "Source": "/api-ms-win-core-handle-l1-1-0.dll", + "Destination": "api-ms-win-core-handle-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-heap-l1-1-0.dll", + "Destination": "api-ms-win-core-heap-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-interlocked-l1-1-0.dll", + "Destination": "api-ms-win-core-interlocked-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-libraryloader-l1-1-0.dll", + "Destination": "api-ms-win-core-libraryloader-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-localization-l1-2-0.dll", + "Destination": "api-ms-win-core-localization-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-memory-l1-1-0.dll", + "Destination": "api-ms-win-core-memory-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-namedpipe-l1-1-0.dll", + "Destination": "api-ms-win-core-namedpipe-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processenvironment-l1-1-0.dll", + "Destination": "api-ms-win-core-processenvironment-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processthreads-l1-1-0.dll", + "Destination": "api-ms-win-core-processthreads-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-processthreads-l1-1-1.dll", + "Destination": "api-ms-win-core-processthreads-l1-1-1.dll" + }, + { + "Source": "/api-ms-win-core-profile-l1-1-0.dll", + "Destination": "api-ms-win-core-profile-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-rtlsupport-l1-1-0.dll", + "Destination": "api-ms-win-core-rtlsupport-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-string-l1-1-0.dll", + "Destination": "api-ms-win-core-string-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-synch-l1-1-0.dll", + "Destination": "api-ms-win-core-synch-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-synch-l1-2-0.dll", + "Destination": "api-ms-win-core-synch-l1-2-0.dll" + }, + { + "Source": "/api-ms-win-core-sysinfo-l1-1-0.dll", + "Destination": "api-ms-win-core-sysinfo-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-timezone-l1-1-0.dll", + "Destination": "api-ms-win-core-timezone-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-core-util-l1-1-0.dll", + "Destination": "api-ms-win-core-util-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-conio-l1-1-0.dll", + "Destination": "api-ms-win-crt-conio-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-convert-l1-1-0.dll", + "Destination": "api-ms-win-crt-convert-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-environment-l1-1-0.dll", + "Destination": "api-ms-win-crt-environment-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-filesystem-l1-1-0.dll", + "Destination": "api-ms-win-crt-filesystem-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-heap-l1-1-0.dll", + "Destination": "api-ms-win-crt-heap-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-locale-l1-1-0.dll", + "Destination": "api-ms-win-crt-locale-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-math-l1-1-0.dll", + "Destination": "api-ms-win-crt-math-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-multibyte-l1-1-0.dll", + "Destination": "api-ms-win-crt-multibyte-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-private-l1-1-0.dll", + "Destination": "api-ms-win-crt-private-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-process-l1-1-0.dll", + "Destination": "api-ms-win-crt-process-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-runtime-l1-1-0.dll", + "Destination": "api-ms-win-crt-runtime-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-stdio-l1-1-0.dll", + "Destination": "api-ms-win-crt-stdio-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-string-l1-1-0.dll", + "Destination": "api-ms-win-crt-string-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-time-l1-1-0.dll", + "Destination": "api-ms-win-crt-time-l1-1-0.dll" + }, + { + "Source": "/api-ms-win-crt-utility-l1-1-0.dll", + "Destination": "api-ms-win-crt-utility-l1-1-0.dll" + }, + { + "Source": "/Calamari.Terraform.deps.json", + "Destination": "Calamari.Terraform.deps.json" + }, + { + "Source": "/Calamari.Terraform.dll", + "Destination": "Calamari.Terraform.dll" + }, + { + "Source": "/Calamari.Terraform.exe", + "Destination": "Calamari.Terraform.exe" + }, + { + "Source": "/Calamari.Terraform.pdb", + "Destination": "Calamari.Terraform.pdb" + }, + { + "Source": "/Calamari.Terraform.runtimeconfig.json", + "Destination": "Calamari.Terraform.runtimeconfig.json" + }, + { + "Source": "/clrcompression.dll", + "Destination": "clrcompression.dll" + }, + { + "Source": "/clretwrc.dll", + "Destination": "clretwrc.dll" + }, + { + "Source": "/clrjit.dll", + "Destination": "clrjit.dll" + }, + { + "Source": "/coreclr.dll", + "Destination": "coreclr.dll" + }, + { + "Source": "/dbgshim.dll", + "Destination": "dbgshim.dll" + }, + { + "Source": "/hostfxr.dll", + "Destination": "hostfxr.dll" + }, + { + "Source": "/hostpolicy.dll", + "Destination": "hostpolicy.dll" + }, + { + "Source": "/Microsoft.CSharp.dll", + "Destination": "Microsoft.CSharp.dll" + }, + { + "Source": "/Microsoft.DiaSymReader.Native.amd64.dll", + "Destination": "Microsoft.DiaSymReader.Native.amd64.dll" + }, + { + "Source": "/Microsoft.VisualBasic.Core.dll", + "Destination": "Microsoft.VisualBasic.Core.dll" + }, + { + "Source": "/Microsoft.VisualBasic.dll", + "Destination": "Microsoft.VisualBasic.dll" + }, + { + "Source": "/Microsoft.Win32.Primitives.dll", + "Destination": "Microsoft.Win32.Primitives.dll" + }, + { + "Source": "/Microsoft.Win32.Registry.dll", + "Destination": "Microsoft.Win32.Registry.dll" + }, + { + "Source": "/mscordaccore.dll", + "Destination": "mscordaccore.dll" + }, + { + "Source": "/mscordaccore_amd64_amd64_.dll", + "Destination": "mscordaccore_amd64_amd64_.dll" + }, + { + "Source": "/mscordbi.dll", + "Destination": "mscordbi.dll" + }, + { + "Source": "/mscorlib.dll", + "Destination": "mscorlib.dll" + }, + { + "Source": "/mscorrc.debug.dll", + "Destination": "mscorrc.debug.dll" + }, + { + "Source": "/mscorrc.dll", + "Destination": "mscorrc.dll" + }, + { + "Source": "/netstandard.dll", + "Destination": "netstandard.dll" + }, + { + "Source": "/Newtonsoft.Json.dll", + "Destination": "Newtonsoft.Json.dll" + }, + { + "Source": "/SOS_README.md", + "Destination": "SOS_README.md" + }, + { + "Source": "/System.AppContext.dll", + "Destination": "System.AppContext.dll" + }, + { + "Source": "/System.Buffers.dll", + "Destination": "System.Buffers.dll" + }, + { + "Source": "/System.Collections.Concurrent.dll", + "Destination": "System.Collections.Concurrent.dll" + }, + { + "Source": "/System.Collections.dll", + "Destination": "System.Collections.dll" + }, + { + "Source": "/System.Collections.Immutable.dll", + "Destination": "System.Collections.Immutable.dll" + }, + { + "Source": "/System.Collections.NonGeneric.dll", + "Destination": "System.Collections.NonGeneric.dll" + }, + { + "Source": "/System.Collections.Specialized.dll", + "Destination": "System.Collections.Specialized.dll" + }, + { + "Source": "/System.ComponentModel.Annotations.dll", + "Destination": "System.ComponentModel.Annotations.dll" + }, + { + "Source": "/System.ComponentModel.DataAnnotations.dll", + "Destination": "System.ComponentModel.DataAnnotations.dll" + }, + { + "Source": "/System.ComponentModel.dll", + "Destination": "System.ComponentModel.dll" + }, + { + "Source": "/System.ComponentModel.EventBasedAsync.dll", + "Destination": "System.ComponentModel.EventBasedAsync.dll" + }, + { + "Source": "/System.ComponentModel.Primitives.dll", + "Destination": "System.ComponentModel.Primitives.dll" + }, + { + "Source": "/System.ComponentModel.TypeConverter.dll", + "Destination": "System.ComponentModel.TypeConverter.dll" + }, + { + "Source": "/System.Configuration.dll", + "Destination": "System.Configuration.dll" + }, + { + "Source": "/System.Console.dll", + "Destination": "System.Console.dll" + }, + { + "Source": "/System.Core.dll", + "Destination": "System.Core.dll" + }, + { + "Source": "/System.Data.Common.dll", + "Destination": "System.Data.Common.dll" + }, + { + "Source": "/System.Data.DataSetExtensions.dll", + "Destination": "System.Data.DataSetExtensions.dll" + }, + { + "Source": "/System.Data.dll", + "Destination": "System.Data.dll" + }, + { + "Source": "/System.Diagnostics.Contracts.dll", + "Destination": "System.Diagnostics.Contracts.dll" + }, + { + "Source": "/System.Diagnostics.Debug.dll", + "Destination": "System.Diagnostics.Debug.dll" + }, + { + "Source": "/System.Diagnostics.DiagnosticSource.dll", + "Destination": "System.Diagnostics.DiagnosticSource.dll" + }, + { + "Source": "/System.Diagnostics.FileVersionInfo.dll", + "Destination": "System.Diagnostics.FileVersionInfo.dll" + }, + { + "Source": "/System.Diagnostics.Process.dll", + "Destination": "System.Diagnostics.Process.dll" + }, + { + "Source": "/System.Diagnostics.StackTrace.dll", + "Destination": "System.Diagnostics.StackTrace.dll" + }, + { + "Source": "/System.Diagnostics.TextWriterTraceListener.dll", + "Destination": "System.Diagnostics.TextWriterTraceListener.dll" + }, + { + "Source": "/System.Diagnostics.Tools.dll", + "Destination": "System.Diagnostics.Tools.dll" + }, + { + "Source": "/System.Diagnostics.TraceSource.dll", + "Destination": "System.Diagnostics.TraceSource.dll" + }, + { + "Source": "/System.Diagnostics.Tracing.dll", + "Destination": "System.Diagnostics.Tracing.dll" + }, + { + "Source": "/System.dll", + "Destination": "System.dll" + }, + { + "Source": "/System.Drawing.dll", + "Destination": "System.Drawing.dll" + }, + { + "Source": "/System.Drawing.Primitives.dll", + "Destination": "System.Drawing.Primitives.dll" + }, + { + "Source": "/System.Dynamic.Runtime.dll", + "Destination": "System.Dynamic.Runtime.dll" + }, + { + "Source": "/System.Globalization.Calendars.dll", + "Destination": "System.Globalization.Calendars.dll" + }, + { + "Source": "/System.Globalization.dll", + "Destination": "System.Globalization.dll" + }, + { + "Source": "/System.Globalization.Extensions.dll", + "Destination": "System.Globalization.Extensions.dll" + }, + { + "Source": "/System.IO.Compression.Brotli.dll", + "Destination": "System.IO.Compression.Brotli.dll" + }, + { + "Source": "/System.IO.Compression.dll", + "Destination": "System.IO.Compression.dll" + }, + { + "Source": "/System.IO.Compression.FileSystem.dll", + "Destination": "System.IO.Compression.FileSystem.dll" + }, + { + "Source": "/System.IO.Compression.ZipFile.dll", + "Destination": "System.IO.Compression.ZipFile.dll" + }, + { + "Source": "/System.IO.dll", + "Destination": "System.IO.dll" + }, + { + "Source": "/System.IO.FileSystem.AccessControl.dll", + "Destination": "System.IO.FileSystem.AccessControl.dll" + }, + { + "Source": "/System.IO.FileSystem.dll", + "Destination": "System.IO.FileSystem.dll" + }, + { + "Source": "/System.IO.FileSystem.DriveInfo.dll", + "Destination": "System.IO.FileSystem.DriveInfo.dll" + }, + { + "Source": "/System.IO.FileSystem.Primitives.dll", + "Destination": "System.IO.FileSystem.Primitives.dll" + }, + { + "Source": "/System.IO.FileSystem.Watcher.dll", + "Destination": "System.IO.FileSystem.Watcher.dll" + }, + { + "Source": "/System.IO.IsolatedStorage.dll", + "Destination": "System.IO.IsolatedStorage.dll" + }, + { + "Source": "/System.IO.MemoryMappedFiles.dll", + "Destination": "System.IO.MemoryMappedFiles.dll" + }, + { + "Source": "/System.IO.Pipes.AccessControl.dll", + "Destination": "System.IO.Pipes.AccessControl.dll" + }, + { + "Source": "/System.IO.Pipes.dll", + "Destination": "System.IO.Pipes.dll" + }, + { + "Source": "/System.IO.UnmanagedMemoryStream.dll", + "Destination": "System.IO.UnmanagedMemoryStream.dll" + }, + { + "Source": "/System.Linq.dll", + "Destination": "System.Linq.dll" + }, + { + "Source": "/System.Linq.Expressions.dll", + "Destination": "System.Linq.Expressions.dll" + }, + { + "Source": "/System.Linq.Parallel.dll", + "Destination": "System.Linq.Parallel.dll" + }, + { + "Source": "/System.Linq.Queryable.dll", + "Destination": "System.Linq.Queryable.dll" + }, + { + "Source": "/System.Memory.dll", + "Destination": "System.Memory.dll" + }, + { + "Source": "/System.Net.dll", + "Destination": "System.Net.dll" + }, + { + "Source": "/System.Net.Http.dll", + "Destination": "System.Net.Http.dll" + }, + { + "Source": "/System.Net.HttpListener.dll", + "Destination": "System.Net.HttpListener.dll" + }, + { + "Source": "/System.Net.Mail.dll", + "Destination": "System.Net.Mail.dll" + }, + { + "Source": "/System.Net.NameResolution.dll", + "Destination": "System.Net.NameResolution.dll" + }, + { + "Source": "/System.Net.NetworkInformation.dll", + "Destination": "System.Net.NetworkInformation.dll" + }, + { + "Source": "/System.Net.Ping.dll", + "Destination": "System.Net.Ping.dll" + }, + { + "Source": "/System.Net.Primitives.dll", + "Destination": "System.Net.Primitives.dll" + }, + { + "Source": "/System.Net.Requests.dll", + "Destination": "System.Net.Requests.dll" + }, + { + "Source": "/System.Net.Security.dll", + "Destination": "System.Net.Security.dll" + }, + { + "Source": "/System.Net.ServicePoint.dll", + "Destination": "System.Net.ServicePoint.dll" + }, + { + "Source": "/System.Net.Sockets.dll", + "Destination": "System.Net.Sockets.dll" + }, + { + "Source": "/System.Net.WebClient.dll", + "Destination": "System.Net.WebClient.dll" + }, + { + "Source": "/System.Net.WebHeaderCollection.dll", + "Destination": "System.Net.WebHeaderCollection.dll" + }, + { + "Source": "/System.Net.WebProxy.dll", + "Destination": "System.Net.WebProxy.dll" + }, + { + "Source": "/System.Net.WebSockets.Client.dll", + "Destination": "System.Net.WebSockets.Client.dll" + }, + { + "Source": "/System.Net.WebSockets.dll", + "Destination": "System.Net.WebSockets.dll" + }, + { + "Source": "/System.Numerics.dll", + "Destination": "System.Numerics.dll" + }, + { + "Source": "/System.Numerics.Vectors.dll", + "Destination": "System.Numerics.Vectors.dll" + }, + { + "Source": "/System.ObjectModel.dll", + "Destination": "System.ObjectModel.dll" + }, + { + "Source": "/System.Private.CoreLib.dll", + "Destination": "System.Private.CoreLib.dll" + }, + { + "Source": "/System.Private.DataContractSerialization.dll", + "Destination": "System.Private.DataContractSerialization.dll" + }, + { + "Source": "/System.Private.Uri.dll", + "Destination": "System.Private.Uri.dll" + }, + { + "Source": "/System.Private.Xml.dll", + "Destination": "System.Private.Xml.dll" + }, + { + "Source": "/System.Private.Xml.Linq.dll", + "Destination": "System.Private.Xml.Linq.dll" + }, + { + "Source": "/System.Reflection.DispatchProxy.dll", + "Destination": "System.Reflection.DispatchProxy.dll" + }, + { + "Source": "/System.Reflection.dll", + "Destination": "System.Reflection.dll" + }, + { + "Source": "/System.Reflection.Emit.dll", + "Destination": "System.Reflection.Emit.dll" + }, + { + "Source": "/System.Reflection.Emit.ILGeneration.dll", + "Destination": "System.Reflection.Emit.ILGeneration.dll" + }, + { + "Source": "/System.Reflection.Emit.Lightweight.dll", + "Destination": "System.Reflection.Emit.Lightweight.dll" + }, + { + "Source": "/System.Reflection.Extensions.dll", + "Destination": "System.Reflection.Extensions.dll" + }, + { + "Source": "/System.Reflection.Metadata.dll", + "Destination": "System.Reflection.Metadata.dll" + }, + { + "Source": "/System.Reflection.Primitives.dll", + "Destination": "System.Reflection.Primitives.dll" + }, + { + "Source": "/System.Reflection.TypeExtensions.dll", + "Destination": "System.Reflection.TypeExtensions.dll" + }, + { + "Source": "/System.Resources.Reader.dll", + "Destination": "System.Resources.Reader.dll" + }, + { + "Source": "/System.Resources.ResourceManager.dll", + "Destination": "System.Resources.ResourceManager.dll" + }, + { + "Source": "/System.Resources.Writer.dll", + "Destination": "System.Resources.Writer.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.Unsafe.dll", + "Destination": "System.Runtime.CompilerServices.Unsafe.dll" + }, + { + "Source": "/System.Runtime.CompilerServices.VisualC.dll", + "Destination": "System.Runtime.CompilerServices.VisualC.dll" + }, + { + "Source": "/System.Runtime.dll", + "Destination": "System.Runtime.dll" + }, + { + "Source": "/System.Runtime.Extensions.dll", + "Destination": "System.Runtime.Extensions.dll" + }, + { + "Source": "/System.Runtime.Handles.dll", + "Destination": "System.Runtime.Handles.dll" + }, + { + "Source": "/System.Runtime.InteropServices.dll", + "Destination": "System.Runtime.InteropServices.dll" + }, + { + "Source": "/System.Runtime.InteropServices.RuntimeInformation.dll", + "Destination": "System.Runtime.InteropServices.RuntimeInformation.dll" + }, + { + "Source": "/System.Runtime.InteropServices.WindowsRuntime.dll", + "Destination": "System.Runtime.InteropServices.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.Intrinsics.dll", + "Destination": "System.Runtime.Intrinsics.dll" + }, + { + "Source": "/System.Runtime.Loader.dll", + "Destination": "System.Runtime.Loader.dll" + }, + { + "Source": "/System.Runtime.Numerics.dll", + "Destination": "System.Runtime.Numerics.dll" + }, + { + "Source": "/System.Runtime.Serialization.dll", + "Destination": "System.Runtime.Serialization.dll" + }, + { + "Source": "/System.Runtime.Serialization.Formatters.dll", + "Destination": "System.Runtime.Serialization.Formatters.dll" + }, + { + "Source": "/System.Runtime.Serialization.Json.dll", + "Destination": "System.Runtime.Serialization.Json.dll" + }, + { + "Source": "/System.Runtime.Serialization.Primitives.dll", + "Destination": "System.Runtime.Serialization.Primitives.dll" + }, + { + "Source": "/System.Runtime.Serialization.Xml.dll", + "Destination": "System.Runtime.Serialization.Xml.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.dll", + "Destination": "System.Runtime.WindowsRuntime.dll" + }, + { + "Source": "/System.Runtime.WindowsRuntime.UI.Xaml.dll", + "Destination": "System.Runtime.WindowsRuntime.UI.Xaml.dll" + }, + { + "Source": "/System.Security.AccessControl.dll", + "Destination": "System.Security.AccessControl.dll" + }, + { + "Source": "/System.Security.Claims.dll", + "Destination": "System.Security.Claims.dll" + }, + { + "Source": "/System.Security.Cryptography.Algorithms.dll", + "Destination": "System.Security.Cryptography.Algorithms.dll" + }, + { + "Source": "/System.Security.Cryptography.Cng.dll", + "Destination": "System.Security.Cryptography.Cng.dll" + }, + { + "Source": "/System.Security.Cryptography.Csp.dll", + "Destination": "System.Security.Cryptography.Csp.dll" + }, + { + "Source": "/System.Security.Cryptography.Encoding.dll", + "Destination": "System.Security.Cryptography.Encoding.dll" + }, + { + "Source": "/System.Security.Cryptography.OpenSsl.dll", + "Destination": "System.Security.Cryptography.OpenSsl.dll" + }, + { + "Source": "/System.Security.Cryptography.Primitives.dll", + "Destination": "System.Security.Cryptography.Primitives.dll" + }, + { + "Source": "/System.Security.Cryptography.X509Certificates.dll", + "Destination": "System.Security.Cryptography.X509Certificates.dll" + }, + { + "Source": "/System.Security.dll", + "Destination": "System.Security.dll" + }, + { + "Source": "/System.Security.Principal.dll", + "Destination": "System.Security.Principal.dll" + }, + { + "Source": "/System.Security.Principal.Windows.dll", + "Destination": "System.Security.Principal.Windows.dll" + }, + { + "Source": "/System.Security.SecureString.dll", + "Destination": "System.Security.SecureString.dll" + }, + { + "Source": "/System.ServiceModel.Web.dll", + "Destination": "System.ServiceModel.Web.dll" + }, + { + "Source": "/System.ServiceProcess.dll", + "Destination": "System.ServiceProcess.dll" + }, + { + "Source": "/System.Text.Encoding.CodePages.dll", + "Destination": "System.Text.Encoding.CodePages.dll" + }, + { + "Source": "/System.Text.Encoding.dll", + "Destination": "System.Text.Encoding.dll" + }, + { + "Source": "/System.Text.Encoding.Extensions.dll", + "Destination": "System.Text.Encoding.Extensions.dll" + }, + { + "Source": "/System.Text.Encodings.Web.dll", + "Destination": "System.Text.Encodings.Web.dll" + }, + { + "Source": "/System.Text.Json.dll", + "Destination": "System.Text.Json.dll" + }, + { + "Source": "/System.Text.RegularExpressions.dll", + "Destination": "System.Text.RegularExpressions.dll" + }, + { + "Source": "/System.Threading.Channels.dll", + "Destination": "System.Threading.Channels.dll" + }, + { + "Source": "/System.Threading.dll", + "Destination": "System.Threading.dll" + }, + { + "Source": "/System.Threading.Overlapped.dll", + "Destination": "System.Threading.Overlapped.dll" + }, + { + "Source": "/System.Threading.Tasks.Dataflow.dll", + "Destination": "System.Threading.Tasks.Dataflow.dll" + }, + { + "Source": "/System.Threading.Tasks.dll", + "Destination": "System.Threading.Tasks.dll" + }, + { + "Source": "/System.Threading.Tasks.Extensions.dll", + "Destination": "System.Threading.Tasks.Extensions.dll" + }, + { + "Source": "/System.Threading.Tasks.Parallel.dll", + "Destination": "System.Threading.Tasks.Parallel.dll" + }, + { + "Source": "/System.Threading.Thread.dll", + "Destination": "System.Threading.Thread.dll" + }, + { + "Source": "/System.Threading.ThreadPool.dll", + "Destination": "System.Threading.ThreadPool.dll" + }, + { + "Source": "/System.Threading.Timer.dll", + "Destination": "System.Threading.Timer.dll" + }, + { + "Source": "/System.Transactions.dll", + "Destination": "System.Transactions.dll" + }, + { + "Source": "/System.Transactions.Local.dll", + "Destination": "System.Transactions.Local.dll" + }, + { + "Source": "/System.ValueTuple.dll", + "Destination": "System.ValueTuple.dll" + }, + { + "Source": "/System.Web.dll", + "Destination": "System.Web.dll" + }, + { + "Source": "/System.Web.HttpUtility.dll", + "Destination": "System.Web.HttpUtility.dll" + }, + { + "Source": "/System.Windows.dll", + "Destination": "System.Windows.dll" + }, + { + "Source": "/System.Xml.dll", + "Destination": "System.Xml.dll" + }, + { + "Source": "/System.Xml.Linq.dll", + "Destination": "System.Xml.Linq.dll" + }, + { + "Source": "/System.Xml.ReaderWriter.dll", + "Destination": "System.Xml.ReaderWriter.dll" + }, + { + "Source": "/System.Xml.Serialization.dll", + "Destination": "System.Xml.Serialization.dll" + }, + { + "Source": "/System.Xml.XDocument.dll", + "Destination": "System.Xml.XDocument.dll" + }, + { + "Source": "/System.Xml.XmlDocument.dll", + "Destination": "System.Xml.XmlDocument.dll" + }, + { + "Source": "/System.Xml.XmlSerializer.dll", + "Destination": "System.Xml.XmlSerializer.dll" + }, + { + "Source": "/System.Xml.XPath.dll", + "Destination": "System.Xml.XPath.dll" + }, + { + "Source": "/System.Xml.XPath.XDocument.dll", + "Destination": "System.Xml.XPath.XDocument.dll" + }, + { + "Source": "/ucrtbase.dll", + "Destination": "ucrtbase.dll" + }, + { + "Source": "/WindowsBase.dll", + "Destination": "WindowsBase.dll" + } ] } } diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenThePackageContentsShouldBe.approved.txt b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenThePackageContentsShouldBe.approved.txt index 068b770ae..0c51cb1f7 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenThePackageContentsShouldBe.approved.txt +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.AndThenThePackageContentsShouldBe.approved.txt @@ -1,1432 +1,1431 @@ -\AlphaFS.dll -\AlphaFS.dll -\api-ms-win-core-console-l1-1-0.dll -\api-ms-win-core-datetime-l1-1-0.dll -\api-ms-win-core-debug-l1-1-0.dll -\api-ms-win-core-errorhandling-l1-1-0.dll -\api-ms-win-core-file-l1-1-0.dll -\api-ms-win-core-file-l1-2-0.dll -\api-ms-win-core-file-l2-1-0.dll -\api-ms-win-core-handle-l1-1-0.dll -\api-ms-win-core-heap-l1-1-0.dll -\api-ms-win-core-interlocked-l1-1-0.dll -\api-ms-win-core-libraryloader-l1-1-0.dll -\api-ms-win-core-localization-l1-2-0.dll -\api-ms-win-core-memory-l1-1-0.dll -\api-ms-win-core-namedpipe-l1-1-0.dll -\api-ms-win-core-processenvironment-l1-1-0.dll -\api-ms-win-core-processthreads-l1-1-0.dll -\api-ms-win-core-processthreads-l1-1-1.dll -\api-ms-win-core-profile-l1-1-0.dll -\api-ms-win-core-rtlsupport-l1-1-0.dll -\api-ms-win-core-string-l1-1-0.dll -\api-ms-win-core-synch-l1-1-0.dll -\api-ms-win-core-synch-l1-2-0.dll -\api-ms-win-core-sysinfo-l1-1-0.dll -\api-ms-win-core-timezone-l1-1-0.dll -\api-ms-win-core-util-l1-1-0.dll -\api-ms-win-crt-conio-l1-1-0.dll -\api-ms-win-crt-convert-l1-1-0.dll -\api-ms-win-crt-environment-l1-1-0.dll -\api-ms-win-crt-filesystem-l1-1-0.dll -\api-ms-win-crt-heap-l1-1-0.dll -\api-ms-win-crt-locale-l1-1-0.dll -\api-ms-win-crt-math-l1-1-0.dll -\api-ms-win-crt-multibyte-l1-1-0.dll -\api-ms-win-crt-private-l1-1-0.dll -\api-ms-win-crt-process-l1-1-0.dll -\api-ms-win-crt-runtime-l1-1-0.dll -\api-ms-win-crt-stdio-l1-1-0.dll -\api-ms-win-crt-string-l1-1-0.dll -\api-ms-win-crt-time-l1-1-0.dll -\api-ms-win-crt-utility-l1-1-0.dll -\Autofac.dll -\Autofac.dll -\Autofac.dll -\AWSSDK.CloudFormation.dll -\AWSSDK.CloudFormation.dll -\AWSSDK.Core.dll -\AWSSDK.Core.dll -\AWSSDK.IdentityManagement.dll -\AWSSDK.IdentityManagement.dll -\AWSSDK.S3.dll -\AWSSDK.S3.dll -\AWSSDK.SecurityToken.dll -\AWSSDK.SecurityToken.dll -\BouncyCastle.Crypto.dll -\Calamari -\Calamari -\Calamari.Aws.dll -\Calamari.Aws.dll -\Calamari.Aws.dll -\Calamari.Aws.dll -\Calamari.Aws.dll.config -\Calamari.Aws.pdb -\Calamari.Aws.pdb -\Calamari.Azure.Accounts.dll -\Calamari.Azure.Accounts.dll -\Calamari.Azure.Accounts.dll -\Calamari.Azure.Accounts.dll -\Calamari.Azure.Accounts.pdb -\Calamari.Azure.CloudServices.dll -\Calamari.Azure.CloudServices.dll.config -\Calamari.Azure.CloudServices.pdb -\Calamari.Azure.dll -\Calamari.Azure.dll -\Calamari.Azure.dll -\Calamari.Azure.dll -\Calamari.Azure.dll.config -\Calamari.Azure.exe.manifest -\Calamari.Azure.pdb -\Calamari.Azure.pdb -\Calamari.Azure.ServiceFabric.dll -\Calamari.Azure.ServiceFabric.dll.config -\Calamari.Azure.ServiceFabric.pdb -\Calamari.Azure.WebApps.dll -\Calamari.Azure.WebApps.dll.config -\Calamari.Azure.WebApps.pdb -\Calamari.Cloud.nuspec -\Calamari.deps.json -\Calamari.deps.json -\Calamari.deps.json -\Calamari.dll -\Calamari.dll -\Calamari.dll -\Calamari.dll.config -\Calamari.exe -\Calamari.exe -\Calamari.exe -\Calamari.exe.config -\Calamari.exe.config -\Calamari.exe.manifest -\Calamari.linux-x64.nuspec -\Calamari.nuspec -\Calamari.osx-x64.nuspec -\Calamari.pdb -\Calamari.pdb -\Calamari.pdb -\Calamari.runtimeconfig.json -\Calamari.Shared.dll -\Calamari.Shared.dll -\Calamari.Shared.dll -\Calamari.Shared.dll -\Calamari.Shared.dll -\Calamari.Shared.pdb -\Calamari.Shared.pdb -\Calamari.Shared.pdb -\Calamari.Terraform -\Calamari.Terraform -\Calamari.Terraform.deps.json -\Calamari.Terraform.deps.json -\Calamari.Terraform.deps.json -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.dll -\Calamari.Terraform.exe -\Calamari.Terraform.exe -\Calamari.Terraform.exe.config -\Calamari.Terraform.pdb -\Calamari.Terraform.pdb -\Calamari.Terraform.pdb -\Calamari.Terraform.pdb -\Calamari.Terraform.runtimeconfig.json -\Calamari.win-x64.nuspec -\clrcompression.dll -\clrcompression.dll -\clretwrc.dll -\clretwrc.dll -\clrjit.dll -\clrjit.dll -\coreclr.dll -\coreclr.dll -\createdump -\createdump -\dbgshim.dll -\dbgshim.dll -\de/Microsoft.Data.Edm.resources.dll -\de/Microsoft.Data.OData.resources.dll -\de/Microsoft.Data.Services.Client.resources.dll -\de/System.Spatial.resources.dll -\es/Microsoft.Data.Edm.resources.dll -\es/Microsoft.Data.OData.resources.dll -\es/Microsoft.Data.Services.Client.resources.dll -\es/System.Spatial.resources.dll -\fr/Microsoft.Data.Edm.resources.dll -\fr/Microsoft.Data.OData.resources.dll -\fr/Microsoft.Data.Services.Client.resources.dll -\fr/System.Spatial.resources.dll -\FSharp/fsc.exe -\FSharp/fsc.exe.config -\FSharp/fsc.xml -\FSharp/FSharp.Build.dll -\FSharp/FSharp.Build.xml -\FSharp/FSharp.Compiler.dll -\FSharp/FSharp.Compiler.Interactive.Settings.dll -\FSharp/FSharp.Compiler.Interactive.Settings.xml -\FSharp/FSharp.Compiler.Server.Shared.dll -\FSharp/FSharp.Compiler.Server.Shared.xml -\FSharp/FSharp.Compiler.xml -\FSharp/FSharp.Core.dll -\FSharp/FSharp.Core.optdata -\FSharp/FSharp.Core.sigdata -\FSharp/FSharp.Core.xml -\FSharp/fsi.exe -\FSharp/fsi.exe.config -\FSharp/fsi.xml -\FSharp/fsiAnyCpu.exe -\FSharp/fsiAnyCpu.exe.config -\FSharp/fsiAnyCpu.xml -\FSharp/Microsoft.Build.dll -\FSharp/Microsoft.Build.Engine.dll -\FSharp/Microsoft.Build.Framework.dll -\FSharp/Microsoft.Build.Tasks.v12.0.dll -\FSharp/Microsoft.Build.Utilities.v12.0.dll -\FSharp/Microsoft.FSharp.Targets -\hostfxr.dll -\hostfxr.dll -\hostpolicy.dll -\hostpolicy.dll -\Hyak.Common.dll -\it/Microsoft.Data.Edm.resources.dll -\it/Microsoft.Data.OData.resources.dll -\it/Microsoft.Data.Services.Client.resources.dll -\it/System.Spatial.resources.dll -\ja/Microsoft.Data.Edm.resources.dll -\ja/Microsoft.Data.OData.resources.dll -\ja/Microsoft.Data.Services.Client.resources.dll -\ja/System.Spatial.resources.dll -\javatest.jar -\ko/Microsoft.Data.Edm.resources.dll -\ko/Microsoft.Data.OData.resources.dll -\ko/Microsoft.Data.Services.Client.resources.dll -\ko/System.Spatial.resources.dll -\libclrjit.dylib -\libclrjit.dylib -\libclrjit.so -\libclrjit.so -\libcoreclr.dylib -\libcoreclr.dylib -\libcoreclr.so -\libcoreclr.so -\libcoreclrtraceptprovider.so -\libcoreclrtraceptprovider.so -\libdbgshim.dylib -\libdbgshim.dylib -\libdbgshim.so -\libdbgshim.so -\libhostfxr.dylib -\libhostfxr.dylib -\libhostfxr.so -\libhostfxr.so -\libhostpolicy.dylib -\libhostpolicy.dylib -\libhostpolicy.so -\libhostpolicy.so -\libmscordaccore.dylib -\libmscordaccore.dylib -\libmscordaccore.so -\libmscordaccore.so -\libmscordbi.dylib -\libmscordbi.dylib -\libmscordbi.so -\libmscordbi.so -\libsos.dylib -\libsos.so -\libsosplugin.so -\Markdig.dll -\Markdig.dll -\Markdown.dll -\MarkdownSharp.dll -\Microsoft.Azure.Common.dll -\Microsoft.Azure.Management.ResourceManager.dll -\Microsoft.Azure.Management.ResourceManager.dll -\Microsoft.Azure.Management.Websites.dll -\Microsoft.CSharp.dll -\Microsoft.CSharp.dll -\Microsoft.CSharp.dll -\Microsoft.CSharp.dll -\Microsoft.CSharp.dll -\Microsoft.CSharp.dll -\Microsoft.Data.Edm.dll -\Microsoft.Data.OData.dll -\Microsoft.Data.Services.Client.dll -\Microsoft.DiaSymReader.Native.amd64.dll -\Microsoft.Extensions.Caching.Abstractions.dll -\Microsoft.Extensions.Caching.Memory.dll -\Microsoft.Extensions.CommandLineUtils.dll -\Microsoft.Extensions.DependencyInjection.Abstractions.dll -\Microsoft.Extensions.Options.dll -\Microsoft.Extensions.Primitives.dll -\Microsoft.IdentityModel.Clients.ActiveDirectory.dll -\Microsoft.IdentityModel.Clients.ActiveDirectory.dll -\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll -\Microsoft.Rest.ClientRuntime.Azure.dll -\Microsoft.Rest.ClientRuntime.Azure.dll -\Microsoft.Rest.ClientRuntime.dll -\Microsoft.Rest.ClientRuntime.dll -\Microsoft.ServiceFabric.Internal.dll -\Microsoft.ServiceFabric.Internal.Strings.dll -\Microsoft.Threading.Tasks.dll -\Microsoft.Threading.Tasks.Extensions.Desktop.dll -\Microsoft.Threading.Tasks.Extensions.dll -\Microsoft.VisualBasic.Core.dll -\Microsoft.VisualBasic.Core.dll -\Microsoft.VisualBasic.Core.dll -\Microsoft.VisualBasic.dll -\Microsoft.VisualBasic.dll -\Microsoft.VisualBasic.dll -\Microsoft.VisualBasic.dll -\Microsoft.VisualBasic.dll -\Microsoft.VisualBasic.dll -\Microsoft.Web.Administration.dll -\Microsoft.Web.Delegation.dll -\Microsoft.Web.Deployment.dll -\Microsoft.Web.Deployment.Tracing.dll -\Microsoft.Web.XmlTransform.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Primitives.dll -\Microsoft.Win32.Registry.dll -\Microsoft.Win32.Registry.dll -\Microsoft.Win32.Registry.dll -\Microsoft.Win32.Registry.dll -\Microsoft.Win32.Registry.dll -\Microsoft.Win32.Registry.dll -\Microsoft.WindowsAzure.Common.dll -\Microsoft.WindowsAzure.Common.NetFramework.dll -\Microsoft.WindowsAzure.Configuration.dll -\Microsoft.WindowsAzure.Management.Compute.dll -\Microsoft.WindowsAzure.Management.Storage.dll -\Microsoft.WindowsAzure.Management.WebSites.dll -\Microsoft.WindowsAzure.Packaging.dll -\Microsoft.WindowsAzure.ServiceModel.Common.dll -\Microsoft.WindowsAzure.Storage.dll -\mscordaccore_amd64_amd64_.dll -\mscordaccore_amd64_amd64_.dll -\mscordaccore.dll -\mscordaccore.dll -\mscordbi.dll -\mscordbi.dll -\mscorlib.dll -\mscorlib.dll -\mscorlib.dll -\mscorlib.dll -\mscorlib.dll -\mscorlib.dll -\mscorrc.debug.dll -\mscorrc.debug.dll -\mscorrc.dll -\mscorrc.dll -\netstandard.dll -\netstandard.dll -\netstandard.dll -\netstandard.dll -\netstandard.dll -\netstandard.dll -\Newtonsoft.Json.dll -\Newtonsoft.Json.dll -\Newtonsoft.Json.dll -\Newtonsoft.Json.dll -\Newtonsoft.Json.dll -\NuGet.Client.dll -\NuGet.Commands.dll -\NuGet.Common.dll -\NuGet.Configuration.dll -\NuGet.ContentModel.dll -\NuGet.Core.dll -\NuGet.DependencyResolver.Core.dll -\NuGet.DependencyResolver.dll -\NuGet.Frameworks.dll -\NuGet.LibraryModel.dll -\NuGet.Packaging.Core.dll -\NuGet.Packaging.Core.Types.dll -\NuGet.Packaging.dll -\NuGet.ProjectModel.dll -\NuGet.Protocol.Core.Types.dll -\NuGet.Protocol.Core.v3.dll -\NuGet.Repositories.dll -\NuGet.RuntimeModel.dll -\NuGet.Versioning.dll -\Octodiff.dll -\Octodiff.dll -\Octodiff.dll -\Octodiff.exe -\Octodiff.exe -\Octopus.CoreUtilities.dll -\Octopus.CoreUtilities.dll -\Octopus.CoreUtilities.dll -\Octopus.CoreUtilities.dll -\Octopus.CoreUtilities.dll -\Octopus.System.Xml.ReaderWriter.dll -\Octopus.System.Xml.ReaderWriter.dll -\Octopus.System.Xml.ReaderWriter.dll -\Octopus.Versioning.dll -\Octopus.Versioning.dll -\Octopus.Versioning.dll -\Octopus.Versioning.dll -\Octopus.Versioning.dll -\Octopus.Web.Xdt.dll -\Octopus.Web.Xdt.dll -\Octopus.Web.Xdt.dll -\Octostache.dll -\Octostache.dll -\Octostache.dll -\Octostache.dll -\Octostache.dll -\Polly.dll -\Polly.dll -\ru/Microsoft.Data.Edm.resources.dll -\ru/Microsoft.Data.OData.resources.dll -\ru/Microsoft.Data.Services.Client.resources.dll -\ru/System.Spatial.resources.dll -\ScriptCS/Autofac.dll -\ScriptCS/Autofac.Integration.Mef.dll -\ScriptCS/chocolateyInstall.ps1 -\ScriptCS/Common.Logging.dll -\ScriptCS/ICSharpCode.NRefactory.CSharp.dll -\ScriptCS/ICSharpCode.NRefactory.dll -\ScriptCS/Microsoft.CodeAnalysis.CSharp.dll -\ScriptCS/Microsoft.CodeAnalysis.Desktop.dll -\ScriptCS/Microsoft.CodeAnalysis.dll -\ScriptCS/Microsoft.CodeAnalysis.Scripting.CSharp.dll -\ScriptCS/Microsoft.CodeAnalysis.Scripting.dll -\ScriptCS/Microsoft.Web.XmlTransform.dll -\ScriptCS/Mono.Cecil.dll -\ScriptCS/Mono.CSharp.dll -\ScriptCS/Newtonsoft.Json.dll -\ScriptCS/NuGet.Core.dll -\ScriptCS/PowerArgs.dll -\ScriptCS/ScriptCs.Contracts.dll -\ScriptCS/ScriptCs.Core.dll -\ScriptCS/ScriptCs.Engine.Mono.dll -\ScriptCS/ScriptCs.Engine.Roslyn.dll -\ScriptCS/scriptcs.exe -\ScriptCS/scriptcs.exe.config -\ScriptCS/ScriptCs.Hosting.dll -\ScriptCS/System.Collections.Immutable.dll -\ScriptCS/System.Reflection.Metadata.dll -\SharpCompress.dll -\SharpCompress.dll -\SharpCompress.dll -\sos_amd64_amd64_.dll -\SOS_README.md -\SOS_README.md -\sos.dll -\SOS.NETCore.dll -\SOS.NETCore.dll -\SOS.NETCore.dll -\sosdocsunix.txt -\Sprache.dll -\Sprache.dll -\System.AppContext.dll -\System.AppContext.dll -\System.AppContext.dll -\System.AppContext.dll -\System.AppContext.dll -\System.AppContext.dll -\System.Buffers.dll -\System.Buffers.dll -\System.Buffers.dll -\System.Buffers.dll -\System.Buffers.dll -\System.Buffers.dll -\System.Collections.Concurrent.dll -\System.Collections.Concurrent.dll -\System.Collections.Concurrent.dll -\System.Collections.Concurrent.dll -\System.Collections.Concurrent.dll -\System.Collections.Concurrent.dll -\System.Collections.dll -\System.Collections.dll -\System.Collections.dll -\System.Collections.dll -\System.Collections.dll -\System.Collections.dll -\System.Collections.Immutable.dll -\System.Collections.Immutable.dll -\System.Collections.Immutable.dll -\System.Collections.Immutable.dll -\System.Collections.Immutable.dll -\System.Collections.Immutable.dll -\System.Collections.NonGeneric.dll -\System.Collections.NonGeneric.dll -\System.Collections.NonGeneric.dll -\System.Collections.NonGeneric.dll -\System.Collections.NonGeneric.dll -\System.Collections.NonGeneric.dll -\System.Collections.Specialized.dll -\System.Collections.Specialized.dll -\System.Collections.Specialized.dll -\System.Collections.Specialized.dll -\System.Collections.Specialized.dll -\System.Collections.Specialized.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.Annotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.DataAnnotations.dll -\System.ComponentModel.dll -\System.ComponentModel.dll -\System.ComponentModel.dll -\System.ComponentModel.dll -\System.ComponentModel.dll -\System.ComponentModel.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.EventBasedAsync.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.Primitives.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.ComponentModel.TypeConverter.dll -\System.Configuration.dll -\System.Configuration.dll -\System.Configuration.dll -\System.Configuration.dll -\System.Configuration.dll -\System.Configuration.dll -\System.Console.dll -\System.Console.dll -\System.Console.dll -\System.Console.dll -\System.Console.dll -\System.Console.dll -\System.Core.dll -\System.Core.dll -\System.Core.dll -\System.Core.dll -\System.Core.dll -\System.Core.dll -\System.Data.Common.dll -\System.Data.Common.dll -\System.Data.Common.dll -\System.Data.Common.dll -\System.Data.Common.dll -\System.Data.Common.dll -\System.Data.DataSetExtensions.dll -\System.Data.DataSetExtensions.dll -\System.Data.DataSetExtensions.dll -\System.Data.dll -\System.Data.dll -\System.Data.dll -\System.Data.dll -\System.Data.dll -\System.Data.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Contracts.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.Debug.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.DiagnosticSource.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.FileVersionInfo.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.Process.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.StackTrace.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.TextWriterTraceListener.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.Tools.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.TraceSource.dll -\System.Diagnostics.Tracing.dll -\System.Diagnostics.Tracing.dll -\System.Diagnostics.Tracing.dll -\System.Diagnostics.Tracing.dll -\System.Diagnostics.Tracing.dll -\System.Diagnostics.Tracing.dll -\System.dll -\System.dll -\System.dll -\System.dll -\System.dll -\System.dll -\System.Drawing.dll -\System.Drawing.dll -\System.Drawing.dll -\System.Drawing.dll -\System.Drawing.dll -\System.Drawing.dll -\System.Drawing.Primitives.dll -\System.Drawing.Primitives.dll -\System.Drawing.Primitives.dll -\System.Drawing.Primitives.dll -\System.Drawing.Primitives.dll -\System.Drawing.Primitives.dll -\System.Dynamic.Runtime.dll -\System.Dynamic.Runtime.dll -\System.Dynamic.Runtime.dll -\System.Dynamic.Runtime.dll -\System.Dynamic.Runtime.dll -\System.Dynamic.Runtime.dll -\System.Fabric.dll -\System.Fabric.Strings.dll -\System.Globalization.Calendars.dll -\System.Globalization.Calendars.dll -\System.Globalization.Calendars.dll -\System.Globalization.Calendars.dll -\System.Globalization.Calendars.dll -\System.Globalization.Calendars.dll -\System.Globalization.dll -\System.Globalization.dll -\System.Globalization.dll -\System.Globalization.dll -\System.Globalization.dll -\System.Globalization.dll -\System.Globalization.Extensions.dll -\System.Globalization.Extensions.dll -\System.Globalization.Extensions.dll -\System.Globalization.Extensions.dll -\System.Globalization.Extensions.dll -\System.Globalization.Extensions.dll -\System.Globalization.Native.dylib -\System.Globalization.Native.dylib -\System.Globalization.Native.so -\System.Globalization.Native.so -\System.IO.Compression.Brotli.dll -\System.IO.Compression.Brotli.dll -\System.IO.Compression.Brotli.dll -\System.IO.Compression.Brotli.dll -\System.IO.Compression.Brotli.dll -\System.IO.Compression.Brotli.dll -\System.IO.Compression.dll -\System.IO.Compression.dll -\System.IO.Compression.dll -\System.IO.Compression.dll -\System.IO.Compression.dll -\System.IO.Compression.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.FileSystem.dll -\System.IO.Compression.Native.a -\System.IO.Compression.Native.a -\System.IO.Compression.Native.a -\System.IO.Compression.Native.a -\System.IO.Compression.Native.dylib -\System.IO.Compression.Native.dylib -\System.IO.Compression.Native.so -\System.IO.Compression.Native.so -\System.IO.Compression.ZipFile.dll -\System.IO.Compression.ZipFile.dll -\System.IO.Compression.ZipFile.dll -\System.IO.Compression.ZipFile.dll -\System.IO.Compression.ZipFile.dll -\System.IO.Compression.ZipFile.dll -\System.IO.dll -\System.IO.dll -\System.IO.dll -\System.IO.dll -\System.IO.dll -\System.IO.dll -\System.IO.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.AccessControl.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.DriveInfo.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Primitives.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.FileSystem.Watcher.dll -\System.IO.IsolatedStorage.dll -\System.IO.IsolatedStorage.dll -\System.IO.IsolatedStorage.dll -\System.IO.IsolatedStorage.dll -\System.IO.IsolatedStorage.dll -\System.IO.IsolatedStorage.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.MemoryMappedFiles.dll -\System.IO.Packaging.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.AccessControl.dll -\System.IO.Pipes.dll -\System.IO.Pipes.dll -\System.IO.Pipes.dll -\System.IO.Pipes.dll -\System.IO.Pipes.dll -\System.IO.Pipes.dll -\System.IO.UnmanagedMemoryStream.dll -\System.IO.UnmanagedMemoryStream.dll -\System.IO.UnmanagedMemoryStream.dll -\System.IO.UnmanagedMemoryStream.dll -\System.IO.UnmanagedMemoryStream.dll -\System.IO.UnmanagedMemoryStream.dll -\System.Linq.dll -\System.Linq.dll -\System.Linq.dll -\System.Linq.dll -\System.Linq.dll -\System.Linq.dll -\System.Linq.Expressions.dll -\System.Linq.Expressions.dll -\System.Linq.Expressions.dll -\System.Linq.Expressions.dll -\System.Linq.Expressions.dll -\System.Linq.Expressions.dll -\System.Linq.Parallel.dll -\System.Linq.Parallel.dll -\System.Linq.Parallel.dll -\System.Linq.Parallel.dll -\System.Linq.Parallel.dll -\System.Linq.Parallel.dll -\System.Linq.Queryable.dll -\System.Linq.Queryable.dll -\System.Linq.Queryable.dll -\System.Linq.Queryable.dll -\System.Linq.Queryable.dll -\System.Linq.Queryable.dll -\System.Memory.dll -\System.Memory.dll -\System.Memory.dll -\System.Memory.dll -\System.Memory.dll -\System.Memory.dll -\System.Native.a -\System.Native.a -\System.Native.a -\System.Native.a -\System.Native.dylib -\System.Native.dylib -\System.Native.so -\System.Native.so -\System.Net.dll -\System.Net.dll -\System.Net.dll -\System.Net.dll -\System.Net.dll -\System.Net.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.dll -\System.Net.Http.Extensions.dll -\System.Net.Http.Native.a -\System.Net.Http.Native.a -\System.Net.Http.Native.a -\System.Net.Http.Native.a -\System.Net.Http.Native.dylib -\System.Net.Http.Native.dylib -\System.Net.Http.Native.so -\System.Net.Http.Native.so -\System.Net.Http.Primitives.dll -\System.Net.Http.Primitives.dll -\System.Net.Http.WebRequest.dll -\System.Net.HttpListener.dll -\System.Net.HttpListener.dll -\System.Net.HttpListener.dll -\System.Net.HttpListener.dll -\System.Net.HttpListener.dll -\System.Net.HttpListener.dll -\System.Net.Mail.dll -\System.Net.Mail.dll -\System.Net.Mail.dll -\System.Net.Mail.dll -\System.Net.Mail.dll -\System.Net.Mail.dll -\System.Net.NameResolution.dll -\System.Net.NameResolution.dll -\System.Net.NameResolution.dll -\System.Net.NameResolution.dll -\System.Net.NameResolution.dll -\System.Net.NameResolution.dll -\System.Net.NetworkInformation.dll -\System.Net.NetworkInformation.dll -\System.Net.NetworkInformation.dll -\System.Net.NetworkInformation.dll -\System.Net.NetworkInformation.dll -\System.Net.NetworkInformation.dll -\System.Net.Ping.dll -\System.Net.Ping.dll -\System.Net.Ping.dll -\System.Net.Ping.dll -\System.Net.Ping.dll -\System.Net.Ping.dll -\System.Net.Primitives.dll -\System.Net.Primitives.dll -\System.Net.Primitives.dll -\System.Net.Primitives.dll -\System.Net.Primitives.dll -\System.Net.Primitives.dll -\System.Net.Requests.dll -\System.Net.Requests.dll -\System.Net.Requests.dll -\System.Net.Requests.dll -\System.Net.Requests.dll -\System.Net.Requests.dll -\System.Net.Security.dll -\System.Net.Security.dll -\System.Net.Security.dll -\System.Net.Security.dll -\System.Net.Security.dll -\System.Net.Security.dll -\System.Net.Security.Native.a -\System.Net.Security.Native.a -\System.Net.Security.Native.a -\System.Net.Security.Native.a -\System.Net.Security.Native.dylib -\System.Net.Security.Native.dylib -\System.Net.Security.Native.so -\System.Net.Security.Native.so -\System.Net.ServicePoint.dll -\System.Net.ServicePoint.dll -\System.Net.ServicePoint.dll -\System.Net.ServicePoint.dll -\System.Net.ServicePoint.dll -\System.Net.ServicePoint.dll -\System.Net.Sockets.dll -\System.Net.Sockets.dll -\System.Net.Sockets.dll -\System.Net.Sockets.dll -\System.Net.Sockets.dll -\System.Net.Sockets.dll -\System.Net.WebClient.dll -\System.Net.WebClient.dll -\System.Net.WebClient.dll -\System.Net.WebClient.dll -\System.Net.WebClient.dll -\System.Net.WebClient.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebHeaderCollection.dll -\System.Net.WebProxy.dll -\System.Net.WebProxy.dll -\System.Net.WebProxy.dll -\System.Net.WebProxy.dll -\System.Net.WebProxy.dll -\System.Net.WebProxy.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.Client.dll -\System.Net.WebSockets.dll -\System.Net.WebSockets.dll -\System.Net.WebSockets.dll -\System.Net.WebSockets.dll -\System.Net.WebSockets.dll -\System.Net.WebSockets.dll -\System.Numerics.dll -\System.Numerics.dll -\System.Numerics.dll -\System.Numerics.dll -\System.Numerics.dll -\System.Numerics.dll -\System.Numerics.Vectors.dll -\System.Numerics.Vectors.dll -\System.Numerics.Vectors.dll -\System.Numerics.Vectors.dll -\System.Numerics.Vectors.dll -\System.Numerics.Vectors.dll -\System.ObjectModel.dll -\System.ObjectModel.dll -\System.ObjectModel.dll -\System.ObjectModel.dll -\System.ObjectModel.dll -\System.ObjectModel.dll -\System.Private.CoreLib.dll -\System.Private.CoreLib.dll -\System.Private.CoreLib.dll -\System.Private.CoreLib.dll -\System.Private.CoreLib.dll -\System.Private.CoreLib.dll -\System.Private.DataContractSerialization.dll -\System.Private.DataContractSerialization.dll -\System.Private.DataContractSerialization.dll -\System.Private.DataContractSerialization.dll -\System.Private.DataContractSerialization.dll -\System.Private.DataContractSerialization.dll -\System.Private.Uri.dll -\System.Private.Uri.dll -\System.Private.Uri.dll -\System.Private.Uri.dll -\System.Private.Uri.dll -\System.Private.Uri.dll -\System.Private.Xml.dll -\System.Private.Xml.dll -\System.Private.Xml.dll -\System.Private.Xml.dll -\System.Private.Xml.dll -\System.Private.Xml.dll -\System.Private.Xml.Linq.dll -\System.Private.Xml.Linq.dll -\System.Private.Xml.Linq.dll -\System.Private.Xml.Linq.dll -\System.Private.Xml.Linq.dll -\System.Private.Xml.Linq.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.DispatchProxy.dll -\System.Reflection.dll -\System.Reflection.dll -\System.Reflection.dll -\System.Reflection.dll -\System.Reflection.dll -\System.Reflection.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.ILGeneration.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Emit.Lightweight.dll -\System.Reflection.Extensions.dll -\System.Reflection.Extensions.dll -\System.Reflection.Extensions.dll -\System.Reflection.Extensions.dll -\System.Reflection.Extensions.dll -\System.Reflection.Extensions.dll -\System.Reflection.Metadata.dll -\System.Reflection.Metadata.dll -\System.Reflection.Metadata.dll -\System.Reflection.Metadata.dll -\System.Reflection.Metadata.dll -\System.Reflection.Metadata.dll -\System.Reflection.Primitives.dll -\System.Reflection.Primitives.dll -\System.Reflection.Primitives.dll -\System.Reflection.Primitives.dll -\System.Reflection.Primitives.dll -\System.Reflection.Primitives.dll -\System.Reflection.TypeExtensions.dll -\System.Reflection.TypeExtensions.dll -\System.Reflection.TypeExtensions.dll -\System.Reflection.TypeExtensions.dll -\System.Reflection.TypeExtensions.dll -\System.Reflection.TypeExtensions.dll -\System.Resources.Reader.dll -\System.Resources.Reader.dll -\System.Resources.Reader.dll -\System.Resources.Reader.dll -\System.Resources.Reader.dll -\System.Resources.Reader.dll -\System.Resources.ResourceManager.dll -\System.Resources.ResourceManager.dll -\System.Resources.ResourceManager.dll -\System.Resources.ResourceManager.dll -\System.Resources.ResourceManager.dll -\System.Resources.ResourceManager.dll -\System.Resources.Writer.dll -\System.Resources.Writer.dll -\System.Resources.Writer.dll -\System.Resources.Writer.dll -\System.Resources.Writer.dll -\System.Resources.Writer.dll -\System.Runtime.CompilerServices.Unsafe.dll -\System.Runtime.CompilerServices.Unsafe.dll -\System.Runtime.CompilerServices.Unsafe.dll -\System.Runtime.CompilerServices.Unsafe.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.CompilerServices.VisualC.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.dll -\System.Runtime.Extensions.dll -\System.Runtime.Extensions.dll -\System.Runtime.Extensions.dll -\System.Runtime.Extensions.dll -\System.Runtime.Extensions.dll -\System.Runtime.Extensions.dll -\System.Runtime.Handles.dll -\System.Runtime.Handles.dll -\System.Runtime.Handles.dll -\System.Runtime.Handles.dll -\System.Runtime.Handles.dll -\System.Runtime.Handles.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.RuntimeInformation.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.InteropServices.WindowsRuntime.dll -\System.Runtime.Intrinsics.dll -\System.Runtime.Intrinsics.dll -\System.Runtime.Intrinsics.dll -\System.Runtime.Loader.dll -\System.Runtime.Loader.dll -\System.Runtime.Loader.dll -\System.Runtime.Loader.dll -\System.Runtime.Loader.dll -\System.Runtime.Loader.dll -\System.Runtime.Numerics.dll -\System.Runtime.Numerics.dll -\System.Runtime.Numerics.dll -\System.Runtime.Numerics.dll -\System.Runtime.Numerics.dll -\System.Runtime.Numerics.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Formatters.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Json.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Primitives.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.Serialization.Xml.dll -\System.Runtime.WindowsRuntime.dll -\System.Runtime.WindowsRuntime.dll -\System.Runtime.WindowsRuntime.UI.Xaml.dll -\System.Runtime.WindowsRuntime.UI.Xaml.dll -\System.Runtime.WindowsRuntime.UI.Xaml.dll -\System.Security.AccessControl.dll -\System.Security.AccessControl.dll -\System.Security.AccessControl.dll -\System.Security.AccessControl.dll -\System.Security.AccessControl.dll -\System.Security.AccessControl.dll -\System.Security.Claims.dll -\System.Security.Claims.dll -\System.Security.Claims.dll -\System.Security.Claims.dll -\System.Security.Claims.dll -\System.Security.Claims.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Algorithms.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Cng.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Csp.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Encoding.dll -\System.Security.Cryptography.Native.Apple.a -\System.Security.Cryptography.Native.Apple.a -\System.Security.Cryptography.Native.Apple.dylib -\System.Security.Cryptography.Native.Apple.dylib -\System.Security.Cryptography.Native.OpenSsl.a -\System.Security.Cryptography.Native.OpenSsl.a -\System.Security.Cryptography.Native.OpenSsl.a -\System.Security.Cryptography.Native.OpenSsl.a -\System.Security.Cryptography.Native.OpenSsl.dylib -\System.Security.Cryptography.Native.OpenSsl.dylib -\System.Security.Cryptography.Native.OpenSsl.so -\System.Security.Cryptography.Native.OpenSsl.so -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.OpenSsl.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.Primitives.dll -\System.Security.Cryptography.ProtectedData.dll -\System.Security.Cryptography.ProtectedData.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.Cryptography.X509Certificates.dll -\System.Security.dll -\System.Security.dll -\System.Security.dll -\System.Security.dll -\System.Security.dll -\System.Security.dll -\System.Security.Principal.dll -\System.Security.Principal.dll -\System.Security.Principal.dll -\System.Security.Principal.dll -\System.Security.Principal.dll -\System.Security.Principal.dll -\System.Security.Principal.Windows.dll -\System.Security.Principal.Windows.dll -\System.Security.Principal.Windows.dll -\System.Security.Principal.Windows.dll -\System.Security.Principal.Windows.dll -\System.Security.Principal.Windows.dll -\System.Security.SecureString.dll -\System.Security.SecureString.dll -\System.Security.SecureString.dll -\System.Security.SecureString.dll -\System.Security.SecureString.dll -\System.Security.SecureString.dll -\System.ServiceModel.Web.dll -\System.ServiceModel.Web.dll -\System.ServiceModel.Web.dll -\System.ServiceModel.Web.dll -\System.ServiceModel.Web.dll -\System.ServiceModel.Web.dll -\System.ServiceProcess.dll -\System.ServiceProcess.dll -\System.ServiceProcess.dll -\System.ServiceProcess.dll -\System.ServiceProcess.dll -\System.ServiceProcess.dll -\System.Spatial.dll -\System.Text.Encoding.CodePages.dll -\System.Text.Encoding.CodePages.dll -\System.Text.Encoding.CodePages.dll -\System.Text.Encoding.CodePages.dll -\System.Text.Encoding.CodePages.dll -\System.Text.Encoding.dll -\System.Text.Encoding.dll -\System.Text.Encoding.dll -\System.Text.Encoding.dll -\System.Text.Encoding.dll -\System.Text.Encoding.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encoding.Extensions.dll -\System.Text.Encodings.Web.dll -\System.Text.Encodings.Web.dll -\System.Text.Encodings.Web.dll -\System.Text.Json.dll -\System.Text.Json.dll -\System.Text.Json.dll -\System.Text.RegularExpressions.dll -\System.Text.RegularExpressions.dll -\System.Text.RegularExpressions.dll -\System.Text.RegularExpressions.dll -\System.Text.RegularExpressions.dll -\System.Text.RegularExpressions.dll -\System.Threading.AccessControl.dll -\System.Threading.AccessControl.dll -\System.Threading.Channels.dll -\System.Threading.Channels.dll -\System.Threading.Channels.dll -\System.Threading.dll -\System.Threading.dll -\System.Threading.dll -\System.Threading.dll -\System.Threading.dll -\System.Threading.dll -\System.Threading.Overlapped.dll -\System.Threading.Overlapped.dll -\System.Threading.Overlapped.dll -\System.Threading.Overlapped.dll -\System.Threading.Overlapped.dll -\System.Threading.Overlapped.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.Dataflow.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Extensions.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Tasks.Parallel.dll -\System.Threading.Thread.dll -\System.Threading.Thread.dll -\System.Threading.Thread.dll -\System.Threading.Thread.dll -\System.Threading.Thread.dll -\System.Threading.Thread.dll -\System.Threading.ThreadPool.dll -\System.Threading.ThreadPool.dll -\System.Threading.ThreadPool.dll -\System.Threading.ThreadPool.dll -\System.Threading.ThreadPool.dll -\System.Threading.ThreadPool.dll -\System.Threading.Timer.dll -\System.Threading.Timer.dll -\System.Threading.Timer.dll -\System.Threading.Timer.dll -\System.Threading.Timer.dll -\System.Threading.Timer.dll -\System.Transactions.dll -\System.Transactions.dll -\System.Transactions.dll -\System.Transactions.dll -\System.Transactions.dll -\System.Transactions.dll -\System.Transactions.Local.dll -\System.Transactions.Local.dll -\System.Transactions.Local.dll -\System.Transactions.Local.dll -\System.Transactions.Local.dll -\System.Transactions.Local.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.ValueTuple.dll -\System.Web.dll -\System.Web.dll -\System.Web.dll -\System.Web.dll -\System.Web.dll -\System.Web.dll -\System.Web.HttpUtility.dll -\System.Web.HttpUtility.dll -\System.Web.HttpUtility.dll -\System.Web.HttpUtility.dll -\System.Web.HttpUtility.dll -\System.Web.HttpUtility.dll -\System.Windows.dll -\System.Windows.dll -\System.Windows.dll -\System.Windows.dll -\System.Windows.dll -\System.Windows.dll -\System.Xml.dll -\System.Xml.dll -\System.Xml.dll -\System.Xml.dll -\System.Xml.dll -\System.Xml.dll -\System.Xml.Linq.dll -\System.Xml.Linq.dll -\System.Xml.Linq.dll -\System.Xml.Linq.dll -\System.Xml.Linq.dll -\System.Xml.Linq.dll -\System.Xml.ReaderWriter.dll -\System.Xml.ReaderWriter.dll -\System.Xml.ReaderWriter.dll -\System.Xml.ReaderWriter.dll -\System.Xml.ReaderWriter.dll -\System.Xml.ReaderWriter.dll -\System.Xml.Serialization.dll -\System.Xml.Serialization.dll -\System.Xml.Serialization.dll -\System.Xml.Serialization.dll -\System.Xml.Serialization.dll -\System.Xml.Serialization.dll -\System.Xml.XDocument.dll -\System.Xml.XDocument.dll -\System.Xml.XDocument.dll -\System.Xml.XDocument.dll -\System.Xml.XDocument.dll -\System.Xml.XDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlDocument.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XmlSerializer.dll -\System.Xml.XPath.dll -\System.Xml.XPath.dll -\System.Xml.XPath.dll -\System.Xml.XPath.dll -\System.Xml.XPath.dll -\System.Xml.XPath.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XDocument.dll -\System.Xml.XPath.XmlDocument.dll -\ucrtbase.dll -\WindowsBase.dll -\WindowsBase.dll -\WindowsBase.dll -\WindowsBase.dll -\WindowsBase.dll -\WindowsBase.dll -\YamlDotNet.dll -\YamlDotNet.dll -\YamlDotNet.dll -\zh-Hans/Microsoft.Data.Edm.resources.dll -\zh-Hans/Microsoft.Data.OData.resources.dll -\zh-Hans/Microsoft.Data.Services.Client.resources.dll -\zh-Hans/System.Spatial.resources.dll -\zh-Hant/Microsoft.Data.Edm.resources.dll -\zh-Hant/Microsoft.Data.OData.resources.dll -\zh-Hant/Microsoft.Data.Services.Client.resources.dll -\zh-Hant/System.Spatial.resources.dll +/AlphaFS.dll +/AlphaFS.dll +/api-ms-win-core-console-l1-1-0.dll +/api-ms-win-core-datetime-l1-1-0.dll +/api-ms-win-core-debug-l1-1-0.dll +/api-ms-win-core-errorhandling-l1-1-0.dll +/api-ms-win-core-file-l1-1-0.dll +/api-ms-win-core-file-l1-2-0.dll +/api-ms-win-core-file-l2-1-0.dll +/api-ms-win-core-handle-l1-1-0.dll +/api-ms-win-core-heap-l1-1-0.dll +/api-ms-win-core-interlocked-l1-1-0.dll +/api-ms-win-core-libraryloader-l1-1-0.dll +/api-ms-win-core-localization-l1-2-0.dll +/api-ms-win-core-memory-l1-1-0.dll +/api-ms-win-core-namedpipe-l1-1-0.dll +/api-ms-win-core-processenvironment-l1-1-0.dll +/api-ms-win-core-processthreads-l1-1-0.dll +/api-ms-win-core-processthreads-l1-1-1.dll +/api-ms-win-core-profile-l1-1-0.dll +/api-ms-win-core-rtlsupport-l1-1-0.dll +/api-ms-win-core-string-l1-1-0.dll +/api-ms-win-core-synch-l1-1-0.dll +/api-ms-win-core-synch-l1-2-0.dll +/api-ms-win-core-sysinfo-l1-1-0.dll +/api-ms-win-core-timezone-l1-1-0.dll +/api-ms-win-core-util-l1-1-0.dll +/api-ms-win-crt-conio-l1-1-0.dll +/api-ms-win-crt-convert-l1-1-0.dll +/api-ms-win-crt-environment-l1-1-0.dll +/api-ms-win-crt-filesystem-l1-1-0.dll +/api-ms-win-crt-heap-l1-1-0.dll +/api-ms-win-crt-locale-l1-1-0.dll +/api-ms-win-crt-math-l1-1-0.dll +/api-ms-win-crt-multibyte-l1-1-0.dll +/api-ms-win-crt-private-l1-1-0.dll +/api-ms-win-crt-process-l1-1-0.dll +/api-ms-win-crt-runtime-l1-1-0.dll +/api-ms-win-crt-stdio-l1-1-0.dll +/api-ms-win-crt-string-l1-1-0.dll +/api-ms-win-crt-time-l1-1-0.dll +/api-ms-win-crt-utility-l1-1-0.dll +/Autofac.dll +/Autofac.dll +/Autofac.dll +/Autofac.dll +/Autofac.Integration.Mef.dll +/AWSSDK.CloudFormation.dll +/AWSSDK.CloudFormation.dll +/AWSSDK.Core.dll +/AWSSDK.Core.dll +/AWSSDK.IdentityManagement.dll +/AWSSDK.IdentityManagement.dll +/AWSSDK.S3.dll +/AWSSDK.S3.dll +/AWSSDK.SecurityToken.dll +/AWSSDK.SecurityToken.dll +/BouncyCastle.Crypto.dll +/Calamari +/Calamari +/Calamari.Aws.dll +/Calamari.Aws.dll +/Calamari.Aws.dll +/Calamari.Aws.dll +/Calamari.Aws.dll.config +/Calamari.Aws.pdb +/Calamari.Aws.pdb +/Calamari.Azure.Accounts.dll +/Calamari.Azure.Accounts.dll +/Calamari.Azure.Accounts.dll +/Calamari.Azure.Accounts.dll +/Calamari.Azure.Accounts.pdb +/Calamari.Azure.CloudServices.dll +/Calamari.Azure.CloudServices.dll.config +/Calamari.Azure.CloudServices.pdb +/Calamari.Azure.dll +/Calamari.Azure.dll +/Calamari.Azure.dll +/Calamari.Azure.dll +/Calamari.Azure.dll.config +/Calamari.Azure.exe.manifest +/Calamari.Azure.pdb +/Calamari.Azure.pdb +/Calamari.Azure.ServiceFabric.dll +/Calamari.Azure.ServiceFabric.dll.config +/Calamari.Azure.ServiceFabric.pdb +/Calamari.Azure.WebApps.dll +/Calamari.Azure.WebApps.dll.config +/Calamari.Azure.WebApps.pdb +/Calamari.Cloud.nuspec +/Calamari.deps.json +/Calamari.deps.json +/Calamari.deps.json +/Calamari.dll +/Calamari.dll +/Calamari.dll +/Calamari.dll.config +/Calamari.exe +/Calamari.exe +/Calamari.exe +/Calamari.exe.config +/Calamari.exe.config +/Calamari.exe.manifest +/Calamari.linux-x64.nuspec +/Calamari.nuspec +/Calamari.osx-x64.nuspec +/Calamari.pdb +/Calamari.pdb +/Calamari.pdb +/Calamari.runtimeconfig.json +/Calamari.Shared.dll +/Calamari.Shared.dll +/Calamari.Shared.dll +/Calamari.Shared.dll +/Calamari.Shared.dll +/Calamari.Shared.pdb +/Calamari.Shared.pdb +/Calamari.Shared.pdb +/Calamari.Terraform +/Calamari.Terraform +/Calamari.Terraform.deps.json +/Calamari.Terraform.deps.json +/Calamari.Terraform.deps.json +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.dll +/Calamari.Terraform.exe +/Calamari.Terraform.exe +/Calamari.Terraform.exe.config +/Calamari.Terraform.pdb +/Calamari.Terraform.pdb +/Calamari.Terraform.pdb +/Calamari.Terraform.pdb +/Calamari.Terraform.runtimeconfig.json +/Calamari.win-x64.nuspec +/chocolateyInstall.ps1 +/clrcompression.dll +/clrcompression.dll +/clretwrc.dll +/clretwrc.dll +/clrjit.dll +/clrjit.dll +/Common.Logging.dll +/coreclr.dll +/coreclr.dll +/createdump +/createdump +/dbgshim.dll +/dbgshim.dll +/fsc.exe +/fsc.exe.config +/fsc.xml +/FSharp.Build.dll +/FSharp.Build.xml +/FSharp.Compiler.dll +/FSharp.Compiler.Interactive.Settings.dll +/FSharp.Compiler.Interactive.Settings.xml +/FSharp.Compiler.Server.Shared.dll +/FSharp.Compiler.Server.Shared.xml +/FSharp.Compiler.xml +/FSharp.Core.dll +/FSharp.Core.optdata +/FSharp.Core.sigdata +/FSharp.Core.xml +/fsi.exe +/fsi.exe.config +/fsi.xml +/fsiAnyCpu.exe +/fsiAnyCpu.exe.config +/fsiAnyCpu.xml +/hostfxr.dll +/hostfxr.dll +/hostpolicy.dll +/hostpolicy.dll +/Hyak.Common.dll +/ICSharpCode.NRefactory.CSharp.dll +/ICSharpCode.NRefactory.dll +/javatest.jar +/libclrjit.dylib +/libclrjit.dylib +/libclrjit.so +/libclrjit.so +/libcoreclr.dylib +/libcoreclr.dylib +/libcoreclr.so +/libcoreclr.so +/libcoreclrtraceptprovider.so +/libcoreclrtraceptprovider.so +/libdbgshim.dylib +/libdbgshim.dylib +/libdbgshim.so +/libdbgshim.so +/libhostfxr.dylib +/libhostfxr.dylib +/libhostfxr.so +/libhostfxr.so +/libhostpolicy.dylib +/libhostpolicy.dylib +/libhostpolicy.so +/libhostpolicy.so +/libmscordaccore.dylib +/libmscordaccore.dylib +/libmscordaccore.so +/libmscordaccore.so +/libmscordbi.dylib +/libmscordbi.dylib +/libmscordbi.so +/libmscordbi.so +/libsos.dylib +/libsos.so +/libsosplugin.so +/Markdig.dll +/Markdig.dll +/Markdown.dll +/MarkdownSharp.dll +/Microsoft.Azure.Common.dll +/Microsoft.Azure.Management.ResourceManager.dll +/Microsoft.Azure.Management.ResourceManager.dll +/Microsoft.Azure.Management.Websites.dll +/Microsoft.Build.dll +/Microsoft.Build.Engine.dll +/Microsoft.Build.Framework.dll +/Microsoft.Build.Tasks.v12.0.dll +/Microsoft.Build.Utilities.v12.0.dll +/Microsoft.CodeAnalysis.CSharp.dll +/Microsoft.CodeAnalysis.Desktop.dll +/Microsoft.CodeAnalysis.dll +/Microsoft.CodeAnalysis.Scripting.CSharp.dll +/Microsoft.CodeAnalysis.Scripting.dll +/Microsoft.CSharp.dll +/Microsoft.CSharp.dll +/Microsoft.CSharp.dll +/Microsoft.CSharp.dll +/Microsoft.CSharp.dll +/Microsoft.CSharp.dll +/Microsoft.Data.Edm.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.Edm.resources.dll +/Microsoft.Data.OData.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.OData.resources.dll +/Microsoft.Data.Services.Client.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.Data.Services.Client.resources.dll +/Microsoft.DiaSymReader.Native.amd64.dll +/Microsoft.Extensions.Caching.Abstractions.dll +/Microsoft.Extensions.Caching.Memory.dll +/Microsoft.Extensions.CommandLineUtils.dll +/Microsoft.Extensions.DependencyInjection.Abstractions.dll +/Microsoft.Extensions.Options.dll +/Microsoft.Extensions.Primitives.dll +/Microsoft.FSharp.Targets +/Microsoft.IdentityModel.Clients.ActiveDirectory.dll +/Microsoft.IdentityModel.Clients.ActiveDirectory.dll +/Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll +/Microsoft.Rest.ClientRuntime.Azure.dll +/Microsoft.Rest.ClientRuntime.Azure.dll +/Microsoft.Rest.ClientRuntime.dll +/Microsoft.Rest.ClientRuntime.dll +/Microsoft.ServiceFabric.Internal.dll +/Microsoft.ServiceFabric.Internal.Strings.dll +/Microsoft.Threading.Tasks.dll +/Microsoft.Threading.Tasks.Extensions.Desktop.dll +/Microsoft.Threading.Tasks.Extensions.dll +/Microsoft.VisualBasic.Core.dll +/Microsoft.VisualBasic.Core.dll +/Microsoft.VisualBasic.Core.dll +/Microsoft.VisualBasic.dll +/Microsoft.VisualBasic.dll +/Microsoft.VisualBasic.dll +/Microsoft.VisualBasic.dll +/Microsoft.VisualBasic.dll +/Microsoft.VisualBasic.dll +/Microsoft.Web.Administration.dll +/Microsoft.Web.Delegation.dll +/Microsoft.Web.Deployment.dll +/Microsoft.Web.Deployment.Tracing.dll +/Microsoft.Web.XmlTransform.dll +/Microsoft.Web.XmlTransform.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Primitives.dll +/Microsoft.Win32.Registry.dll +/Microsoft.Win32.Registry.dll +/Microsoft.Win32.Registry.dll +/Microsoft.Win32.Registry.dll +/Microsoft.Win32.Registry.dll +/Microsoft.Win32.Registry.dll +/Microsoft.WindowsAzure.Common.dll +/Microsoft.WindowsAzure.Common.NetFramework.dll +/Microsoft.WindowsAzure.Configuration.dll +/Microsoft.WindowsAzure.Management.Compute.dll +/Microsoft.WindowsAzure.Management.Storage.dll +/Microsoft.WindowsAzure.Management.WebSites.dll +/Microsoft.WindowsAzure.Packaging.dll +/Microsoft.WindowsAzure.ServiceModel.Common.dll +/Microsoft.WindowsAzure.Storage.dll +/Mono.Cecil.dll +/Mono.CSharp.dll +/mscordaccore_amd64_amd64_.dll +/mscordaccore_amd64_amd64_.dll +/mscordaccore.dll +/mscordaccore.dll +/mscordbi.dll +/mscordbi.dll +/mscorlib.dll +/mscorlib.dll +/mscorlib.dll +/mscorlib.dll +/mscorlib.dll +/mscorlib.dll +/mscorrc.debug.dll +/mscorrc.debug.dll +/mscorrc.dll +/mscorrc.dll +/netstandard.dll +/netstandard.dll +/netstandard.dll +/netstandard.dll +/netstandard.dll +/netstandard.dll +/Newtonsoft.Json.dll +/Newtonsoft.Json.dll +/Newtonsoft.Json.dll +/Newtonsoft.Json.dll +/Newtonsoft.Json.dll +/Newtonsoft.Json.dll +/NuGet.Client.dll +/NuGet.Commands.dll +/NuGet.Common.dll +/NuGet.Configuration.dll +/NuGet.ContentModel.dll +/NuGet.Core.dll +/NuGet.DependencyResolver.Core.dll +/NuGet.DependencyResolver.dll +/NuGet.Frameworks.dll +/NuGet.LibraryModel.dll +/NuGet.Packaging.Core.dll +/NuGet.Packaging.Core.Types.dll +/NuGet.Packaging.dll +/NuGet.ProjectModel.dll +/NuGet.Protocol.Core.Types.dll +/NuGet.Protocol.Core.v3.dll +/NuGet.Repositories.dll +/NuGet.RuntimeModel.dll +/NuGet.Versioning.dll +/Octodiff.dll +/Octodiff.dll +/Octodiff.dll +/Octodiff.exe +/Octodiff.exe +/Octopus.CoreUtilities.dll +/Octopus.CoreUtilities.dll +/Octopus.CoreUtilities.dll +/Octopus.CoreUtilities.dll +/Octopus.CoreUtilities.dll +/Octopus.System.Xml.ReaderWriter.dll +/Octopus.System.Xml.ReaderWriter.dll +/Octopus.System.Xml.ReaderWriter.dll +/Octopus.Versioning.dll +/Octopus.Versioning.dll +/Octopus.Versioning.dll +/Octopus.Versioning.dll +/Octopus.Versioning.dll +/Octopus.Web.Xdt.dll +/Octopus.Web.Xdt.dll +/Octopus.Web.Xdt.dll +/Octostache.dll +/Octostache.dll +/Octostache.dll +/Octostache.dll +/Octostache.dll +/Polly.dll +/Polly.dll +/PowerArgs.dll +/ScriptCs.Contracts.dll +/ScriptCs.Core.dll +/ScriptCs.Engine.Mono.dll +/ScriptCs.Engine.Roslyn.dll +/scriptcs.exe +/scriptcs.exe.config +/ScriptCs.Hosting.dll +/SharpCompress.dll +/SharpCompress.dll +/SharpCompress.dll +/sos_amd64_amd64_.dll +/SOS_README.md +/SOS_README.md +/sos.dll +/SOS.NETCore.dll +/SOS.NETCore.dll +/SOS.NETCore.dll +/sosdocsunix.txt +/Sprache.dll +/Sprache.dll +/System.AppContext.dll +/System.AppContext.dll +/System.AppContext.dll +/System.AppContext.dll +/System.AppContext.dll +/System.AppContext.dll +/System.Buffers.dll +/System.Buffers.dll +/System.Buffers.dll +/System.Buffers.dll +/System.Buffers.dll +/System.Buffers.dll +/System.Collections.Concurrent.dll +/System.Collections.Concurrent.dll +/System.Collections.Concurrent.dll +/System.Collections.Concurrent.dll +/System.Collections.Concurrent.dll +/System.Collections.Concurrent.dll +/System.Collections.dll +/System.Collections.dll +/System.Collections.dll +/System.Collections.dll +/System.Collections.dll +/System.Collections.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.Immutable.dll +/System.Collections.NonGeneric.dll +/System.Collections.NonGeneric.dll +/System.Collections.NonGeneric.dll +/System.Collections.NonGeneric.dll +/System.Collections.NonGeneric.dll +/System.Collections.NonGeneric.dll +/System.Collections.Specialized.dll +/System.Collections.Specialized.dll +/System.Collections.Specialized.dll +/System.Collections.Specialized.dll +/System.Collections.Specialized.dll +/System.Collections.Specialized.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.Annotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.DataAnnotations.dll +/System.ComponentModel.dll +/System.ComponentModel.dll +/System.ComponentModel.dll +/System.ComponentModel.dll +/System.ComponentModel.dll +/System.ComponentModel.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.EventBasedAsync.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.Primitives.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.ComponentModel.TypeConverter.dll +/System.Configuration.dll +/System.Configuration.dll +/System.Configuration.dll +/System.Configuration.dll +/System.Configuration.dll +/System.Configuration.dll +/System.Console.dll +/System.Console.dll +/System.Console.dll +/System.Console.dll +/System.Console.dll +/System.Console.dll +/System.Core.dll +/System.Core.dll +/System.Core.dll +/System.Core.dll +/System.Core.dll +/System.Core.dll +/System.Data.Common.dll +/System.Data.Common.dll +/System.Data.Common.dll +/System.Data.Common.dll +/System.Data.Common.dll +/System.Data.Common.dll +/System.Data.DataSetExtensions.dll +/System.Data.DataSetExtensions.dll +/System.Data.DataSetExtensions.dll +/System.Data.dll +/System.Data.dll +/System.Data.dll +/System.Data.dll +/System.Data.dll +/System.Data.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Contracts.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.Debug.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.DiagnosticSource.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.FileVersionInfo.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.Process.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.StackTrace.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.TextWriterTraceListener.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.Tools.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.TraceSource.dll +/System.Diagnostics.Tracing.dll +/System.Diagnostics.Tracing.dll +/System.Diagnostics.Tracing.dll +/System.Diagnostics.Tracing.dll +/System.Diagnostics.Tracing.dll +/System.Diagnostics.Tracing.dll +/System.dll +/System.dll +/System.dll +/System.dll +/System.dll +/System.dll +/System.Drawing.dll +/System.Drawing.dll +/System.Drawing.dll +/System.Drawing.dll +/System.Drawing.dll +/System.Drawing.dll +/System.Drawing.Primitives.dll +/System.Drawing.Primitives.dll +/System.Drawing.Primitives.dll +/System.Drawing.Primitives.dll +/System.Drawing.Primitives.dll +/System.Drawing.Primitives.dll +/System.Dynamic.Runtime.dll +/System.Dynamic.Runtime.dll +/System.Dynamic.Runtime.dll +/System.Dynamic.Runtime.dll +/System.Dynamic.Runtime.dll +/System.Dynamic.Runtime.dll +/System.Fabric.dll +/System.Fabric.Strings.dll +/System.Globalization.Calendars.dll +/System.Globalization.Calendars.dll +/System.Globalization.Calendars.dll +/System.Globalization.Calendars.dll +/System.Globalization.Calendars.dll +/System.Globalization.Calendars.dll +/System.Globalization.dll +/System.Globalization.dll +/System.Globalization.dll +/System.Globalization.dll +/System.Globalization.dll +/System.Globalization.dll +/System.Globalization.Extensions.dll +/System.Globalization.Extensions.dll +/System.Globalization.Extensions.dll +/System.Globalization.Extensions.dll +/System.Globalization.Extensions.dll +/System.Globalization.Extensions.dll +/System.Globalization.Native.dylib +/System.Globalization.Native.dylib +/System.Globalization.Native.so +/System.Globalization.Native.so +/System.IO.Compression.Brotli.dll +/System.IO.Compression.Brotli.dll +/System.IO.Compression.Brotli.dll +/System.IO.Compression.Brotli.dll +/System.IO.Compression.Brotli.dll +/System.IO.Compression.Brotli.dll +/System.IO.Compression.dll +/System.IO.Compression.dll +/System.IO.Compression.dll +/System.IO.Compression.dll +/System.IO.Compression.dll +/System.IO.Compression.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.FileSystem.dll +/System.IO.Compression.Native.a +/System.IO.Compression.Native.a +/System.IO.Compression.Native.a +/System.IO.Compression.Native.a +/System.IO.Compression.Native.dylib +/System.IO.Compression.Native.dylib +/System.IO.Compression.Native.so +/System.IO.Compression.Native.so +/System.IO.Compression.ZipFile.dll +/System.IO.Compression.ZipFile.dll +/System.IO.Compression.ZipFile.dll +/System.IO.Compression.ZipFile.dll +/System.IO.Compression.ZipFile.dll +/System.IO.Compression.ZipFile.dll +/System.IO.dll +/System.IO.dll +/System.IO.dll +/System.IO.dll +/System.IO.dll +/System.IO.dll +/System.IO.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.AccessControl.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.DriveInfo.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Primitives.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.FileSystem.Watcher.dll +/System.IO.IsolatedStorage.dll +/System.IO.IsolatedStorage.dll +/System.IO.IsolatedStorage.dll +/System.IO.IsolatedStorage.dll +/System.IO.IsolatedStorage.dll +/System.IO.IsolatedStorage.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.MemoryMappedFiles.dll +/System.IO.Packaging.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.AccessControl.dll +/System.IO.Pipes.dll +/System.IO.Pipes.dll +/System.IO.Pipes.dll +/System.IO.Pipes.dll +/System.IO.Pipes.dll +/System.IO.Pipes.dll +/System.IO.UnmanagedMemoryStream.dll +/System.IO.UnmanagedMemoryStream.dll +/System.IO.UnmanagedMemoryStream.dll +/System.IO.UnmanagedMemoryStream.dll +/System.IO.UnmanagedMemoryStream.dll +/System.IO.UnmanagedMemoryStream.dll +/System.Linq.dll +/System.Linq.dll +/System.Linq.dll +/System.Linq.dll +/System.Linq.dll +/System.Linq.dll +/System.Linq.Expressions.dll +/System.Linq.Expressions.dll +/System.Linq.Expressions.dll +/System.Linq.Expressions.dll +/System.Linq.Expressions.dll +/System.Linq.Expressions.dll +/System.Linq.Parallel.dll +/System.Linq.Parallel.dll +/System.Linq.Parallel.dll +/System.Linq.Parallel.dll +/System.Linq.Parallel.dll +/System.Linq.Parallel.dll +/System.Linq.Queryable.dll +/System.Linq.Queryable.dll +/System.Linq.Queryable.dll +/System.Linq.Queryable.dll +/System.Linq.Queryable.dll +/System.Linq.Queryable.dll +/System.Memory.dll +/System.Memory.dll +/System.Memory.dll +/System.Memory.dll +/System.Memory.dll +/System.Memory.dll +/System.Native.a +/System.Native.a +/System.Native.a +/System.Native.a +/System.Native.dylib +/System.Native.dylib +/System.Native.so +/System.Native.so +/System.Net.dll +/System.Net.dll +/System.Net.dll +/System.Net.dll +/System.Net.dll +/System.Net.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.dll +/System.Net.Http.Extensions.dll +/System.Net.Http.Native.a +/System.Net.Http.Native.a +/System.Net.Http.Native.a +/System.Net.Http.Native.a +/System.Net.Http.Native.dylib +/System.Net.Http.Native.dylib +/System.Net.Http.Native.so +/System.Net.Http.Native.so +/System.Net.Http.Primitives.dll +/System.Net.Http.Primitives.dll +/System.Net.Http.WebRequest.dll +/System.Net.HttpListener.dll +/System.Net.HttpListener.dll +/System.Net.HttpListener.dll +/System.Net.HttpListener.dll +/System.Net.HttpListener.dll +/System.Net.HttpListener.dll +/System.Net.Mail.dll +/System.Net.Mail.dll +/System.Net.Mail.dll +/System.Net.Mail.dll +/System.Net.Mail.dll +/System.Net.Mail.dll +/System.Net.NameResolution.dll +/System.Net.NameResolution.dll +/System.Net.NameResolution.dll +/System.Net.NameResolution.dll +/System.Net.NameResolution.dll +/System.Net.NameResolution.dll +/System.Net.NetworkInformation.dll +/System.Net.NetworkInformation.dll +/System.Net.NetworkInformation.dll +/System.Net.NetworkInformation.dll +/System.Net.NetworkInformation.dll +/System.Net.NetworkInformation.dll +/System.Net.Ping.dll +/System.Net.Ping.dll +/System.Net.Ping.dll +/System.Net.Ping.dll +/System.Net.Ping.dll +/System.Net.Ping.dll +/System.Net.Primitives.dll +/System.Net.Primitives.dll +/System.Net.Primitives.dll +/System.Net.Primitives.dll +/System.Net.Primitives.dll +/System.Net.Primitives.dll +/System.Net.Requests.dll +/System.Net.Requests.dll +/System.Net.Requests.dll +/System.Net.Requests.dll +/System.Net.Requests.dll +/System.Net.Requests.dll +/System.Net.Security.dll +/System.Net.Security.dll +/System.Net.Security.dll +/System.Net.Security.dll +/System.Net.Security.dll +/System.Net.Security.dll +/System.Net.Security.Native.a +/System.Net.Security.Native.a +/System.Net.Security.Native.a +/System.Net.Security.Native.a +/System.Net.Security.Native.dylib +/System.Net.Security.Native.dylib +/System.Net.Security.Native.so +/System.Net.Security.Native.so +/System.Net.ServicePoint.dll +/System.Net.ServicePoint.dll +/System.Net.ServicePoint.dll +/System.Net.ServicePoint.dll +/System.Net.ServicePoint.dll +/System.Net.ServicePoint.dll +/System.Net.Sockets.dll +/System.Net.Sockets.dll +/System.Net.Sockets.dll +/System.Net.Sockets.dll +/System.Net.Sockets.dll +/System.Net.Sockets.dll +/System.Net.WebClient.dll +/System.Net.WebClient.dll +/System.Net.WebClient.dll +/System.Net.WebClient.dll +/System.Net.WebClient.dll +/System.Net.WebClient.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebHeaderCollection.dll +/System.Net.WebProxy.dll +/System.Net.WebProxy.dll +/System.Net.WebProxy.dll +/System.Net.WebProxy.dll +/System.Net.WebProxy.dll +/System.Net.WebProxy.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.Client.dll +/System.Net.WebSockets.dll +/System.Net.WebSockets.dll +/System.Net.WebSockets.dll +/System.Net.WebSockets.dll +/System.Net.WebSockets.dll +/System.Net.WebSockets.dll +/System.Numerics.dll +/System.Numerics.dll +/System.Numerics.dll +/System.Numerics.dll +/System.Numerics.dll +/System.Numerics.dll +/System.Numerics.Vectors.dll +/System.Numerics.Vectors.dll +/System.Numerics.Vectors.dll +/System.Numerics.Vectors.dll +/System.Numerics.Vectors.dll +/System.Numerics.Vectors.dll +/System.ObjectModel.dll +/System.ObjectModel.dll +/System.ObjectModel.dll +/System.ObjectModel.dll +/System.ObjectModel.dll +/System.ObjectModel.dll +/System.Private.CoreLib.dll +/System.Private.CoreLib.dll +/System.Private.CoreLib.dll +/System.Private.CoreLib.dll +/System.Private.CoreLib.dll +/System.Private.CoreLib.dll +/System.Private.DataContractSerialization.dll +/System.Private.DataContractSerialization.dll +/System.Private.DataContractSerialization.dll +/System.Private.DataContractSerialization.dll +/System.Private.DataContractSerialization.dll +/System.Private.DataContractSerialization.dll +/System.Private.Uri.dll +/System.Private.Uri.dll +/System.Private.Uri.dll +/System.Private.Uri.dll +/System.Private.Uri.dll +/System.Private.Uri.dll +/System.Private.Xml.dll +/System.Private.Xml.dll +/System.Private.Xml.dll +/System.Private.Xml.dll +/System.Private.Xml.dll +/System.Private.Xml.dll +/System.Private.Xml.Linq.dll +/System.Private.Xml.Linq.dll +/System.Private.Xml.Linq.dll +/System.Private.Xml.Linq.dll +/System.Private.Xml.Linq.dll +/System.Private.Xml.Linq.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.DispatchProxy.dll +/System.Reflection.dll +/System.Reflection.dll +/System.Reflection.dll +/System.Reflection.dll +/System.Reflection.dll +/System.Reflection.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.ILGeneration.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Emit.Lightweight.dll +/System.Reflection.Extensions.dll +/System.Reflection.Extensions.dll +/System.Reflection.Extensions.dll +/System.Reflection.Extensions.dll +/System.Reflection.Extensions.dll +/System.Reflection.Extensions.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Metadata.dll +/System.Reflection.Primitives.dll +/System.Reflection.Primitives.dll +/System.Reflection.Primitives.dll +/System.Reflection.Primitives.dll +/System.Reflection.Primitives.dll +/System.Reflection.Primitives.dll +/System.Reflection.TypeExtensions.dll +/System.Reflection.TypeExtensions.dll +/System.Reflection.TypeExtensions.dll +/System.Reflection.TypeExtensions.dll +/System.Reflection.TypeExtensions.dll +/System.Reflection.TypeExtensions.dll +/System.Resources.Reader.dll +/System.Resources.Reader.dll +/System.Resources.Reader.dll +/System.Resources.Reader.dll +/System.Resources.Reader.dll +/System.Resources.Reader.dll +/System.Resources.ResourceManager.dll +/System.Resources.ResourceManager.dll +/System.Resources.ResourceManager.dll +/System.Resources.ResourceManager.dll +/System.Resources.ResourceManager.dll +/System.Resources.ResourceManager.dll +/System.Resources.Writer.dll +/System.Resources.Writer.dll +/System.Resources.Writer.dll +/System.Resources.Writer.dll +/System.Resources.Writer.dll +/System.Resources.Writer.dll +/System.Runtime.CompilerServices.Unsafe.dll +/System.Runtime.CompilerServices.Unsafe.dll +/System.Runtime.CompilerServices.Unsafe.dll +/System.Runtime.CompilerServices.Unsafe.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.CompilerServices.VisualC.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.dll +/System.Runtime.Extensions.dll +/System.Runtime.Extensions.dll +/System.Runtime.Extensions.dll +/System.Runtime.Extensions.dll +/System.Runtime.Extensions.dll +/System.Runtime.Extensions.dll +/System.Runtime.Handles.dll +/System.Runtime.Handles.dll +/System.Runtime.Handles.dll +/System.Runtime.Handles.dll +/System.Runtime.Handles.dll +/System.Runtime.Handles.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.RuntimeInformation.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.InteropServices.WindowsRuntime.dll +/System.Runtime.Intrinsics.dll +/System.Runtime.Intrinsics.dll +/System.Runtime.Intrinsics.dll +/System.Runtime.Loader.dll +/System.Runtime.Loader.dll +/System.Runtime.Loader.dll +/System.Runtime.Loader.dll +/System.Runtime.Loader.dll +/System.Runtime.Loader.dll +/System.Runtime.Numerics.dll +/System.Runtime.Numerics.dll +/System.Runtime.Numerics.dll +/System.Runtime.Numerics.dll +/System.Runtime.Numerics.dll +/System.Runtime.Numerics.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Formatters.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Json.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Primitives.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.Serialization.Xml.dll +/System.Runtime.WindowsRuntime.dll +/System.Runtime.WindowsRuntime.dll +/System.Runtime.WindowsRuntime.UI.Xaml.dll +/System.Runtime.WindowsRuntime.UI.Xaml.dll +/System.Runtime.WindowsRuntime.UI.Xaml.dll +/System.Security.AccessControl.dll +/System.Security.AccessControl.dll +/System.Security.AccessControl.dll +/System.Security.AccessControl.dll +/System.Security.AccessControl.dll +/System.Security.AccessControl.dll +/System.Security.Claims.dll +/System.Security.Claims.dll +/System.Security.Claims.dll +/System.Security.Claims.dll +/System.Security.Claims.dll +/System.Security.Claims.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Algorithms.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Cng.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Csp.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Encoding.dll +/System.Security.Cryptography.Native.Apple.a +/System.Security.Cryptography.Native.Apple.a +/System.Security.Cryptography.Native.Apple.dylib +/System.Security.Cryptography.Native.Apple.dylib +/System.Security.Cryptography.Native.OpenSsl.a +/System.Security.Cryptography.Native.OpenSsl.a +/System.Security.Cryptography.Native.OpenSsl.a +/System.Security.Cryptography.Native.OpenSsl.a +/System.Security.Cryptography.Native.OpenSsl.dylib +/System.Security.Cryptography.Native.OpenSsl.dylib +/System.Security.Cryptography.Native.OpenSsl.so +/System.Security.Cryptography.Native.OpenSsl.so +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.OpenSsl.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.Primitives.dll +/System.Security.Cryptography.ProtectedData.dll +/System.Security.Cryptography.ProtectedData.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.Cryptography.X509Certificates.dll +/System.Security.dll +/System.Security.dll +/System.Security.dll +/System.Security.dll +/System.Security.dll +/System.Security.dll +/System.Security.Principal.dll +/System.Security.Principal.dll +/System.Security.Principal.dll +/System.Security.Principal.dll +/System.Security.Principal.dll +/System.Security.Principal.dll +/System.Security.Principal.Windows.dll +/System.Security.Principal.Windows.dll +/System.Security.Principal.Windows.dll +/System.Security.Principal.Windows.dll +/System.Security.Principal.Windows.dll +/System.Security.Principal.Windows.dll +/System.Security.SecureString.dll +/System.Security.SecureString.dll +/System.Security.SecureString.dll +/System.Security.SecureString.dll +/System.Security.SecureString.dll +/System.Security.SecureString.dll +/System.ServiceModel.Web.dll +/System.ServiceModel.Web.dll +/System.ServiceModel.Web.dll +/System.ServiceModel.Web.dll +/System.ServiceModel.Web.dll +/System.ServiceModel.Web.dll +/System.ServiceProcess.dll +/System.ServiceProcess.dll +/System.ServiceProcess.dll +/System.ServiceProcess.dll +/System.ServiceProcess.dll +/System.ServiceProcess.dll +/System.Spatial.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Spatial.resources.dll +/System.Text.Encoding.CodePages.dll +/System.Text.Encoding.CodePages.dll +/System.Text.Encoding.CodePages.dll +/System.Text.Encoding.CodePages.dll +/System.Text.Encoding.CodePages.dll +/System.Text.Encoding.dll +/System.Text.Encoding.dll +/System.Text.Encoding.dll +/System.Text.Encoding.dll +/System.Text.Encoding.dll +/System.Text.Encoding.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encoding.Extensions.dll +/System.Text.Encodings.Web.dll +/System.Text.Encodings.Web.dll +/System.Text.Encodings.Web.dll +/System.Text.Json.dll +/System.Text.Json.dll +/System.Text.Json.dll +/System.Text.RegularExpressions.dll +/System.Text.RegularExpressions.dll +/System.Text.RegularExpressions.dll +/System.Text.RegularExpressions.dll +/System.Text.RegularExpressions.dll +/System.Text.RegularExpressions.dll +/System.Threading.AccessControl.dll +/System.Threading.AccessControl.dll +/System.Threading.Channels.dll +/System.Threading.Channels.dll +/System.Threading.Channels.dll +/System.Threading.dll +/System.Threading.dll +/System.Threading.dll +/System.Threading.dll +/System.Threading.dll +/System.Threading.dll +/System.Threading.Overlapped.dll +/System.Threading.Overlapped.dll +/System.Threading.Overlapped.dll +/System.Threading.Overlapped.dll +/System.Threading.Overlapped.dll +/System.Threading.Overlapped.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.Dataflow.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Extensions.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Tasks.Parallel.dll +/System.Threading.Thread.dll +/System.Threading.Thread.dll +/System.Threading.Thread.dll +/System.Threading.Thread.dll +/System.Threading.Thread.dll +/System.Threading.Thread.dll +/System.Threading.ThreadPool.dll +/System.Threading.ThreadPool.dll +/System.Threading.ThreadPool.dll +/System.Threading.ThreadPool.dll +/System.Threading.ThreadPool.dll +/System.Threading.ThreadPool.dll +/System.Threading.Timer.dll +/System.Threading.Timer.dll +/System.Threading.Timer.dll +/System.Threading.Timer.dll +/System.Threading.Timer.dll +/System.Threading.Timer.dll +/System.Transactions.dll +/System.Transactions.dll +/System.Transactions.dll +/System.Transactions.dll +/System.Transactions.dll +/System.Transactions.dll +/System.Transactions.Local.dll +/System.Transactions.Local.dll +/System.Transactions.Local.dll +/System.Transactions.Local.dll +/System.Transactions.Local.dll +/System.Transactions.Local.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.ValueTuple.dll +/System.Web.dll +/System.Web.dll +/System.Web.dll +/System.Web.dll +/System.Web.dll +/System.Web.dll +/System.Web.HttpUtility.dll +/System.Web.HttpUtility.dll +/System.Web.HttpUtility.dll +/System.Web.HttpUtility.dll +/System.Web.HttpUtility.dll +/System.Web.HttpUtility.dll +/System.Windows.dll +/System.Windows.dll +/System.Windows.dll +/System.Windows.dll +/System.Windows.dll +/System.Windows.dll +/System.Xml.dll +/System.Xml.dll +/System.Xml.dll +/System.Xml.dll +/System.Xml.dll +/System.Xml.dll +/System.Xml.Linq.dll +/System.Xml.Linq.dll +/System.Xml.Linq.dll +/System.Xml.Linq.dll +/System.Xml.Linq.dll +/System.Xml.Linq.dll +/System.Xml.ReaderWriter.dll +/System.Xml.ReaderWriter.dll +/System.Xml.ReaderWriter.dll +/System.Xml.ReaderWriter.dll +/System.Xml.ReaderWriter.dll +/System.Xml.ReaderWriter.dll +/System.Xml.Serialization.dll +/System.Xml.Serialization.dll +/System.Xml.Serialization.dll +/System.Xml.Serialization.dll +/System.Xml.Serialization.dll +/System.Xml.Serialization.dll +/System.Xml.XDocument.dll +/System.Xml.XDocument.dll +/System.Xml.XDocument.dll +/System.Xml.XDocument.dll +/System.Xml.XDocument.dll +/System.Xml.XDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlDocument.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XmlSerializer.dll +/System.Xml.XPath.dll +/System.Xml.XPath.dll +/System.Xml.XPath.dll +/System.Xml.XPath.dll +/System.Xml.XPath.dll +/System.Xml.XPath.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XDocument.dll +/System.Xml.XPath.XmlDocument.dll +/ucrtbase.dll +/WindowsBase.dll +/WindowsBase.dll +/WindowsBase.dll +/WindowsBase.dll +/WindowsBase.dll +/WindowsBase.dll +/YamlDotNet.dll +/YamlDotNet.dll +/YamlDotNet.dll index.json \ No newline at end of file From 5ecbc2d791ddfb62b71f474f1ca886c707eae33a Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 08:55:45 +1100 Subject: [PATCH 09/34] moved everything out of common package And fixed all the namespacing issues --- ...amari.ConsolidateCalamariPackages.Tests.csproj | 1 - .../IntegrationTests.cs | 1 - .../Calamari.ConsolidateCalamariPackages.csproj | 5 +---- .../ConsolidatedPackage.cs | 13 ++++++++----- .../ConsolidatedPackageCreator.cs | 1 - .../ConsolidatedPackageFactory.cs | 8 +++++--- .../ConsolidatedPackageIndex.cs | 3 ++- .../ConsolidatedPackageIndexLoader.cs | 9 +++++---- .../FileBasedStreamProvider.cs | 5 ++++- .../IConsolidatedPackageStreamProvider.cs | 3 ++- .../Calamari.ConsolidatedPackagesCommon.csproj | 15 --------------- source/Calamari.sln | 5 ----- 12 files changed, 27 insertions(+), 42 deletions(-) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/ConsolidatedPackage.cs (79%) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/ConsolidatedPackageFactory.cs (51%) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/ConsolidatedPackageIndex.cs (95%) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/ConsolidatedPackageIndexLoader.cs (72%) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/FileBasedStreamProvider.cs (78%) rename source/{Calamari.ConsolidatedPackagesCommon => Calamari.ConsolidateCalamariPackages}/IConsolidatedPackageStreamProvider.cs (66%) delete mode 100644 source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj index 08b386efc..ebc5ad324 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/Calamari.ConsolidateCalamariPackages.Tests.csproj @@ -27,7 +27,6 @@ - diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index ec08166cf..034f40a02 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -6,7 +6,6 @@ using System.Linq; using System.Text.RegularExpressions; using Assent; -using Calamari.ConsolidatedPackagesCommon; using FluentAssertions; using NSubstitute; using NuGet.Packaging; diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index d2902c0fd..44b8ec118 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -8,10 +8,7 @@ - - - - + diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs similarity index 79% rename from source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs rename to source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs index f186a4c78..38ede87bd 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs @@ -1,7 +1,10 @@ using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; using SharpCompress.Archives.Zip; -namespace Calamari.ConsolidatedPackagesCommon +namespace Calamari.ConsolidateCalamariPackages { public interface IConsolidatedPackage { @@ -9,16 +12,16 @@ public interface IConsolidatedPackage public IEnumerable<(string package, string version)> GetAvailablePackages(); - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); + public ConsolidateCalamariPackages.ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); } public class ConsolidatedPackage : IConsolidatedPackage { - readonly ConsolidatedPackageIndex index; + readonly ConsolidateCalamariPackages.ConsolidatedPackageIndex index; readonly IConsolidatedPackageStreamProvider packageStreamProvider; - public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) + public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidateCalamariPackages.ConsolidatedPackageIndex index) { this.packageStreamProvider = packageStreamProvider; this.index = index; @@ -29,7 +32,7 @@ public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvi return index.Packages.Values.Select(v => (v.PackageId, v.Version)); } - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); + public ConsolidateCalamariPackages.ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index 2870a0d4b..2fc2f75f0 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,7 +4,6 @@ using System.IO.Compression; using System.Linq; using System.Text; -using Calamari.ConsolidatedPackagesCommon; using Newtonsoft.Json; namespace Calamari.ConsolidateCalamariPackages diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs similarity index 51% rename from source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs rename to source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs index 8870bcb60..5c310996e 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageFactory.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs @@ -1,16 +1,18 @@ -namespace Calamari.ConsolidatedPackagesCommon +using System; + +namespace Calamari.ConsolidateCalamariPackages { public class ConsolidatedPackageFactory { readonly ConsolidatedPackageIndexLoader indexLoader = new(); - public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) + public ConsolidateCalamariPackages.ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) { using (var stream = streamProvider.OpenStream()) { var index = indexLoader.Load(stream); - return new ConsolidatedPackage(streamProvider, index); + return new ConsolidateCalamariPackages.ConsolidatedPackage(streamProvider, index); } } } diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs similarity index 95% rename from source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs rename to source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs index 067e607ba..ab3f33968 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs @@ -1,7 +1,8 @@ using System; using System.Collections.Generic; +using System.Linq; -namespace Calamari.ConsolidatedPackagesCommon +namespace Calamari.ConsolidateCalamariPackages { public class ConsolidatedPackageIndex { diff --git a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs similarity index 72% rename from source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs rename to source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs index 4a7e8e884..ee0879902 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/ConsolidatedPackageIndexLoader.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs @@ -1,13 +1,14 @@ using System; using System.IO; +using System.Linq; using Newtonsoft.Json; using SharpCompress.Archives.Zip; -namespace Calamari.ConsolidatedPackagesCommon +namespace Calamari.ConsolidateCalamariPackages { public class ConsolidatedPackageIndexLoader { - public ConsolidatedPackageIndex Load(Stream zipStream) + public ConsolidateCalamariPackages.ConsolidatedPackageIndex Load(Stream zipStream) { using var zip = ZipArchive.Open(zipStream); var entry = zip.Entries.First(e => e.Key == "index.json"); @@ -20,12 +21,12 @@ public ConsolidatedPackageIndex Load(Stream zipStream) return From(entryStream); } - ConsolidatedPackageIndex From(Stream inputStream) + ConsolidateCalamariPackages.ConsolidatedPackageIndex From(Stream inputStream) { using (var sr = new StreamReader(inputStream)) { #pragma warning disable CS8603 // Possible null reference return - return JsonConvert.DeserializeObject(sr.ReadToEnd()); + return JsonConvert.DeserializeObject(sr.ReadToEnd()); #pragma warning restore CS8603 } } diff --git a/source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs similarity index 78% rename from source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs rename to source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs index 81985dc90..905ed492f 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/FileBasedStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs @@ -1,4 +1,7 @@ -namespace Calamari.ConsolidatedPackagesCommon; +using System; +using System.IO; + +namespace Calamari.ConsolidateCalamariPackages; public class FileBasedStreamProvider : IConsolidatedPackageStreamProvider { diff --git a/source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs similarity index 66% rename from source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs rename to source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs index b9f338d39..96ae78259 100644 --- a/source/Calamari.ConsolidatedPackagesCommon/IConsolidatedPackageStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs @@ -1,6 +1,7 @@ +using System; using System.IO; -namespace Calamari.ConsolidatedPackagesCommon +namespace Calamari.ConsolidateCalamariPackages { public interface IConsolidatedPackageStreamProvider { diff --git a/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj b/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj deleted file mode 100644 index 04e86a9e1..000000000 --- a/source/Calamari.ConsolidatedPackagesCommon/Calamari.ConsolidatedPackagesCommon.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - net6.0 - enable - enable - default - - - - - - - - diff --git a/source/Calamari.sln b/source/Calamari.sln index 7819ee51c..8613f5d6f 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -78,7 +78,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting", "Calam EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting.Tests", "Calamari.Scripting.Tests\Calamari.Scripting.Tests.csproj", "{D8DEC40C-948F-4806-AE87-1A7502E41A06}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.ConsolidatedPackagesCommon", "Calamari.ConsolidatedPackagesCommon\Calamari.ConsolidatedPackagesCommon.csproj", "{EA1CA436-1BD7-410A-878C-14A0A58AF6AB}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.GoogleCloudAccounts", "Calamari.GoogleCloudAccounts\Calamari.GoogleCloudAccounts.csproj", "{74F2739F-A501-4F30-BF9E-75A087C3B917}" EndProject Global @@ -202,10 +201,6 @@ Global {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Debug|Any CPU.Build.0 = Debug|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.Build.0 = Release|Any CPU - {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EA1CA436-1BD7-410A-878C-14A0A58AF6AB}.Release|Any CPU.Build.0 = Release|Any CPU {74F2739F-A501-4F30-BF9E-75A087C3B917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {74F2739F-A501-4F30-BF9E-75A087C3B917}.Debug|Any CPU.Build.0 = Debug|Any CPU {74F2739F-A501-4F30-BF9E-75A087C3B917}.Release|Any CPU.ActiveCfg = Release|Any CPU From fdaef735b0bffec7d6d985aa989bbdc40d66aaf0 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 09:07:03 +1100 Subject: [PATCH 10/34] also publish the consolidated library - whatever that means --- build/Build.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/Build.cs b/build/Build.cs index 960a2286d..b8e1d9296 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -223,7 +223,7 @@ public Build() foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject(RootProjectName)!)!) DoPublish(RootProjectName, Frameworks.Net60, nugetVersion, rid); }); - + Target PublishCalamariFlavourProjects => _ => _ .DependsOn(Compile) @@ -239,9 +239,14 @@ public Build() // Unlike other *Calamari* tests, we would still want to produce Calamari.Scripting.Zip and its tests, like its flavours. var calamariScripting = "Calamari.Scripting"; var calamariScriptingProjectAndTest = Solution.Projects.Where(project => project.Name == calamariScripting || project.Name == $"{calamariScripting}.Tests"); + + //Also want to publish the ConsolidatedPackages library + var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; + var consolidatedCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); var calamariProjects = calamariFlavourProjects .Concat(calamariScriptingProjectAndTest) + .Concat(consolidatedCalamariProjectAndTest) .ToList(); await PublishCalamariProjects(calamariProjects); From 842627725c8331dd43ddf62a6f68dc352a3d9bd4 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 09:55:20 +1100 Subject: [PATCH 11/34] still trying --- build/Build.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index b8e1d9296..f9888288e 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -164,7 +164,7 @@ public Build() Target Compile => _ => _.DependsOn(CheckForbiddenWords) - .DependsOn(Restore) + //.DependsOn(Restore) .Executes(() => { Log.Information("Compiling Calamari v{CalamariVersion}", NugetVersion.Value); @@ -242,11 +242,11 @@ public Build() //Also want to publish the ConsolidatedPackages library var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; - var consolidatedCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); + var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); var calamariProjects = calamariFlavourProjects .Concat(calamariScriptingProjectAndTest) - .Concat(consolidatedCalamariProjectAndTest) + .Concat(consolidateCalamariProjectAndTest) .ToList(); await PublishCalamariProjects(calamariProjects); From aba7f9e93c37b9512173ff5002076d23bcfbe789 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 10:24:21 +1100 Subject: [PATCH 12/34] trying to make it work --- build/Build.cs | 2 +- .../Calamari.ConsolidateCalamariPackages.csproj | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build/Build.cs b/build/Build.cs index f9888288e..0bd36aba9 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -276,7 +276,7 @@ async Task PublishCalamariProjects(List projects) Architecture = null, IsCrossPlatform = packageToBuild.CrossPlatform }); - + // for cross-platform frameworks, we combine each runtime identifier with each target framework var crossPlatformPackages = calamariPackages .Where(p => p.CrossPlatform) diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index 44b8ec118..cbe4a793c 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -3,6 +3,8 @@ net6.0 default + win-x64;linux-x64;osx-x64;linux-arm;linux-arm64 + true From 95b54f1946d16567c2b756766dada03b3acf6891 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 12:11:58 +1100 Subject: [PATCH 13/34] updated build-system to publish the consol library --- build/Build.cs | 431 +++++++++--------- ...alamari.ConsolidateCalamariPackages.csproj | 1 - 2 files changed, 214 insertions(+), 218 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 0bd36aba9..1a30827ab 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -33,17 +33,13 @@ partial class Build : NukeBuild readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release; - [Required] - readonly Solution Solution = SolutionModelTasks.ParseSolution(SourceDirectory / "Calamari.sln"); + [Required] readonly Solution Solution = SolutionModelTasks.ParseSolution(SourceDirectory / "Calamari.sln"); - [Parameter("Run packing step in parallel")] - readonly bool PackInParallel; + [Parameter("Run packing step in parallel")] readonly bool PackInParallel; - [Parameter] - readonly DotNetVerbosity BuildVerbosity = DotNetVerbosity.Minimal; + [Parameter] readonly DotNetVerbosity BuildVerbosity = DotNetVerbosity.Minimal; - [Parameter] - readonly bool SignBinaries; + [Parameter] readonly bool SignBinaries; // When building locally signing isn't really necessary and it could take // up to 3-4 minutes to sign all the binaries as we build for many, many @@ -51,44 +47,29 @@ partial class Build : NukeBuild // when doing local development. bool WillSignBinaries => !IsLocalBuild || SignBinaries; - [Parameter] - readonly bool AppendTimestamp; + [Parameter] readonly bool AppendTimestamp; - [Parameter("Set Calamari Version on OctopusServer")] - readonly bool SetOctopusServerVersion; + [Parameter("Set Calamari Version on OctopusServer")] readonly bool SetOctopusServerVersion; - [Parameter] - readonly string? AzureKeyVaultUrl; + [Parameter] readonly string? AzureKeyVaultUrl; - [Parameter] - readonly string? AzureKeyVaultAppId; + [Parameter] readonly string? AzureKeyVaultAppId; - [Parameter] - [Secret] - readonly string? AzureKeyVaultAppSecret; + [Parameter] [Secret] readonly string? AzureKeyVaultAppSecret; - [Parameter] - [Secret] - readonly string? AzureKeyVaultTenantId; + [Parameter] [Secret] readonly string? AzureKeyVaultTenantId; - [Parameter] - readonly string? AzureKeyVaultCertificateName; + [Parameter] readonly string? AzureKeyVaultCertificateName; - [Parameter(Name = "signing_certificate_path")] - readonly string SigningCertificatePath = RootDirectory / "certificates" / "OctopusDevelopment.pfx"; + [Parameter(Name = "signing_certificate_path")] readonly string SigningCertificatePath = RootDirectory / "certificates" / "OctopusDevelopment.pfx"; - [Parameter(Name = "signing_certificate_password")] - [Secret] - readonly string SigningCertificatePassword = "Password01!"; + [Parameter(Name = "signing_certificate_password")] [Secret] readonly string SigningCertificatePassword = "Password01!"; - [Parameter] - readonly string? TargetFramework; + [Parameter] readonly string? TargetFramework; - [Parameter] - readonly string? TargetRuntime; + [Parameter] readonly string? TargetRuntime; - [GitVersion] - readonly GitVersion? GitVersionInfo; + [GitVersion] readonly GitVersion? GitVersionInfo; static readonly List CalamariProjectsToSkipConsolidation = new() { "Calamari.CloudAccounts", "Calamari.Common", "Calamari.ConsolidateCalamariPackages" }; @@ -118,63 +99,63 @@ public Build() Target CheckForbiddenWords => _ => _.Executes(() => - { - Log.Information("Checking codebase for forbidden words"); - - const string arguments = - "grep -i -I -n -f ForbiddenWords.txt -- \"./*\" \":(exclude)ForbiddenWords.txt\""; - var process = - ProcessTasks.StartProcess(GitPath, arguments) - .AssertWaitForExit(); - - if (process.ExitCode == 1) - { - Log.Information("Sanity check passed"); - return; - } - - var filesContainingForbiddenWords = process.Output.Select(o => o.Text).ToArray(); - if (filesContainingForbiddenWords.Any()) - throw new Exception("Found forbidden words in the following files, " - + "please clean them up:\r\n" - + string.Join("\r\n", filesContainingForbiddenWords)); - }); + { + Log.Information("Checking codebase for forbidden words"); + + const string arguments = + "grep -i -I -n -f ForbiddenWords.txt -- \"./*\" \":(exclude)ForbiddenWords.txt\""; + var process = + ProcessTasks.StartProcess(GitPath, arguments) + .AssertWaitForExit(); + + if (process.ExitCode == 1) + { + Log.Information("Sanity check passed"); + return; + } + + var filesContainingForbiddenWords = process.Output.Select(o => o.Text).ToArray(); + if (filesContainingForbiddenWords.Any()) + throw new Exception("Found forbidden words in the following files, " + + "please clean them up:\r\n" + + string.Join("\r\n", filesContainingForbiddenWords)); + }); Target Clean => _ => _.Executes(() => - { - SourceDirectory.GlobDirectories("**/bin", "**/obj", "**/TestResults").ForEach(DeleteDirectory); - EnsureCleanDirectory(ArtifactsDirectory); - EnsureCleanDirectory(PublishDirectory); - }); + { + SourceDirectory.GlobDirectories("**/bin", "**/obj", "**/TestResults").ForEach(DeleteDirectory); + EnsureCleanDirectory(ArtifactsDirectory); + EnsureCleanDirectory(PublishDirectory); + }); Target Restore => _ => _.DependsOn(Clean) .Executes(() => - { - var localRuntime = FixedRuntimes.Windows; + { + var localRuntime = FixedRuntimes.Windows; - if (!OperatingSystem.IsWindows()) - localRuntime = FixedRuntimes.Linux; + if (!OperatingSystem.IsWindows()) + localRuntime = FixedRuntimes.Linux; - DotNetRestore(_ => _.SetProjectFile(Solution) - .SetRuntime(localRuntime) - .SetProperty("DisableImplicitNuGetFallbackFolder", true)); - }); + DotNetRestore(_ => _.SetProjectFile(Solution) + .SetRuntime(localRuntime) + .SetProperty("DisableImplicitNuGetFallbackFolder", true)); + }); Target Compile => _ => _.DependsOn(CheckForbiddenWords) - //.DependsOn(Restore) + .DependsOn(Restore) .Executes(() => - { - Log.Information("Compiling Calamari v{CalamariVersion}", NugetVersion.Value); + { + Log.Information("Compiling Calamari v{CalamariVersion}", NugetVersion.Value); - DotNetBuild(_ => _.SetProjectFile(Solution) - .SetConfiguration(Configuration) - .EnableNoRestore() - .SetVersion(NugetVersion.Value) - .SetInformationalVersion(GitVersionInfo?.InformationalVersion)); - }); + DotNetBuild(_ => _.SetProjectFile(Solution) + .SetConfiguration(Configuration) + .EnableNoRestore() + .SetVersion(NugetVersion.Value) + .SetInformationalVersion(GitVersionInfo?.InformationalVersion)); + }); Target CalamariConsolidationTests => _ => _.DependsOn(Compile) @@ -219,38 +200,46 @@ public Build() nugetVersion, FixedRuntimes.Cloud); - // Create the self-contained Calamari packages for each runtime ID defined in Calamari.csproj - foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject(RootProjectName)!)!) - DoPublish(RootProjectName, Frameworks.Net60, nugetVersion, rid); - }); - + // Create the self-contained Calamari packages for each runtime ID defined in Calamari.csproj + foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject(RootProjectName)!)!) + DoPublish(RootProjectName, Frameworks.Net60, nugetVersion, rid); + }); + Target PublishCalamariFlavourProjects => _ => _ .DependsOn(Compile) .Executes(async () => - { - var flavours = GetCalamariFlavours(); - var migratedCalamariFlavoursTests = flavours.Select(f => $"{f}.Tests"); - var calamariFlavourProjects = Solution.Projects - .Where(project => flavours.Contains(project.Name) - || migratedCalamariFlavoursTests.Contains(project.Name)); - - // Calamari.Scripting is a library that other calamari flavours depend on; not a flavour on its own right. - // Unlike other *Calamari* tests, we would still want to produce Calamari.Scripting.Zip and its tests, like its flavours. - var calamariScripting = "Calamari.Scripting"; - var calamariScriptingProjectAndTest = Solution.Projects.Where(project => project.Name == calamariScripting || project.Name == $"{calamariScripting}.Tests"); - - //Also want to publish the ConsolidatedPackages library - var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; - var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); - - var calamariProjects = calamariFlavourProjects - .Concat(calamariScriptingProjectAndTest) - .Concat(consolidateCalamariProjectAndTest) - .ToList(); - - await PublishCalamariProjects(calamariProjects); - }); + { + var flavours = GetCalamariFlavours(); + var migratedCalamariFlavoursTests = flavours.Select(f => $"{f}.Tests"); + var calamariFlavourProjects = Solution.Projects + .Where(project => flavours.Contains(project.Name) + || migratedCalamariFlavoursTests.Contains(project.Name)); + + // Calamari.Scripting is a library that other calamari flavours depend on; not a flavour on its own right. + // Unlike other *Calamari* tests, we would still want to produce Calamari.Scripting.Zip and its tests, like its flavours. + var calamariScripting = "Calamari.Scripting"; + var calamariScriptingProjectAndTest = Solution.Projects.Where(project => project.Name == calamariScripting || project.Name == $"{calamariScripting}.Tests"); + + var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; + var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); + + var calamariProjects = calamariFlavourProjects + .Concat(calamariScriptingProjectAndTest) + .Concat(consolidateCalamariProjectAndTest) + .ToList(); + + await PublishCalamariProjects(calamariProjects); + }); + + // Target PublishConsolidatedCalamari => + // _ => _.DependsOn(CalamariConsolidationTests) + // .Executes(() => + // { + // var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; + // var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); + // + // }) async Task PublishCalamariProjects(List projects) { @@ -259,37 +248,38 @@ async Task PublishCalamariProjects(List projects) bool IsCrossPlatform(string targetFramework) => targetFramework.Contains('.'); var calamariPackages = projects - .SelectMany(project => project.GetTargetFrameworks()!, (p, f) => new - { - Project = p, - Framework = f, - CrossPlatform = IsCrossPlatform(f) - }).ToList(); + .SelectMany(project => project.GetTargetFrameworks()!, (p, f) => new + { + Project = p, + Framework = f, + CrossPlatform = IsCrossPlatform(f) + }) + .ToList(); // for NetFx target frameworks, we use "netfx" as the architecture, and ignore defined runtime identifiers var netFxPackages = calamariPackages - .Where(p => !p.CrossPlatform) - .Select(packageToBuild => new CalamariPackageMetadata() - { - Project = packageToBuild.Project, - Framework = packageToBuild.Framework, - Architecture = null, - IsCrossPlatform = packageToBuild.CrossPlatform - }); - + .Where(p => !p.CrossPlatform) + .Select(packageToBuild => new CalamariPackageMetadata() + { + Project = packageToBuild.Project, + Framework = packageToBuild.Framework, + Architecture = null, + IsCrossPlatform = packageToBuild.CrossPlatform + }); + // for cross-platform frameworks, we combine each runtime identifier with each target framework var crossPlatformPackages = calamariPackages - .Where(p => p.CrossPlatform) - .Where(p => string.IsNullOrWhiteSpace(TargetFramework) || p.Framework == TargetFramework) - .SelectMany(packageToBuild => GetRuntimeIdentifiers(packageToBuild.Project) ?? Enumerable.Empty(), - (packageToBuild, runtimeIdentifier) => new CalamariPackageMetadata() - { - Project = packageToBuild.Project, - Framework = packageToBuild.Framework, - Architecture = runtimeIdentifier, - IsCrossPlatform = packageToBuild.CrossPlatform - }) - .Distinct(t => new {t.Project?.Name, t.Architecture, t.Framework}); + .Where(p => p.CrossPlatform) + .Where(p => string.IsNullOrWhiteSpace(TargetFramework) || p.Framework == TargetFramework) + .SelectMany(packageToBuild => GetRuntimeIdentifiers(packageToBuild.Project).IsEmpty() ? new List() { null! } : GetRuntimeIdentifiers(packageToBuild.Project), + (packageToBuild, runtimeIdentifier) => new CalamariPackageMetadata() + { + Project = packageToBuild.Project, + Framework = packageToBuild.Framework, + Architecture = runtimeIdentifier, + IsCrossPlatform = packageToBuild.CrossPlatform + }) + .Distinct(t => new { t.Project?.Name, t.Architecture, t.Framework }); var packagesToPublish = crossPlatformPackages.Concat(netFxPackages).ToArray(); @@ -311,21 +301,28 @@ void PublishPackage(CalamariPackageMetadata calamariPackageMetadata) } Log.Information( - $"Building {calamariPackageMetadata.Project?.Name} for framework '{calamariPackageMetadata.Framework}' and arch '{calamariPackageMetadata.Architecture}'"); + $"Building {calamariPackageMetadata.Project?.Name} for framework '{calamariPackageMetadata.Framework}' and arch '{calamariPackageMetadata.Architecture}'"); var project = calamariPackageMetadata.Project; - var outputDirectory = PublishDirectory / project?.Name / - (calamariPackageMetadata.IsCrossPlatform ? calamariPackageMetadata.Architecture : "netfx"); - - DotNetPublish(s => s - .SetConfiguration(Configuration) - .SetProject(project) - .SetFramework(calamariPackageMetadata.Framework) - .SetRuntime(calamariPackageMetadata.Architecture) - //explicitly mark all of these as self-contained (because they use a specific runtime) - .EnableSelfContained() - .SetOutput(outputDirectory) - ); + var outputDirectory = PublishDirectory / project?.Name / (calamariPackageMetadata.IsCrossPlatform ? calamariPackageMetadata.Architecture : "netfx"); + + DotNetPublish(s => + { + s = s.SetConfiguration(Configuration) + .SetProject(project) + .SetFramework(calamariPackageMetadata.Framework) + .SetOutput(outputDirectory) + .DisableSelfContained(); + + if (!calamariPackageMetadata.Architecture.IsNullOrEmpty()) + { + //explicitly mark all of these as self-contained (because they use a specific runtime) + s = s.EnableSelfContained() + .SetRuntime(calamariPackageMetadata.Architecture); + } + + return s; + }); if (!project.Name.Contains("Tests")) { @@ -334,11 +331,10 @@ void PublishPackage(CalamariPackageMetadata calamariPackageMetadata) } File.Copy(RootDirectory / "global.json", outputDirectory / "global.json"); - } - - static void StageLegacyCalamariAssemblies(CalamariPackageMetadata[] packagesToPublish) { + static void StageLegacyCalamariAssemblies(CalamariPackageMetadata[] packagesToPublish) + { if (!OperatingSystem.IsWindows()) { Log.Warning($"Skipping the bundling of Calamari projects into the Calamari.Legacy bundle. " @@ -381,6 +377,7 @@ void CompressCalamariProject(Project project) { return; } + Log.Verbose($"Compressing Calamari.Legacy"); LegacyCalamariDirectory.ZipTo(ArtifactsDirectory / $"Calamari.Legacy.{NugetVersion.Value}.zip"); }); @@ -436,45 +433,45 @@ void CompressCalamariProject(Project project) _ => _.DependsOn(Publish) .DependsOn(PublishCalamariFlavourProjects) .Executes(async () => - { - var nugetVersion = NugetVersion.Value; - var defaultTarget = OperatingSystem.IsWindows() ? Frameworks.Net462 : Frameworks.Net60; - AbsolutePath binFolder = SourceDirectory / "Calamari.Tests" / "bin" / Configuration / defaultTarget; - Directory.Exists(binFolder); - var actions = new List - { - () => - { - CompressionTasks.Compress(binFolder, ArtifactsDirectory / "Binaries.zip"); - } - }; - - // Create a Zip for each runtime for testing - // ReSharper disable once LoopCanBeConvertedToQuery - foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject("Calamari.Tests")!)!) - actions.Add(() => - { - var publishedLocation = - DoPublish("Calamari.Tests", Frameworks.Net60, nugetVersion, rid); - var zipName = $"Calamari.Tests.{rid}.{nugetVersion}.zip"; - File.Copy(RootDirectory / "global.json", publishedLocation / "global.json"); - CompressionTasks.Compress(publishedLocation, ArtifactsDirectory / zipName); - }); + { + var nugetVersion = NugetVersion.Value; + var defaultTarget = OperatingSystem.IsWindows() ? Frameworks.Net462 : Frameworks.Net60; + AbsolutePath binFolder = SourceDirectory / "Calamari.Tests" / "bin" / Configuration / defaultTarget; + Directory.Exists(binFolder); + var actions = new List + { + () => + { + CompressionTasks.Compress(binFolder, ArtifactsDirectory / "Binaries.zip"); + } + }; - actions.Add(() => - { - var testingProjectPath = SourceDirectory / "Calamari.Testing" / "Calamari.Testing.csproj"; - DotNetPack(new DotNetPackSettings().SetConfiguration(Configuration) - .SetProject(testingProjectPath) - .SetOutputDirectory(ArtifactsDirectory) - .EnableNoBuild() - .EnableIncludeSource() - .SetVersion(nugetVersion) - .SetNoRestore(true)); - }); - - await RunPackActions(actions); - }); + // Create a Zip for each runtime for testing + // ReSharper disable once LoopCanBeConvertedToQuery + foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject("Calamari.Tests")!)!) + actions.Add(() => + { + var publishedLocation = + DoPublish("Calamari.Tests", Frameworks.Net60, nugetVersion, rid); + var zipName = $"Calamari.Tests.{rid}.{nugetVersion}.zip"; + File.Copy(RootDirectory / "global.json", publishedLocation / "global.json"); + CompressionTasks.Compress(publishedLocation, ArtifactsDirectory / zipName); + }); + + actions.Add(() => + { + var testingProjectPath = SourceDirectory / "Calamari.Testing" / "Calamari.Testing.csproj"; + DotNetPack(new DotNetPackSettings().SetConfiguration(Configuration) + .SetProject(testingProjectPath) + .SetOutputDirectory(ArtifactsDirectory) + .EnableNoBuild() + .EnableIncludeSource() + .SetVersion(nugetVersion) + .SetNoRestore(true)); + }); + + await RunPackActions(actions); + }); Target Pack => _ => _.DependsOn(PackTests) @@ -485,11 +482,11 @@ void CompressCalamariProject(Project project) _ => _.Requires(() => IsLocalBuild) .DependsOn(PackBinaries) .Executes(() => - { - Directory.CreateDirectory(LocalPackagesDirectory); - foreach (var file in Directory.GetFiles(ArtifactsDirectory, "Calamari.*.nupkg")) - CopyFile(file, LocalPackagesDirectory / Path.GetFileName(file), FileExistsPolicy.Overwrite); - }); + { + Directory.CreateDirectory(LocalPackagesDirectory); + foreach (var file in Directory.GetFiles(ArtifactsDirectory, "Calamari.*.nupkg")) + CopyFile(file, LocalPackagesDirectory / Path.GetFileName(file), FileExistsPolicy.Overwrite); + }); Target PackageConsolidatedCalamariZip => _ => _.DependsOn(CalamariConsolidationTests) @@ -538,12 +535,12 @@ void CompressCalamariProject(Project project) Target PackCalamariConsolidatedNugetPackage => _ => _.DependsOn(PackageConsolidatedCalamariZip) .Executes(() => - { - NuGetPack(s => s.SetTargetPath(BuildDirectory / "Calamari.Consolidated.nuspec") - .SetBasePath(BuildDirectory) - .SetVersion(NugetVersion.Value) - .SetOutputDirectory(ArtifactsDirectory)); - }); + { + NuGetPack(s => s.SetTargetPath(BuildDirectory / "Calamari.Consolidated.nuspec") + .SetBasePath(BuildDirectory) + .SetVersion(NugetVersion.Value) + .SetOutputDirectory(ArtifactsDirectory)); + }); Target UpdateCalamariVersionOnOctopusServer => _ => @@ -551,28 +548,28 @@ void CompressCalamariProject(Project project) .Requires(() => IsLocalBuild) .DependsOn(CopyToLocalPackages) .Executes(() => - { - var serverProjectFile = RootDirectory / ".." / "OctopusDeploy" / "source" / "Octopus.Server" / "Octopus.Server.csproj"; - if (File.Exists(serverProjectFile)) - { - Log.Information("Setting Calamari version in Octopus Server " - + "project {ServerProjectFile} to {NugetVersion}", - serverProjectFile, NugetVersion.Value); - SetOctopusServerCalamariVersion(serverProjectFile); - } - else - { - Log.Warning("Could not set Calamari version in Octopus Server project " - + "{ServerProjectFile} to {NugetVersion} as could not find " - + "project file", - serverProjectFile, NugetVersion.Value); - } - }); + { + var serverProjectFile = RootDirectory / ".." / "OctopusDeploy" / "source" / "Octopus.Server" / "Octopus.Server.csproj"; + if (File.Exists(serverProjectFile)) + { + Log.Information("Setting Calamari version in Octopus Server " + + "project {ServerProjectFile} to {NugetVersion}", + serverProjectFile, NugetVersion.Value); + SetOctopusServerCalamariVersion(serverProjectFile); + } + else + { + Log.Warning("Could not set Calamari version in Octopus Server project " + + "{ServerProjectFile} to {NugetVersion} as could not find " + + "project file", + serverProjectFile, NugetVersion.Value); + } + }); Target SetTeamCityVersion => _ => _.Executes(() => - { - TeamCity.Instance?.SetBuildNumber(NugetVersion.Value); - }); + { + TeamCity.Instance?.SetBuildNumber(NugetVersion.Value); + }); Target BuildLocal => _ => _.DependsOn(PackCalamariConsolidatedNugetPackage) .DependsOn(UpdateCalamariVersionOnOctopusServer); diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index cbe4a793c..268abd760 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -3,7 +3,6 @@ net6.0 default - win-x64;linux-x64;osx-x64;linux-arm;linux-arm64 true From a7611fad0af9fca450fd18dad2abdbc49c183bab Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 12:24:32 +1100 Subject: [PATCH 14/34] updated proj to make nuget --- ...alamari.ConsolidateCalamariPackages.csproj | 3 ++ .../VersionInfo.cs | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index 268abd760..d2a9452f2 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -1,9 +1,12 @@ + Octopus.Calamari.ConsolidatedPackage + Octopus.Calamari.ConsolidatedPackage net6.0 default true + true diff --git a/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs b/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs new file mode 100644 index 000000000..452176200 --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs @@ -0,0 +1,32 @@ +// This file will be updated by our build process at compile time. +using System; +using System.Reflection; + +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.0.0.0")] +[assembly: AssemblyInformationalVersion("0.0.0-local")] +[assembly: AssemblyGitBranch("UNKNOWNBRANCH")] +[assembly: AssemblyNuGetVersion("0.0.0-local")] + +#if DEFINE_VERSION_ATTRIBUTES + [AttributeUsage(AttributeTargets.Assembly)] + public sealed class AssemblyGitBranchAttribute : Attribute + { + public AssemblyGitBranchAttribute(string branchName) + { + BranchName = branchName; + } + + public string BranchName { get; } + } + + public sealed class AssemblyNuGetVersionAttribute : Attribute + { + public AssemblyNuGetVersionAttribute(string nuGetVersion) + { + NuGetVersion = nuGetVersion; + } + + public string NuGetVersion { get; } + } +#endif \ No newline at end of file From 2dc795688e66fca82271df736fe4c90614614d0f Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 12:27:28 +1100 Subject: [PATCH 15/34] added the DEFINE_VERSION_ATTRIB const --- .../Calamari.ConsolidateCalamariPackages.csproj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index d2a9452f2..d5624f435 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -8,7 +8,11 @@ true true - + + + DEFINE_VERSION_ATTRIBUTES + + From 895e03309a798cbc37f1a9aa4a673b293e135ce3 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 12:35:14 +1100 Subject: [PATCH 16/34] not sure - think its getting there --- .../Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs | 9 +++++++++ .../Calamari.ConsolidateCalamariPackages.csproj | 1 + 2 files changed, 10 insertions(+) create mode 100644 source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs diff --git a/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs b/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs new file mode 100644 index 000000000..4848d44e6 --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs @@ -0,0 +1,9 @@ +using System; +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests")] +[assembly: InternalsVisibleTo("Octopus.Tentacle.Client.Tests")] +[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests.Integration")] +[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests.Integration.Common")] +[assembly: InternalsVisibleTo("Octopus.Tentacle.Kubernetes.Tests.Integration")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index d5624f435..891b7ff6d 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -7,6 +7,7 @@ default true true + false From e10c836d27134e9b35c8ba0e20e1206aef6509c5 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 12:48:22 +1100 Subject: [PATCH 17/34] pulled in bits and pieces from tentacle to make shared libs work --- build/Build.cs | 37 ++++++++++++++ build/Git.cs | 7 +++ ...ifiableFileWithRestoreContentsOnDispose.cs | 50 +++++++++++++++++++ .../AssemblyInfo.cs | 9 ---- 4 files changed, 94 insertions(+), 9 deletions(-) create mode 100644 build/Git.cs create mode 100644 build/ModifiableFileWithRestoreContentsOnDispose.cs delete mode 100644 source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs diff --git a/build/Build.cs b/build/Build.cs index 1a30827ab..2218cd288 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -16,6 +16,7 @@ using Nuke.Common.Tools.DotNet; using Nuke.Common.Tools.GitVersion; using Nuke.Common.Tools.NuGet; +using Nuke.Common.Tools.OctoVersion; using Nuke.Common.Utilities.Collections; using Serilog; using static Nuke.Common.IO.FileSystemTasks; @@ -77,6 +78,19 @@ partial class Build : NukeBuild List ProjectCompressionTasks = new(); + + [Parameter("Branch name for OctoVersion to use to calculate the version number. Can be set via the environment variable OCTOVERSION_CurrentBranch.", + Name = "OCTOVERSION_CurrentBranch")] +#pragma warning disable CS0414 + readonly string BranchName = null!; +#pragma warning restore CS0414 + + [Parameter("Whether to auto-detect the branch name - this is okay for a local build, but should not be used under CI.")] readonly bool AutoDetectBranch = IsLocalBuild; + + [OctoVersion(UpdateBuildNumber = true, BranchMember = nameof(BranchName), + AutoDetectBranchMember = nameof(AutoDetectBranch), Framework = "net6.0")] + readonly OctoVersionInfo OctoVersionInfo = null!; + public Build() { NugetVersion = new Lazy(GetNugetVersion); @@ -719,5 +733,28 @@ static List GetCalamariFlavours() ? MigratedCalamariFlavours.CrossPlatformFlavours : MigratedCalamariFlavours.Flavours; } + + static readonly string Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"); + + string FullSemVer => + !IsLocalBuild + ? OctoVersionInfo.FullSemVer + : $"{OctoVersionInfo.FullSemVer}-{Timestamp}"; + + //Modifies VersionInfo.cs to embed version information into the shipped product. + ModifiableFileWithRestoreContentsOnDispose ModifyTemplatedVersionAndProductFilesWithValues() + { + var versionInfoFilePath = SourceDirectory / "Solution Items" / "VersionInfo.cs"; + + var versionInfoFile = new ModifiableFileWithRestoreContentsOnDispose(versionInfoFilePath); + + versionInfoFile.ReplaceRegexInFiles("AssemblyVersion\\(\".*?\"\\)", $"AssemblyVersion(\"{OctoVersionInfo.MajorMinorPatch}\")"); + versionInfoFile.ReplaceRegexInFiles("AssemblyFileVersion\\(\".*?\"\\)", $"AssemblyFileVersion(\"{OctoVersionInfo.MajorMinorPatch}\")"); + versionInfoFile.ReplaceRegexInFiles("AssemblyInformationalVersion\\(\".*?\"\\)", $"AssemblyInformationalVersion(\"{OctoVersionInfo.InformationalVersion}\")"); + versionInfoFile.ReplaceRegexInFiles("AssemblyGitBranch\\(\".*?\"\\)", $"AssemblyGitBranch(\"{Git.DeriveGitBranch()}\")"); + versionInfoFile.ReplaceRegexInFiles("AssemblyNuGetVersion\\(\".*?\"\\)", $"AssemblyNuGetVersion(\"{FullSemVer}\")"); + + return versionInfoFile; + } } } \ No newline at end of file diff --git a/build/Git.cs b/build/Git.cs new file mode 100644 index 000000000..d328d942e --- /dev/null +++ b/build/Git.cs @@ -0,0 +1,7 @@ +// ReSharper disable RedundantUsingDirective +using System; + +public static class Git +{ + public static string? DeriveGitBranch() => Environment.GetEnvironmentVariable("OCTOVERSION_CurrentBranch"); +} \ No newline at end of file diff --git a/build/ModifiableFileWithRestoreContentsOnDispose.cs b/build/ModifiableFileWithRestoreContentsOnDispose.cs new file mode 100644 index 000000000..764a5905a --- /dev/null +++ b/build/ModifiableFileWithRestoreContentsOnDispose.cs @@ -0,0 +1,50 @@ +// ReSharper disable RedundantUsingDirective +using System; +using System.IO; +using System.Text.RegularExpressions; +using Nuke.Common; +using Nuke.Common.IO; +using Serilog; + +public class ModifiableFileWithRestoreContentsOnDispose : IDisposable +{ + public readonly AbsolutePath FilePath; + readonly string OriginalFileText; + string FileText; + bool disposed = false; + + public ModifiableFileWithRestoreContentsOnDispose(AbsolutePath filePath) + { + FilePath = filePath; + OriginalFileText = File.ReadAllText(filePath); + FileText = File.ReadAllText(filePath); + } + + public void Dispose() + { + if (disposed) + { + return; + } + disposed = true; + RestoreContents(); + } + + public void RestoreContents() + { + Log.Information($"Restoring file {FilePath}"); + File.WriteAllText(FilePath, OriginalFileText); + } + + public void ReplaceRegexInFiles(string matchingPattern, string replacement) + { + FileText = Regex.Replace(FileText, matchingPattern, replacement); + File.WriteAllText(FilePath, FileText); + } + + public void ReplaceTextInFile(string textToReplace, string replacementValue) + { + FileText = FileText.Replace(textToReplace, replacementValue); + File.WriteAllText(FilePath, FileText); + } +} \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs b/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs deleted file mode 100644 index 4848d44e6..000000000 --- a/source/Calamari.ConsolidateCalamariPackages/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests")] -[assembly: InternalsVisibleTo("Octopus.Tentacle.Client.Tests")] -[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests.Integration")] -[assembly: InternalsVisibleTo("Octopus.Tentacle.Tests.Integration.Common")] -[assembly: InternalsVisibleTo("Octopus.Tentacle.Kubernetes.Tests.Integration")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] \ No newline at end of file From 8480085d97d5c03ce99c086363617eaaf624d6d9 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 13:17:00 +1100 Subject: [PATCH 18/34] was this overkill? --- build/Build.cs | 29 ++++++++++++++++--------- source/SolutionItems/SolutionInfo.cs | 16 ++++++++++++++ source/SolutionItems/VersionInfo.cs | 32 ++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 source/SolutionItems/SolutionInfo.cs create mode 100644 source/SolutionItems/VersionInfo.cs diff --git a/build/Build.cs b/build/Build.cs index 2218cd288..e1b091044 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -246,15 +246,6 @@ public Build() await PublishCalamariProjects(calamariProjects); }); - // Target PublishConsolidatedCalamari => - // _ => _.DependsOn(CalamariConsolidationTests) - // .Executes(() => - // { - // var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; - // var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); - // - // }) - async Task PublishCalamariProjects(List projects) { // All cross-platform Target Frameworks contain dots, all NetFx Target Frameworks don't @@ -487,9 +478,27 @@ void CompressCalamariProject(Project project) await RunPackActions(actions); }); + Target PackConsolidatedCalamari => + _ => _.Description("Packs the NuGet package for Consolidated Calamari library.") + .DependsOn(CalamariConsolidationTests) + .Executes(() => + { + (ArtifactsDirectory / "nuget").CreateDirectory(); + using var versionInfoFile = ModifyTemplatedVersionAndProductFilesWithValues(); + + DotNetPack(p => p + .SetProject(RootDirectory / "source" / "Calamari.ConsolidateCalamariPackages" / "Calamari.ConsolidateCalamariPackages.csproj") + .SetVersion(FullSemVer) + .SetOutputDirectory(ArtifactsDirectory / "nuget") + .DisableIncludeSymbols() + .SetVerbosity(DotNetVerbosity.Normal) + .SetProperty("NuspecProperties", $"Version={FullSemVer}")); + }); + Target Pack => _ => _.DependsOn(PackTests) .DependsOn(PackBinaries) + .DependsOn(PackConsolidatedCalamari) .DependsOn(PackLegacyCalamari); Target CopyToLocalPackages => @@ -744,7 +753,7 @@ static List GetCalamariFlavours() //Modifies VersionInfo.cs to embed version information into the shipped product. ModifiableFileWithRestoreContentsOnDispose ModifyTemplatedVersionAndProductFilesWithValues() { - var versionInfoFilePath = SourceDirectory / "Solution Items" / "VersionInfo.cs"; + var versionInfoFilePath = SourceDirectory / "SolutionItems" / "VersionInfo.cs"; var versionInfoFile = new ModifiableFileWithRestoreContentsOnDispose(versionInfoFilePath); diff --git a/source/SolutionItems/SolutionInfo.cs b/source/SolutionItems/SolutionInfo.cs new file mode 100644 index 000000000..828b3086e --- /dev/null +++ b/source/SolutionItems/SolutionInfo.cs @@ -0,0 +1,16 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyDescription("Octopus Deploy is a user-friendly release automation solution for professional .NET developers.")] +[assembly: AssemblyCompany("Octopus Deploy Pty. Ltd.")] +[assembly: AssemblyProduct("Octopus Deploy")] +[assembly: AssemblyCopyright("Copyright © Octopus Deploy Pty. Ltd. 2022")] +[assembly: AssemblyCulture("")] +#if DEBUG + +[assembly: AssemblyConfiguration("Debug")] +#else +[assembly: AssemblyConfiguration("Release")] +#endif + +[assembly: ComVisible(false)] diff --git a/source/SolutionItems/VersionInfo.cs b/source/SolutionItems/VersionInfo.cs new file mode 100644 index 000000000..452176200 --- /dev/null +++ b/source/SolutionItems/VersionInfo.cs @@ -0,0 +1,32 @@ +// This file will be updated by our build process at compile time. +using System; +using System.Reflection; + +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.0.0.0")] +[assembly: AssemblyInformationalVersion("0.0.0-local")] +[assembly: AssemblyGitBranch("UNKNOWNBRANCH")] +[assembly: AssemblyNuGetVersion("0.0.0-local")] + +#if DEFINE_VERSION_ATTRIBUTES + [AttributeUsage(AttributeTargets.Assembly)] + public sealed class AssemblyGitBranchAttribute : Attribute + { + public AssemblyGitBranchAttribute(string branchName) + { + BranchName = branchName; + } + + public string BranchName { get; } + } + + public sealed class AssemblyNuGetVersionAttribute : Attribute + { + public AssemblyNuGetVersionAttribute(string nuGetVersion) + { + NuGetVersion = nuGetVersion; + } + + public string NuGetVersion { get; } + } +#endif \ No newline at end of file From 39162f83d574641ab3949d97e8fd9b611ee3c47a Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:27:46 +1100 Subject: [PATCH 19/34] its making a nupkg for consolidated - but its also going into package --- build/Build.cs | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index e1b091044..87d056438 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -426,6 +426,12 @@ void CompressCalamariProject(Project project) foreach (var project in commonProjects) packageActions.Add(() => SignAndPack(project.ToString(), dotNetCorePackSettings)); + // Pack the Consolidation Library + var consolidateCalamariPackagesProjectName = "Calamari.ConsolidateCalamariPackages"; + var consolidationCalamariProject = Solution.Projects.First(project => project.Name == consolidateCalamariPackagesProjectName); + packageActions.Add(() => SignAndPack(consolidationCalamariProject, dotNetCorePackSettings)); + + var sourceProjectPath = SourceDirectory / "Calamari.CloudAccounts" / "Calamari.CloudAccounts.csproj"; packageActions.Add(() => SignAndPack(sourceProjectPath, @@ -478,27 +484,27 @@ void CompressCalamariProject(Project project) await RunPackActions(actions); }); - Target PackConsolidatedCalamari => - _ => _.Description("Packs the NuGet package for Consolidated Calamari library.") - .DependsOn(CalamariConsolidationTests) - .Executes(() => - { - (ArtifactsDirectory / "nuget").CreateDirectory(); - using var versionInfoFile = ModifyTemplatedVersionAndProductFilesWithValues(); - - DotNetPack(p => p - .SetProject(RootDirectory / "source" / "Calamari.ConsolidateCalamariPackages" / "Calamari.ConsolidateCalamariPackages.csproj") - .SetVersion(FullSemVer) - .SetOutputDirectory(ArtifactsDirectory / "nuget") - .DisableIncludeSymbols() - .SetVerbosity(DotNetVerbosity.Normal) - .SetProperty("NuspecProperties", $"Version={FullSemVer}")); - }); + // Target PackConsolidatedCalamari => + // _ => _.Description("Packs the NuGet package for Consolidated Calamari library.") + // .DependsOn(CalamariConsolidationTests) + // .Executes(() => + // { + // (ArtifactsDirectory / "nuget").CreateDirectory(); + // using var versionInfoFile = ModifyTemplatedVersionAndProductFilesWithValues(); + // + // DotNetPack(p => p + // .SetProject(RootDirectory / "source" / "Calamari.ConsolidateCalamariPackages" / "Calamari.ConsolidateCalamariPackages.csproj") + // .SetVersion(FullSemVer) + // .SetOutputDirectory(ArtifactsDirectory / "nuget") + // .DisableIncludeSymbols() + // .SetVerbosity(DotNetVerbosity.Normal) + // .SetProperty("NuspecProperties", $"Version={FullSemVer}")); + // }); Target Pack => _ => _.DependsOn(PackTests) .DependsOn(PackBinaries) - .DependsOn(PackConsolidatedCalamari) + //.DependsOn(PackConsolidatedCalamari) .DependsOn(PackLegacyCalamari); Target CopyToLocalPackages => From a324d4c20832a5cd7e090b560355a206c41d8af8 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:29:43 +1100 Subject: [PATCH 20/34] clean up --- build/Build.cs | 461 ++++++++++++++++++++++--------------------------- 1 file changed, 207 insertions(+), 254 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 87d056438..241117b51 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -34,13 +34,17 @@ partial class Build : NukeBuild readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release; - [Required] readonly Solution Solution = SolutionModelTasks.ParseSolution(SourceDirectory / "Calamari.sln"); + [Required] + readonly Solution Solution = SolutionModelTasks.ParseSolution(SourceDirectory / "Calamari.sln"); - [Parameter("Run packing step in parallel")] readonly bool PackInParallel; + [Parameter("Run packing step in parallel")] + readonly bool PackInParallel; - [Parameter] readonly DotNetVerbosity BuildVerbosity = DotNetVerbosity.Minimal; + [Parameter] + readonly DotNetVerbosity BuildVerbosity = DotNetVerbosity.Minimal; - [Parameter] readonly bool SignBinaries; + [Parameter] + readonly bool SignBinaries; // When building locally signing isn't really necessary and it could take // up to 3-4 minutes to sign all the binaries as we build for many, many @@ -48,29 +52,44 @@ partial class Build : NukeBuild // when doing local development. bool WillSignBinaries => !IsLocalBuild || SignBinaries; - [Parameter] readonly bool AppendTimestamp; + [Parameter] + readonly bool AppendTimestamp; - [Parameter("Set Calamari Version on OctopusServer")] readonly bool SetOctopusServerVersion; + [Parameter("Set Calamari Version on OctopusServer")] + readonly bool SetOctopusServerVersion; - [Parameter] readonly string? AzureKeyVaultUrl; + [Parameter] + readonly string? AzureKeyVaultUrl; - [Parameter] readonly string? AzureKeyVaultAppId; + [Parameter] + readonly string? AzureKeyVaultAppId; - [Parameter] [Secret] readonly string? AzureKeyVaultAppSecret; + [Parameter] + [Secret] + readonly string? AzureKeyVaultAppSecret; - [Parameter] [Secret] readonly string? AzureKeyVaultTenantId; + [Parameter] + [Secret] + readonly string? AzureKeyVaultTenantId; - [Parameter] readonly string? AzureKeyVaultCertificateName; + [Parameter] + readonly string? AzureKeyVaultCertificateName; - [Parameter(Name = "signing_certificate_path")] readonly string SigningCertificatePath = RootDirectory / "certificates" / "OctopusDevelopment.pfx"; + [Parameter(Name = "signing_certificate_path")] + readonly string SigningCertificatePath = RootDirectory / "certificates" / "OctopusDevelopment.pfx"; - [Parameter(Name = "signing_certificate_password")] [Secret] readonly string SigningCertificatePassword = "Password01!"; + [Parameter(Name = "signing_certificate_password")] + [Secret] + readonly string SigningCertificatePassword = "Password01!"; - [Parameter] readonly string? TargetFramework; + [Parameter] + readonly string? TargetFramework; - [Parameter] readonly string? TargetRuntime; + [Parameter] + readonly string? TargetRuntime; - [GitVersion] readonly GitVersion? GitVersionInfo; + [GitVersion] + readonly GitVersion? GitVersionInfo; static readonly List CalamariProjectsToSkipConsolidation = new() { "Calamari.CloudAccounts", "Calamari.Common", "Calamari.ConsolidateCalamariPackages" }; @@ -78,19 +97,6 @@ partial class Build : NukeBuild List ProjectCompressionTasks = new(); - - [Parameter("Branch name for OctoVersion to use to calculate the version number. Can be set via the environment variable OCTOVERSION_CurrentBranch.", - Name = "OCTOVERSION_CurrentBranch")] -#pragma warning disable CS0414 - readonly string BranchName = null!; -#pragma warning restore CS0414 - - [Parameter("Whether to auto-detect the branch name - this is okay for a local build, but should not be used under CI.")] readonly bool AutoDetectBranch = IsLocalBuild; - - [OctoVersion(UpdateBuildNumber = true, BranchMember = nameof(BranchName), - AutoDetectBranchMember = nameof(AutoDetectBranch), Framework = "net6.0")] - readonly OctoVersionInfo OctoVersionInfo = null!; - public Build() { NugetVersion = new Lazy(GetNugetVersion); @@ -113,63 +119,63 @@ public Build() Target CheckForbiddenWords => _ => _.Executes(() => - { - Log.Information("Checking codebase for forbidden words"); - - const string arguments = - "grep -i -I -n -f ForbiddenWords.txt -- \"./*\" \":(exclude)ForbiddenWords.txt\""; - var process = - ProcessTasks.StartProcess(GitPath, arguments) - .AssertWaitForExit(); - - if (process.ExitCode == 1) - { - Log.Information("Sanity check passed"); - return; - } - - var filesContainingForbiddenWords = process.Output.Select(o => o.Text).ToArray(); - if (filesContainingForbiddenWords.Any()) - throw new Exception("Found forbidden words in the following files, " - + "please clean them up:\r\n" - + string.Join("\r\n", filesContainingForbiddenWords)); - }); + { + Log.Information("Checking codebase for forbidden words"); + + const string arguments = + "grep -i -I -n -f ForbiddenWords.txt -- \"./*\" \":(exclude)ForbiddenWords.txt\""; + var process = + ProcessTasks.StartProcess(GitPath, arguments) + .AssertWaitForExit(); + + if (process.ExitCode == 1) + { + Log.Information("Sanity check passed"); + return; + } + + var filesContainingForbiddenWords = process.Output.Select(o => o.Text).ToArray(); + if (filesContainingForbiddenWords.Any()) + throw new Exception("Found forbidden words in the following files, " + + "please clean them up:\r\n" + + string.Join("\r\n", filesContainingForbiddenWords)); + }); Target Clean => _ => _.Executes(() => - { - SourceDirectory.GlobDirectories("**/bin", "**/obj", "**/TestResults").ForEach(DeleteDirectory); - EnsureCleanDirectory(ArtifactsDirectory); - EnsureCleanDirectory(PublishDirectory); - }); + { + SourceDirectory.GlobDirectories("**/bin", "**/obj", "**/TestResults").ForEach(DeleteDirectory); + EnsureCleanDirectory(ArtifactsDirectory); + EnsureCleanDirectory(PublishDirectory); + }); Target Restore => _ => _.DependsOn(Clean) .Executes(() => - { - var localRuntime = FixedRuntimes.Windows; + { + var localRuntime = FixedRuntimes.Windows; - if (!OperatingSystem.IsWindows()) - localRuntime = FixedRuntimes.Linux; + if (!OperatingSystem.IsWindows()) + localRuntime = FixedRuntimes.Linux; - DotNetRestore(_ => _.SetProjectFile(Solution) - .SetRuntime(localRuntime) - .SetProperty("DisableImplicitNuGetFallbackFolder", true)); - }); + DotNetRestore(_ => _.SetProjectFile(Solution) + .SetRuntime(localRuntime) + .SetProperty("DisableImplicitNuGetFallbackFolder", true)); + }); Target Compile => _ => _.DependsOn(CheckForbiddenWords) .DependsOn(Restore) .Executes(() => - { - Log.Information("Compiling Calamari v{CalamariVersion}", NugetVersion.Value); + { + Log.Information("Compiling Calamari v{CalamariVersion}", NugetVersion.Value); - DotNetBuild(_ => _.SetProjectFile(Solution) - .SetConfiguration(Configuration) - .EnableNoRestore() - .SetVersion(NugetVersion.Value) - .SetInformationalVersion(GitVersionInfo?.InformationalVersion)); - }); + DotNetBuild(_ => _.SetProjectFile(Solution) + .SetConfiguration(Configuration) + .EnableNoRestore() + .SetVersion(NugetVersion.Value) + .SetInformationalVersion(GitVersionInfo?.InformationalVersion)); + }); Target CalamariConsolidationTests => _ => _.DependsOn(Compile) @@ -214,37 +220,33 @@ public Build() nugetVersion, FixedRuntimes.Cloud); - // Create the self-contained Calamari packages for each runtime ID defined in Calamari.csproj - foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject(RootProjectName)!)!) - DoPublish(RootProjectName, Frameworks.Net60, nugetVersion, rid); - }); + // Create the self-contained Calamari packages for each runtime ID defined in Calamari.csproj + foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject(RootProjectName)!)!) + DoPublish(RootProjectName, Frameworks.Net60, nugetVersion, rid); + }); Target PublishCalamariFlavourProjects => _ => _ .DependsOn(Compile) .Executes(async () => - { - var flavours = GetCalamariFlavours(); - var migratedCalamariFlavoursTests = flavours.Select(f => $"{f}.Tests"); - var calamariFlavourProjects = Solution.Projects - .Where(project => flavours.Contains(project.Name) - || migratedCalamariFlavoursTests.Contains(project.Name)); + { + var flavours = GetCalamariFlavours(); + var migratedCalamariFlavoursTests = flavours.Select(f => $"{f}.Tests"); + var calamariFlavourProjects = Solution.Projects + .Where(project => flavours.Contains(project.Name) + || migratedCalamariFlavoursTests.Contains(project.Name)); - // Calamari.Scripting is a library that other calamari flavours depend on; not a flavour on its own right. - // Unlike other *Calamari* tests, we would still want to produce Calamari.Scripting.Zip and its tests, like its flavours. - var calamariScripting = "Calamari.Scripting"; - var calamariScriptingProjectAndTest = Solution.Projects.Where(project => project.Name == calamariScripting || project.Name == $"{calamariScripting}.Tests"); + // Calamari.Scripting is a library that other calamari flavours depend on; not a flavour on its own right. + // Unlike other *Calamari* tests, we would still want to produce Calamari.Scripting.Zip and its tests, like its flavours. + var calamariScripting = "Calamari.Scripting"; + var calamariScriptingProjectAndTest = Solution.Projects.Where(project => project.Name == calamariScripting || project.Name == $"{calamariScripting}.Tests"); - var consolidateCalamariPackages = "Calamari.ConsolidateCalamariPackages"; - var consolidateCalamariProjectAndTest = Solution.Projects.Where(project => project.Name == consolidateCalamariPackages || project.Name == $"{consolidateCalamariPackages}.Tests"); + var calamariProjects = calamariFlavourProjects + .Concat(calamariScriptingProjectAndTest) + .ToList(); - var calamariProjects = calamariFlavourProjects - .Concat(calamariScriptingProjectAndTest) - .Concat(consolidateCalamariProjectAndTest) - .ToList(); - - await PublishCalamariProjects(calamariProjects); - }); + await PublishCalamariProjects(calamariProjects); + }); async Task PublishCalamariProjects(List projects) { @@ -253,38 +255,37 @@ async Task PublishCalamariProjects(List projects) bool IsCrossPlatform(string targetFramework) => targetFramework.Contains('.'); var calamariPackages = projects - .SelectMany(project => project.GetTargetFrameworks()!, (p, f) => new - { - Project = p, - Framework = f, - CrossPlatform = IsCrossPlatform(f) - }) - .ToList(); + .SelectMany(project => project.GetTargetFrameworks()!, (p, f) => new + { + Project = p, + Framework = f, + CrossPlatform = IsCrossPlatform(f) + }).ToList(); // for NetFx target frameworks, we use "netfx" as the architecture, and ignore defined runtime identifiers var netFxPackages = calamariPackages - .Where(p => !p.CrossPlatform) - .Select(packageToBuild => new CalamariPackageMetadata() - { - Project = packageToBuild.Project, - Framework = packageToBuild.Framework, - Architecture = null, - IsCrossPlatform = packageToBuild.CrossPlatform - }); + .Where(p => !p.CrossPlatform) + .Select(packageToBuild => new CalamariPackageMetadata() + { + Project = packageToBuild.Project, + Framework = packageToBuild.Framework, + Architecture = null, + IsCrossPlatform = packageToBuild.CrossPlatform + }); // for cross-platform frameworks, we combine each runtime identifier with each target framework var crossPlatformPackages = calamariPackages - .Where(p => p.CrossPlatform) - .Where(p => string.IsNullOrWhiteSpace(TargetFramework) || p.Framework == TargetFramework) - .SelectMany(packageToBuild => GetRuntimeIdentifiers(packageToBuild.Project).IsEmpty() ? new List() { null! } : GetRuntimeIdentifiers(packageToBuild.Project), - (packageToBuild, runtimeIdentifier) => new CalamariPackageMetadata() - { - Project = packageToBuild.Project, - Framework = packageToBuild.Framework, - Architecture = runtimeIdentifier, - IsCrossPlatform = packageToBuild.CrossPlatform - }) - .Distinct(t => new { t.Project?.Name, t.Architecture, t.Framework }); + .Where(p => p.CrossPlatform) + .Where(p => string.IsNullOrWhiteSpace(TargetFramework) || p.Framework == TargetFramework) + .SelectMany(packageToBuild => GetRuntimeIdentifiers(packageToBuild.Project) ?? Enumerable.Empty(), + (packageToBuild, runtimeIdentifier) => new CalamariPackageMetadata() + { + Project = packageToBuild.Project, + Framework = packageToBuild.Framework, + Architecture = runtimeIdentifier, + IsCrossPlatform = packageToBuild.CrossPlatform + }) + .Distinct(t => new {t.Project?.Name, t.Architecture, t.Framework}); var packagesToPublish = crossPlatformPackages.Concat(netFxPackages).ToArray(); @@ -306,28 +307,21 @@ void PublishPackage(CalamariPackageMetadata calamariPackageMetadata) } Log.Information( - $"Building {calamariPackageMetadata.Project?.Name} for framework '{calamariPackageMetadata.Framework}' and arch '{calamariPackageMetadata.Architecture}'"); + $"Building {calamariPackageMetadata.Project?.Name} for framework '{calamariPackageMetadata.Framework}' and arch '{calamariPackageMetadata.Architecture}'"); var project = calamariPackageMetadata.Project; - var outputDirectory = PublishDirectory / project?.Name / (calamariPackageMetadata.IsCrossPlatform ? calamariPackageMetadata.Architecture : "netfx"); - - DotNetPublish(s => - { - s = s.SetConfiguration(Configuration) - .SetProject(project) - .SetFramework(calamariPackageMetadata.Framework) - .SetOutput(outputDirectory) - .DisableSelfContained(); - - if (!calamariPackageMetadata.Architecture.IsNullOrEmpty()) - { - //explicitly mark all of these as self-contained (because they use a specific runtime) - s = s.EnableSelfContained() - .SetRuntime(calamariPackageMetadata.Architecture); - } - - return s; - }); + var outputDirectory = PublishDirectory / project?.Name / + (calamariPackageMetadata.IsCrossPlatform ? calamariPackageMetadata.Architecture : "netfx"); + + DotNetPublish(s => s + .SetConfiguration(Configuration) + .SetProject(project) + .SetFramework(calamariPackageMetadata.Framework) + .SetRuntime(calamariPackageMetadata.Architecture) + //explicitly mark all of these as self-contained (because they use a specific runtime) + .EnableSelfContained() + .SetOutput(outputDirectory) + ); if (!project.Name.Contains("Tests")) { @@ -336,10 +330,11 @@ void PublishPackage(CalamariPackageMetadata calamariPackageMetadata) } File.Copy(RootDirectory / "global.json", outputDirectory / "global.json"); + } + + static void StageLegacyCalamariAssemblies(CalamariPackageMetadata[] packagesToPublish) { - static void StageLegacyCalamariAssemblies(CalamariPackageMetadata[] packagesToPublish) - { if (!OperatingSystem.IsWindows()) { Log.Warning($"Skipping the bundling of Calamari projects into the Calamari.Legacy bundle. " @@ -382,7 +377,6 @@ void CompressCalamariProject(Project project) { return; } - Log.Verbose($"Compressing Calamari.Legacy"); LegacyCalamariDirectory.ZipTo(ArtifactsDirectory / $"Calamari.Legacy.{NugetVersion.Value}.zip"); }); @@ -444,78 +438,60 @@ void CompressCalamariProject(Project project) _ => _.DependsOn(Publish) .DependsOn(PublishCalamariFlavourProjects) .Executes(async () => - { - var nugetVersion = NugetVersion.Value; - var defaultTarget = OperatingSystem.IsWindows() ? Frameworks.Net462 : Frameworks.Net60; - AbsolutePath binFolder = SourceDirectory / "Calamari.Tests" / "bin" / Configuration / defaultTarget; - Directory.Exists(binFolder); - var actions = new List - { - () => - { - CompressionTasks.Compress(binFolder, ArtifactsDirectory / "Binaries.zip"); - } - }; + { + var nugetVersion = NugetVersion.Value; + var defaultTarget = OperatingSystem.IsWindows() ? Frameworks.Net462 : Frameworks.Net60; + AbsolutePath binFolder = SourceDirectory / "Calamari.Tests" / "bin" / Configuration / defaultTarget; + Directory.Exists(binFolder); + var actions = new List + { + () => + { + CompressionTasks.Compress(binFolder, ArtifactsDirectory / "Binaries.zip"); + } + }; + + // Create a Zip for each runtime for testing + // ReSharper disable once LoopCanBeConvertedToQuery + foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject("Calamari.Tests")!)!) + actions.Add(() => + { + var publishedLocation = + DoPublish("Calamari.Tests", Frameworks.Net60, nugetVersion, rid); + var zipName = $"Calamari.Tests.{rid}.{nugetVersion}.zip"; + File.Copy(RootDirectory / "global.json", publishedLocation / "global.json"); + CompressionTasks.Compress(publishedLocation, ArtifactsDirectory / zipName); + }); - // Create a Zip for each runtime for testing - // ReSharper disable once LoopCanBeConvertedToQuery - foreach (var rid in GetRuntimeIdentifiers(Solution.GetProject("Calamari.Tests")!)!) - actions.Add(() => - { - var publishedLocation = - DoPublish("Calamari.Tests", Frameworks.Net60, nugetVersion, rid); - var zipName = $"Calamari.Tests.{rid}.{nugetVersion}.zip"; - File.Copy(RootDirectory / "global.json", publishedLocation / "global.json"); - CompressionTasks.Compress(publishedLocation, ArtifactsDirectory / zipName); - }); - - actions.Add(() => - { - var testingProjectPath = SourceDirectory / "Calamari.Testing" / "Calamari.Testing.csproj"; - DotNetPack(new DotNetPackSettings().SetConfiguration(Configuration) - .SetProject(testingProjectPath) - .SetOutputDirectory(ArtifactsDirectory) - .EnableNoBuild() - .EnableIncludeSource() - .SetVersion(nugetVersion) - .SetNoRestore(true)); - }); - - await RunPackActions(actions); - }); + actions.Add(() => + { + var testingProjectPath = SourceDirectory / "Calamari.Testing" / "Calamari.Testing.csproj"; + DotNetPack(new DotNetPackSettings().SetConfiguration(Configuration) + .SetProject(testingProjectPath) + .SetOutputDirectory(ArtifactsDirectory) + .EnableNoBuild() + .EnableIncludeSource() + .SetVersion(nugetVersion) + .SetNoRestore(true)); + }); + + await RunPackActions(actions); + }); - // Target PackConsolidatedCalamari => - // _ => _.Description("Packs the NuGet package for Consolidated Calamari library.") - // .DependsOn(CalamariConsolidationTests) - // .Executes(() => - // { - // (ArtifactsDirectory / "nuget").CreateDirectory(); - // using var versionInfoFile = ModifyTemplatedVersionAndProductFilesWithValues(); - // - // DotNetPack(p => p - // .SetProject(RootDirectory / "source" / "Calamari.ConsolidateCalamariPackages" / "Calamari.ConsolidateCalamariPackages.csproj") - // .SetVersion(FullSemVer) - // .SetOutputDirectory(ArtifactsDirectory / "nuget") - // .DisableIncludeSymbols() - // .SetVerbosity(DotNetVerbosity.Normal) - // .SetProperty("NuspecProperties", $"Version={FullSemVer}")); - // }); - Target Pack => _ => _.DependsOn(PackTests) .DependsOn(PackBinaries) - //.DependsOn(PackConsolidatedCalamari) .DependsOn(PackLegacyCalamari); Target CopyToLocalPackages => _ => _.Requires(() => IsLocalBuild) .DependsOn(PackBinaries) .Executes(() => - { - Directory.CreateDirectory(LocalPackagesDirectory); - foreach (var file in Directory.GetFiles(ArtifactsDirectory, "Calamari.*.nupkg")) - CopyFile(file, LocalPackagesDirectory / Path.GetFileName(file), FileExistsPolicy.Overwrite); - }); + { + Directory.CreateDirectory(LocalPackagesDirectory); + foreach (var file in Directory.GetFiles(ArtifactsDirectory, "Calamari.*.nupkg")) + CopyFile(file, LocalPackagesDirectory / Path.GetFileName(file), FileExistsPolicy.Overwrite); + }); Target PackageConsolidatedCalamariZip => _ => _.DependsOn(CalamariConsolidationTests) @@ -564,12 +540,12 @@ void CompressCalamariProject(Project project) Target PackCalamariConsolidatedNugetPackage => _ => _.DependsOn(PackageConsolidatedCalamariZip) .Executes(() => - { - NuGetPack(s => s.SetTargetPath(BuildDirectory / "Calamari.Consolidated.nuspec") - .SetBasePath(BuildDirectory) - .SetVersion(NugetVersion.Value) - .SetOutputDirectory(ArtifactsDirectory)); - }); + { + NuGetPack(s => s.SetTargetPath(BuildDirectory / "Calamari.Consolidated.nuspec") + .SetBasePath(BuildDirectory) + .SetVersion(NugetVersion.Value) + .SetOutputDirectory(ArtifactsDirectory)); + }); Target UpdateCalamariVersionOnOctopusServer => _ => @@ -577,28 +553,28 @@ void CompressCalamariProject(Project project) .Requires(() => IsLocalBuild) .DependsOn(CopyToLocalPackages) .Executes(() => - { - var serverProjectFile = RootDirectory / ".." / "OctopusDeploy" / "source" / "Octopus.Server" / "Octopus.Server.csproj"; - if (File.Exists(serverProjectFile)) - { - Log.Information("Setting Calamari version in Octopus Server " - + "project {ServerProjectFile} to {NugetVersion}", - serverProjectFile, NugetVersion.Value); - SetOctopusServerCalamariVersion(serverProjectFile); - } - else - { - Log.Warning("Could not set Calamari version in Octopus Server project " - + "{ServerProjectFile} to {NugetVersion} as could not find " - + "project file", - serverProjectFile, NugetVersion.Value); - } - }); + { + var serverProjectFile = RootDirectory / ".." / "OctopusDeploy" / "source" / "Octopus.Server" / "Octopus.Server.csproj"; + if (File.Exists(serverProjectFile)) + { + Log.Information("Setting Calamari version in Octopus Server " + + "project {ServerProjectFile} to {NugetVersion}", + serverProjectFile, NugetVersion.Value); + SetOctopusServerCalamariVersion(serverProjectFile); + } + else + { + Log.Warning("Could not set Calamari version in Octopus Server project " + + "{ServerProjectFile} to {NugetVersion} as could not find " + + "project file", + serverProjectFile, NugetVersion.Value); + } + }); Target SetTeamCityVersion => _ => _.Executes(() => - { - TeamCity.Instance?.SetBuildNumber(NugetVersion.Value); - }); + { + TeamCity.Instance?.SetBuildNumber(NugetVersion.Value); + }); Target BuildLocal => _ => _.DependsOn(PackCalamariConsolidatedNugetPackage) .DependsOn(UpdateCalamariVersionOnOctopusServer); @@ -748,28 +724,5 @@ static List GetCalamariFlavours() ? MigratedCalamariFlavours.CrossPlatformFlavours : MigratedCalamariFlavours.Flavours; } - - static readonly string Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"); - - string FullSemVer => - !IsLocalBuild - ? OctoVersionInfo.FullSemVer - : $"{OctoVersionInfo.FullSemVer}-{Timestamp}"; - - //Modifies VersionInfo.cs to embed version information into the shipped product. - ModifiableFileWithRestoreContentsOnDispose ModifyTemplatedVersionAndProductFilesWithValues() - { - var versionInfoFilePath = SourceDirectory / "SolutionItems" / "VersionInfo.cs"; - - var versionInfoFile = new ModifiableFileWithRestoreContentsOnDispose(versionInfoFilePath); - - versionInfoFile.ReplaceRegexInFiles("AssemblyVersion\\(\".*?\"\\)", $"AssemblyVersion(\"{OctoVersionInfo.MajorMinorPatch}\")"); - versionInfoFile.ReplaceRegexInFiles("AssemblyFileVersion\\(\".*?\"\\)", $"AssemblyFileVersion(\"{OctoVersionInfo.MajorMinorPatch}\")"); - versionInfoFile.ReplaceRegexInFiles("AssemblyInformationalVersion\\(\".*?\"\\)", $"AssemblyInformationalVersion(\"{OctoVersionInfo.InformationalVersion}\")"); - versionInfoFile.ReplaceRegexInFiles("AssemblyGitBranch\\(\".*?\"\\)", $"AssemblyGitBranch(\"{Git.DeriveGitBranch()}\")"); - versionInfoFile.ReplaceRegexInFiles("AssemblyNuGetVersion\\(\".*?\"\\)", $"AssemblyNuGetVersion(\"{FullSemVer}\")"); - - return versionInfoFile; - } } -} \ No newline at end of file +} From ea2ede5de8f8ef81845c07005d083aff419a1313 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:34:15 +1100 Subject: [PATCH 21/34] remove superfluous things --- source/SolutionItems/SolutionInfo.cs | 16 -------------- source/SolutionItems/VersionInfo.cs | 32 ---------------------------- 2 files changed, 48 deletions(-) delete mode 100644 source/SolutionItems/SolutionInfo.cs delete mode 100644 source/SolutionItems/VersionInfo.cs diff --git a/source/SolutionItems/SolutionInfo.cs b/source/SolutionItems/SolutionInfo.cs deleted file mode 100644 index 828b3086e..000000000 --- a/source/SolutionItems/SolutionInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyDescription("Octopus Deploy is a user-friendly release automation solution for professional .NET developers.")] -[assembly: AssemblyCompany("Octopus Deploy Pty. Ltd.")] -[assembly: AssemblyProduct("Octopus Deploy")] -[assembly: AssemblyCopyright("Copyright © Octopus Deploy Pty. Ltd. 2022")] -[assembly: AssemblyCulture("")] -#if DEBUG - -[assembly: AssemblyConfiguration("Debug")] -#else -[assembly: AssemblyConfiguration("Release")] -#endif - -[assembly: ComVisible(false)] diff --git a/source/SolutionItems/VersionInfo.cs b/source/SolutionItems/VersionInfo.cs deleted file mode 100644 index 452176200..000000000 --- a/source/SolutionItems/VersionInfo.cs +++ /dev/null @@ -1,32 +0,0 @@ -// This file will be updated by our build process at compile time. -using System; -using System.Reflection; - -[assembly: AssemblyVersion("0.0.0.0")] -[assembly: AssemblyFileVersion("0.0.0.0")] -[assembly: AssemblyInformationalVersion("0.0.0-local")] -[assembly: AssemblyGitBranch("UNKNOWNBRANCH")] -[assembly: AssemblyNuGetVersion("0.0.0-local")] - -#if DEFINE_VERSION_ATTRIBUTES - [AttributeUsage(AttributeTargets.Assembly)] - public sealed class AssemblyGitBranchAttribute : Attribute - { - public AssemblyGitBranchAttribute(string branchName) - { - BranchName = branchName; - } - - public string BranchName { get; } - } - - public sealed class AssemblyNuGetVersionAttribute : Attribute - { - public AssemblyNuGetVersionAttribute(string nuGetVersion) - { - NuGetVersion = nuGetVersion; - } - - public string NuGetVersion { get; } - } -#endif \ No newline at end of file From 0d7194a5a627b792f302225da548395102d3a99c Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:35:35 +1100 Subject: [PATCH 22/34] don't need it --- build/Git.cs | 7 --- ...ifiableFileWithRestoreContentsOnDispose.cs | 50 ------------------- 2 files changed, 57 deletions(-) delete mode 100644 build/Git.cs delete mode 100644 build/ModifiableFileWithRestoreContentsOnDispose.cs diff --git a/build/Git.cs b/build/Git.cs deleted file mode 100644 index d328d942e..000000000 --- a/build/Git.cs +++ /dev/null @@ -1,7 +0,0 @@ -// ReSharper disable RedundantUsingDirective -using System; - -public static class Git -{ - public static string? DeriveGitBranch() => Environment.GetEnvironmentVariable("OCTOVERSION_CurrentBranch"); -} \ No newline at end of file diff --git a/build/ModifiableFileWithRestoreContentsOnDispose.cs b/build/ModifiableFileWithRestoreContentsOnDispose.cs deleted file mode 100644 index 764a5905a..000000000 --- a/build/ModifiableFileWithRestoreContentsOnDispose.cs +++ /dev/null @@ -1,50 +0,0 @@ -// ReSharper disable RedundantUsingDirective -using System; -using System.IO; -using System.Text.RegularExpressions; -using Nuke.Common; -using Nuke.Common.IO; -using Serilog; - -public class ModifiableFileWithRestoreContentsOnDispose : IDisposable -{ - public readonly AbsolutePath FilePath; - readonly string OriginalFileText; - string FileText; - bool disposed = false; - - public ModifiableFileWithRestoreContentsOnDispose(AbsolutePath filePath) - { - FilePath = filePath; - OriginalFileText = File.ReadAllText(filePath); - FileText = File.ReadAllText(filePath); - } - - public void Dispose() - { - if (disposed) - { - return; - } - disposed = true; - RestoreContents(); - } - - public void RestoreContents() - { - Log.Information($"Restoring file {FilePath}"); - File.WriteAllText(FilePath, OriginalFileText); - } - - public void ReplaceRegexInFiles(string matchingPattern, string replacement) - { - FileText = Regex.Replace(FileText, matchingPattern, replacement); - File.WriteAllText(FilePath, FileText); - } - - public void ReplaceTextInFile(string textToReplace, string replacementValue) - { - FileText = FileText.Replace(textToReplace, replacementValue); - File.WriteAllText(FilePath, FileText); - } -} \ No newline at end of file From d4a6eb272b0e4701015994a08522e9549db83ed7 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:36:11 +1100 Subject: [PATCH 23/34] revert oddness in CalamariFlavourProgram --- source/Calamari.Common/CalamariFlavourProgram.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Calamari.Common/CalamariFlavourProgram.cs b/source/Calamari.Common/CalamariFlavourProgram.cs index d6b50122b..187aa95fd 100644 --- a/source/Calamari.Common/CalamariFlavourProgram.cs +++ b/source/Calamari.Common/CalamariFlavourProgram.cs @@ -81,7 +81,7 @@ protected virtual int Run(string[] args) } catch (Exception ex) { - return ConsoleFormatter.PrintError(ConsoleLog.Instance, ex); + return ConsoleFormatter.PrintError(Log, ex); } } @@ -152,4 +152,4 @@ protected virtual IEnumerable GetAllAssembliesToRegister() yield return typeof(CalamariFlavourProgram).Assembly; // Calamari.Common } } -} \ No newline at end of file +} From aba14b01df1dd7151833e97d1364bb96cecc4e2a Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:37:16 +1100 Subject: [PATCH 24/34] clean up --- .../Calamari.Common/CalamariFlavourProgram.cs | 2 +- .../VersionInfo.cs | 32 ------------------- ...ouldFailIfAzureRmIsDeprecated.approved.txt | 15 --------- 3 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs delete mode 100644 source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt diff --git a/source/Calamari.Common/CalamariFlavourProgram.cs b/source/Calamari.Common/CalamariFlavourProgram.cs index 187aa95fd..3d83f44ce 100644 --- a/source/Calamari.Common/CalamariFlavourProgram.cs +++ b/source/Calamari.Common/CalamariFlavourProgram.cs @@ -152,4 +152,4 @@ protected virtual IEnumerable GetAllAssembliesToRegister() yield return typeof(CalamariFlavourProgram).Assembly; // Calamari.Common } } -} +} \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs b/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs deleted file mode 100644 index 452176200..000000000 --- a/source/Calamari.ConsolidateCalamariPackages/VersionInfo.cs +++ /dev/null @@ -1,32 +0,0 @@ -// This file will be updated by our build process at compile time. -using System; -using System.Reflection; - -[assembly: AssemblyVersion("0.0.0.0")] -[assembly: AssemblyFileVersion("0.0.0.0")] -[assembly: AssemblyInformationalVersion("0.0.0-local")] -[assembly: AssemblyGitBranch("UNKNOWNBRANCH")] -[assembly: AssemblyNuGetVersion("0.0.0-local")] - -#if DEFINE_VERSION_ATTRIBUTES - [AttributeUsage(AttributeTargets.Assembly)] - public sealed class AssemblyGitBranchAttribute : Attribute - { - public AssemblyGitBranchAttribute(string branchName) - { - BranchName = branchName; - } - - public string BranchName { get; } - } - - public sealed class AssemblyNuGetVersionAttribute : Attribute - { - public AssemblyNuGetVersionAttribute(string nuGetVersion) - { - NuGetVersion = nuGetVersion; - } - - public string NuGetVersion { get; } - } -#endif \ No newline at end of file diff --git a/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt b/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt deleted file mode 100644 index ab8c9bbc3..000000000 --- a/source/Calamari.Tests/KubernetesFixtures/Approved/KubernetesContextScriptWrapperFixture.ExecutionWithAzureServicePrincipalWithAdmin_ShouldFailIfAzureRmIsDeprecated.approved.txt +++ /dev/null @@ -1,15 +0,0 @@ -[Verbose] "kubectl" version --client --output=yaml --request-timeout=1m -[Verbose] Found kubectl and successfully verified it can be executed. -[Verbose] "chmod" u=rw,g=,o= "kubectl-octo.yml" -[Verbose] Temporary kubectl config set to kubectl-octo.yml -[Verbose] "az" cloud set --name AzureCloud -[Verbose] Azure CLI: Authenticating with Service Principal -[Verbose] "az" login --service-principal --username="azClientId" --password="azPassword" --tenant="azTenantId" -[Verbose] Azure CLI: Setting active subscription to azSubscriptionId -[Verbose] "az" account set --subscription azSubscriptionId -[Info] Successfully authenticated with the Azure CLI -[Info] Creating kubectl context to AKS Cluster in resource group clusterRG called asCluster (namespace calamari-testing) -[Verbose] "az" aks get-credentials --resource-group clusterRG --name asCluster --file "kubectl-octo.yml" --overwrite-existing -[Verbose] "kubectl" config set-context asCluster --namespace=calamari-testing --request-timeout=1m -[Verbose] "kubelogin" convert-kubeconfig -l azurecli --kubeconfig "kubectl-octo.yml" -[Verbose] "kubectl" get namespace calamari-testing --request-timeout=1m From 490ec9e72a0f27ef2b964a038f71a8f21697feeb Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 14:41:01 +1100 Subject: [PATCH 25/34] personal review --- build/Build.cs | 1 - .../Calamari.ConsolidateCalamariPackages.csproj | 5 ----- 2 files changed, 6 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 241117b51..50145b676 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -16,7 +16,6 @@ using Nuke.Common.Tools.DotNet; using Nuke.Common.Tools.GitVersion; using Nuke.Common.Tools.NuGet; -using Nuke.Common.Tools.OctoVersion; using Nuke.Common.Utilities.Collections; using Serilog; using static Nuke.Common.IO.FileSystemTasks; diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index 891b7ff6d..96dd1cadc 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -9,11 +9,6 @@ true false - - - DEFINE_VERSION_ATTRIBUTES - - From c3594c497262b6ed799df96a6b5c0dc2879a09d0 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 15:12:27 +1100 Subject: [PATCH 26/34] auto gen assembly info --- .../Calamari.ConsolidateCalamariPackages.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index 96dd1cadc..c15f7ea90 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -7,7 +7,6 @@ default true true - false From 5e3b2210d4d7670626f5657e3c0029f072eca23a Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 15:36:50 +1100 Subject: [PATCH 27/34] Rever soln file --- source/Calamari.sln | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/Calamari.sln b/source/Calamari.sln index 8613f5d6f..fbb1b48e9 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -116,7 +116,6 @@ Global {95A4DBA0-EA92-4FD5-A92E-4DFDB4FC4493}.Release|Any CPU.Build.0 = Release|Any CPU {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {331CE73F-88CA-4C5E-9921-F6D1C81C6CBE}.Debug|Any CPU.Build.0 = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Debug|Any CPU.Build.0 = Debug|Any CPU {AC3A676B-D720-4AC8-A188-B25DB72969CB}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -145,6 +144,10 @@ Global {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Debug|Any CPU.Build.0 = Debug|Any CPU {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0EA7711F-34D3-44C6-BBCC-D4EA1A6B9D2C}.Release|Any CPU.Build.0 = Release|Any CPU + {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {71B996DD-409B-4EB6-AB1A-D7469B0A7A8A}.Release|Any CPU.Build.0 = Release|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Debug|Any CPU.Build.0 = Debug|Any CPU {BFE038E8-6F46-40DA-AD40-C00ED25C1FEE}.Release|Any CPU.ActiveCfg = Release|Any CPU From c8e673fa803fcf492b5bcb263177c2ecc98cdc58 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Thu, 16 Jan 2025 16:13:33 +1100 Subject: [PATCH 28/34] fix the namespacing --- build/Build.cs | 2 +- .../IntegrationTests.cs | 1 + .../BuildPackageReference.cs | 2 +- .../CalamariFlavourPackageReference.cs | 2 +- .../CalamariPackageReference.cs | 2 +- .../Consolidate.cs | 2 +- .../ConsolidatedPackage.cs | 10 +++++----- .../ConsolidatedPackageCreator.cs | 2 +- .../ConsolidatedPackageFactory.cs | 7 ++++--- .../ConsolidatedPackageIndex.cs | 2 +- .../ConsolidatedPackageIndexLoader.cs | 8 ++++---- .../FileBasedStreamProvider.cs | 2 +- source/Calamari.ConsolidateCalamariPackages/Hasher.cs | 2 +- .../IConsolidatedPackageStreamProvider.cs | 2 +- .../IPackageReference.cs | 2 +- .../MigratedCalamariFlavours.cs | 2 +- .../SashimiPackageReference.cs | 2 +- .../Calamari.ConsolidateCalamariPackages/SourceFile.cs | 2 +- 18 files changed, 28 insertions(+), 26 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 50145b676..35ff25662 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -6,7 +6,6 @@ using System.Runtime.InteropServices; using System.Text.RegularExpressions; using System.Threading.Tasks; -using Calamari.ConsolidateCalamariPackages; using NuGet.Packaging; using Nuke.Common; using Nuke.Common.CI.TeamCity; @@ -17,6 +16,7 @@ using Nuke.Common.Tools.GitVersion; using Nuke.Common.Tools.NuGet; using Nuke.Common.Utilities.Collections; +using Octopus.Calamari.ConsolidatedPackage; using Serilog; using static Nuke.Common.IO.FileSystemTasks; using static Nuke.Common.Tools.DotNet.DotNetTasks; diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 034f40a02..0afca2c36 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -10,6 +10,7 @@ using NSubstitute; using NuGet.Packaging; using NUnit.Framework; +using Octopus.Calamari.ConsolidatedPackage; using Serilog; using SharpCompress.Writers; using SharpCompress.Writers.Zip; diff --git a/source/Calamari.ConsolidateCalamariPackages/BuildPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/BuildPackageReference.cs index 82e3ad27b..9ada833b1 100644 --- a/source/Calamari.ConsolidateCalamariPackages/BuildPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/BuildPackageReference.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class BuildPackageReference { diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs index ad2eeca7d..24e7f4b4c 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariFlavourPackageReference.cs @@ -5,7 +5,7 @@ using System.Linq; using Serilog; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { class CalamariFlavourPackageReference : IPackageReference { diff --git a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs index 0e03cd75a..5b2458a21 100644 --- a/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/CalamariPackageReference.cs @@ -5,7 +5,7 @@ using System.Linq; using Serilog; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { class CalamariPackageReference : IPackageReference { diff --git a/source/Calamari.ConsolidateCalamariPackages/Consolidate.cs b/source/Calamari.ConsolidateCalamariPackages/Consolidate.cs index 4b52185bd..ad12d1ea1 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Consolidate.cs +++ b/source/Calamari.ConsolidateCalamariPackages/Consolidate.cs @@ -6,7 +6,7 @@ using System.Reflection; using Serilog; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class Consolidate { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs index 38ede87bd..a131a861d 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs @@ -4,7 +4,7 @@ using System.Linq; using SharpCompress.Archives.Zip; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public interface IConsolidatedPackage { @@ -12,16 +12,16 @@ public interface IConsolidatedPackage public IEnumerable<(string package, string version)> GetAvailablePackages(); - public ConsolidateCalamariPackages.ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); } public class ConsolidatedPackage : IConsolidatedPackage { - readonly ConsolidateCalamariPackages.ConsolidatedPackageIndex index; + readonly ConsolidatedPackageIndex index; readonly IConsolidatedPackageStreamProvider packageStreamProvider; - public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidateCalamariPackages.ConsolidatedPackageIndex index) + public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) { this.packageStreamProvider = packageStreamProvider; this.index = index; @@ -32,7 +32,7 @@ public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvi return index.Packages.Values.Select(v => (v.PackageId, v.Version)); } - public ConsolidateCalamariPackages.ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); + public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index 2fc2f75f0..2b9a61335 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -6,7 +6,7 @@ using System.Text; using Newtonsoft.Json; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { static class ConsolidatedPackageCreator { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs index 5c310996e..5e2232a0a 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs @@ -1,18 +1,19 @@ using System; +using Octopus.Calamari.ConsolidatedPackage; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class ConsolidatedPackageFactory { readonly ConsolidatedPackageIndexLoader indexLoader = new(); - public ConsolidateCalamariPackages.ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) + public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) { using (var stream = streamProvider.OpenStream()) { var index = indexLoader.Load(stream); - return new ConsolidateCalamariPackages.ConsolidatedPackage(streamProvider, index); + return new ConsolidatedPackage(streamProvider, index); } } } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs index ab3f33968..00f0522e0 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class ConsolidatedPackageIndex { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs index ee0879902..6fe1e6c1d 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs @@ -4,11 +4,11 @@ using Newtonsoft.Json; using SharpCompress.Archives.Zip; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class ConsolidatedPackageIndexLoader { - public ConsolidateCalamariPackages.ConsolidatedPackageIndex Load(Stream zipStream) + public ConsolidatedPackageIndex Load(Stream zipStream) { using var zip = ZipArchive.Open(zipStream); var entry = zip.Entries.First(e => e.Key == "index.json"); @@ -21,12 +21,12 @@ public ConsolidateCalamariPackages.ConsolidatedPackageIndex Load(Stream zipStrea return From(entryStream); } - ConsolidateCalamariPackages.ConsolidatedPackageIndex From(Stream inputStream) + ConsolidatedPackageIndex From(Stream inputStream) { using (var sr = new StreamReader(inputStream)) { #pragma warning disable CS8603 // Possible null reference return - return JsonConvert.DeserializeObject(sr.ReadToEnd()); + return JsonConvert.DeserializeObject(sr.ReadToEnd()); #pragma warning restore CS8603 } } diff --git a/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs index 905ed492f..d47df0edd 100644 --- a/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace Calamari.ConsolidateCalamariPackages; +namespace Octopus.Calamari.ConsolidatedPackage; public class FileBasedStreamProvider : IConsolidatedPackageStreamProvider { diff --git a/source/Calamari.ConsolidateCalamariPackages/Hasher.cs b/source/Calamari.ConsolidateCalamariPackages/Hasher.cs index f8207224d..bff9b55d4 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Hasher.cs +++ b/source/Calamari.ConsolidateCalamariPackages/Hasher.cs @@ -5,7 +5,7 @@ using System.Security.Cryptography; using System.Text; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { class Hasher : IDisposable { diff --git a/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs index 96ae78259..5238d31cf 100644 --- a/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public interface IConsolidatedPackageStreamProvider { diff --git a/source/Calamari.ConsolidateCalamariPackages/IPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/IPackageReference.cs index 9262a03c4..32ac15aef 100644 --- a/source/Calamari.ConsolidateCalamariPackages/IPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/IPackageReference.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Serilog; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { interface IPackageReference { diff --git a/source/Calamari.ConsolidateCalamariPackages/MigratedCalamariFlavours.cs b/source/Calamari.ConsolidateCalamariPackages/MigratedCalamariFlavours.cs index 74d972c77..dc8aae28b 100644 --- a/source/Calamari.ConsolidateCalamariPackages/MigratedCalamariFlavours.cs +++ b/source/Calamari.ConsolidateCalamariPackages/MigratedCalamariFlavours.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { public class MigratedCalamariFlavours { diff --git a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs index e5f532a96..0fa84d79f 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SashimiPackageReference.cs @@ -5,7 +5,7 @@ using System.Linq; using Serilog; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { class SashimiPackageReference : IPackageReference { diff --git a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs index a2126a239..2cbca367e 100644 --- a/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs +++ b/source/Calamari.ConsolidateCalamariPackages/SourceFile.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.ConsolidateCalamariPackages +namespace Octopus.Calamari.ConsolidatedPackage { class SourceFile { From ce2b907035a220a75874d19291cb4e7fcf74bc69 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Fri, 17 Jan 2025 14:39:32 +1100 Subject: [PATCH 29/34] clean up the santising of hashes --- .../IntegrationTests.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 0afca2c36..87473f4b8 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -22,7 +22,7 @@ namespace Calamari.ConsolidateCalamariPackages.Tests [TestFixture] public class IntegrationTests { - readonly Assent.Configuration assentConfiguration = new Assent.Configuration().UsingSanitiser(s => Sanitise4PartVersions(SanitiseFilenamesInIndex(s))); + readonly Assent.Configuration assentConfiguration = new Assent.Configuration().UsingSanitiser(s => Sanitise4PartVersions(SanitiseHash(s))); static readonly string TestPackagesDirectory = "../../../testPackages"; private string temp; @@ -89,7 +89,7 @@ public void AndThenThePackageIsCreated() public void AndThenThePackageContentsShouldBe() { using (var zip = ZipFile.Open(expectedZip, ZipArchiveMode.Read)) - this.Assent(string.Join("\r\n", zip.Entries.Select(e => SanitiseHashesInPackageList(e.FullName)).OrderBy(k => k)), assentConfiguration); + this.Assent(string.Join("\r\n", zip.Entries.Select(e => SanitiseHash(e.FullName)).OrderBy(k => k)), assentConfiguration); } public void AndThenTheIndexShouldBe() @@ -164,11 +164,8 @@ static bool IsNetfx(string packageId) { return packageId.Equals("Calamari") || packageId.Equals("Calamari.Cloud"); } - - private static string SanitiseFilenamesInIndex(string s) - => Regex.Replace(s, "[a-z0-9]{32}", ""); - private static string SanitiseHashesInPackageList(string s) + private static string SanitiseHash(string s) => Regex.Replace(s, "[a-z0-9]{32}", ""); From a25ee2deea6926e52c05dd5bc98cf60759333a5f Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Tue, 21 Jan 2025 10:55:35 +1100 Subject: [PATCH 30/34] created an API assembly --- ...ari.ConsolidateCalamariPackages.Api.csproj | 10 ++++++ .../IConsolidatedPackage.cs | 11 +++++++ .../IConsolidatedPackageIndex.cs | 15 +++++++++ .../IConsolidatedPackageStreamProvider.cs | 9 ++++++ .../IntegrationTests.cs | 2 +- ...alamari.ConsolidateCalamariPackages.csproj | 3 ++ .../ConsolidatedPackage.cs | 27 ++++------------ .../ConsolidatedPackageCreator.cs | 7 +++-- .../ConsolidatedPackageFactory.cs | 8 ++--- .../ConsolidatedPackageIndex.cs | 31 ++++++------------- .../ConsolidatedPackageIndexLoader.cs | 5 +-- source/Calamari.sln | 6 ++++ 12 files changed, 81 insertions(+), 53 deletions(-) create mode 100644 source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj create mode 100644 source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs create mode 100644 source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs create mode 100644 source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj b/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj new file mode 100644 index 000000000..e7a037418 --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj @@ -0,0 +1,10 @@ + + + + net6.0 + enable + enable + default + + + diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs new file mode 100644 index 000000000..5e3bad24e --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs @@ -0,0 +1,11 @@ +using System; + +namespace Calamari.ConsolidateCalamariPackages.Api +{ + public interface IConsolidatedPackage + { + IConsolidatedPackageIndex Index { get; } + IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform); + + } +} diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs new file mode 100644 index 000000000..87367def7 --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs @@ -0,0 +1,15 @@ +using System; + +namespace Calamari.ConsolidateCalamariPackages.Api +{ + public interface IConsolidatedPackageIndex + { + Package GetPackage(string id); + + public IEnumerable<(string package, string version)> GetAvailablePackages(); + + public record Package(string PackageId, string Version, bool IsNupkg, Dictionary PlatformFiles); + + public record FileTransfer(string Source, string Destination); + } +} diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs new file mode 100644 index 000000000..8a03b8cdf --- /dev/null +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs @@ -0,0 +1,9 @@ +using System; + +namespace Calamari.ConsolidateCalamariPackages.Api +{ + public interface IConsolidatedPackageStreamProvider + { + Stream OpenStream(); + } +} diff --git a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs index 87473f4b8..82ae842d7 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Tests/IntegrationTests.cs @@ -117,7 +117,7 @@ public void AndTheRegeneratedPackageShouldBeIdenticalToInputs() { foreach (var entry in consolidatedPackage.ExtractCalamariPackage(flavour, platform)) { - dest.Write(entry.destinationEntry, entry.sourceStream); + dest.Write(entry.entryName, entry.sourceStream); } } } diff --git a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj index c15f7ea90..42ca4516f 100644 --- a/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj +++ b/source/Calamari.ConsolidateCalamariPackages/Calamari.ConsolidateCalamariPackages.csproj @@ -13,5 +13,8 @@ + + + diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs index a131a861d..b0ef5ccf1 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs @@ -2,41 +2,26 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Calamari.ConsolidateCalamariPackages.Api; using SharpCompress.Archives.Zip; namespace Octopus.Calamari.ConsolidatedPackage { - public interface IConsolidatedPackage - { - public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform); - - public IEnumerable<(string package, string version)> GetAvailablePackages(); - - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour); - - } - public class ConsolidatedPackage : IConsolidatedPackage { - readonly ConsolidatedPackageIndex index; readonly IConsolidatedPackageStreamProvider packageStreamProvider; - public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, ConsolidatedPackageIndex index) + public ConsolidatedPackage(IConsolidatedPackageStreamProvider packageStreamProvider, IConsolidatedPackageIndex index) { this.packageStreamProvider = packageStreamProvider; - this.index = index; - } - - public IEnumerable<(string package, string version)> GetAvailablePackages() - { - return index.Packages.Values.Select(v => (v.PackageId, v.Version)); + Index = index; } - public ConsolidatedPackageIndex.Package GetPackage(string calamariFlavour) => index.GetEntryFromIndex(calamariFlavour); + public IConsolidatedPackageIndex Index { get; } - public IEnumerable<(string destinationEntry, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) + public IEnumerable<(string entryName, long size, Stream sourceStream)> ExtractCalamariPackage(string calamariFlavour, string platform) { - var entry = index.GetEntryFromIndex(calamariFlavour); + var entry = Index.GetPackage(calamariFlavour); if (!entry.PlatformFiles.TryGetValue(platform, out var platformFiles)) { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index 2b9a61335..fcb24ef11 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,6 +4,7 @@ using System.IO.Compression; using System.Linq; using System.Text; +using Calamari.ConsolidateCalamariPackages.Api; using Newtonsoft.Json; namespace Octopus.Calamari.ConsolidatedPackage @@ -45,12 +46,12 @@ private static void WriteUniqueFilesToZip(IEnumerable sourceFiles, Z private static void WriteIndexTo(Stream stream, IEnumerable sourceFiles) { // SHould break out entryName to a function - make first class - Dictionary GroupByPlatform(IEnumerable filesForPackage) + Dictionary GroupByPlatform(IEnumerable filesForPackage) => filesForPackage .GroupBy(f => f.Platform) .ToDictionary( g => g.Key, - g => g.Select(f => new FileTransfer(f.EntryNameInConsolidationArchive(), f.FullNameInDestinationArchive)).ToArray() + g => g.Select(f => new IConsolidatedPackageIndex.FileTransfer(f.EntryNameInConsolidationArchive(), f.FullNameInDestinationArchive)).ToArray() ); var index = new ConsolidatedPackageIndex( @@ -58,7 +59,7 @@ Dictionary GroupByPlatform(IEnumerable files .GroupBy(i => new {i.PackageId, i.Version, i.IsNupkg }) .ToDictionary( g => g.Key.PackageId, - g => new ConsolidatedPackageIndex.Package( + g => new IConsolidatedPackageIndex.Package( g.Key.PackageId, g.Key.Version, g.Key.IsNupkg, diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs index 5e2232a0a..c9393ba1c 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs @@ -1,5 +1,5 @@ - using System; +using Calamari.ConsolidateCalamariPackages.Api; using Octopus.Calamari.ConsolidatedPackage; namespace Octopus.Calamari.ConsolidatedPackage @@ -7,8 +7,8 @@ namespace Octopus.Calamari.ConsolidatedPackage public class ConsolidatedPackageFactory { readonly ConsolidatedPackageIndexLoader indexLoader = new(); - - public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) + + public IConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamProvider) { using (var stream = streamProvider.OpenStream()) { @@ -17,4 +17,4 @@ public ConsolidatedPackage LoadFrom(IConsolidatedPackageStreamProvider streamPro } } } -} +} \ No newline at end of file diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs index 00f0522e0..4be857ac7 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs @@ -1,20 +1,20 @@ using System; using System.Collections.Generic; using System.Linq; +using Calamari.ConsolidateCalamariPackages.Api; namespace Octopus.Calamari.ConsolidatedPackage { - public class ConsolidatedPackageIndex + public class ConsolidatedPackageIndex : IConsolidatedPackageIndex { - public ConsolidatedPackageIndex(Dictionary packages) + public ConsolidatedPackageIndex(Dictionary packages) { - Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); + Packages = new Dictionary(packages, StringComparer.OrdinalIgnoreCase); } - public IReadOnlyDictionary Packages { get; init; } - public IEnumerable<(string package, string version)> GetPackageVersions() => Packages.Values.Select(v => (v.PackageId, v.Version)); + IReadOnlyDictionary Packages { get; init; } - public Package GetEntryFromIndex(string id) + public IConsolidatedPackageIndex.Package GetPackage(string id) { if (!Packages.TryGetValue(id, out var indexPackage)) { @@ -23,23 +23,10 @@ public Package GetEntryFromIndex(string id) return indexPackage; } - - public class Package + + public IEnumerable<(string package, string version)> GetAvailablePackages() { - public Package(string packageId, string version, bool isNupkg, Dictionary platformFiles) - { - PackageId = packageId; - Version = version; - IsNupkg = isNupkg; - PlatformFiles = new Dictionary(platformFiles, StringComparer.OrdinalIgnoreCase); - } - - public string PackageId { get; } - public string Version { get; } - public bool IsNupkg { get; } - public Dictionary PlatformFiles { get; } + return Packages.Values.Select(v => (v.PackageId, v.Version)); } } - - public record FileTransfer(string Source, string Destination); } diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs index 6fe1e6c1d..d312adf77 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Linq; +using Calamari.ConsolidateCalamariPackages.Api; using Newtonsoft.Json; using SharpCompress.Archives.Zip; @@ -8,7 +9,7 @@ namespace Octopus.Calamari.ConsolidatedPackage { public class ConsolidatedPackageIndexLoader { - public ConsolidatedPackageIndex Load(Stream zipStream) + public IConsolidatedPackageIndex Load(Stream zipStream) { using var zip = ZipArchive.Open(zipStream); var entry = zip.Entries.First(e => e.Key == "index.json"); @@ -21,7 +22,7 @@ public ConsolidatedPackageIndex Load(Stream zipStream) return From(entryStream); } - ConsolidatedPackageIndex From(Stream inputStream) + IConsolidatedPackageIndex From(Stream inputStream) { using (var sr = new StreamReader(inputStream)) { diff --git a/source/Calamari.sln b/source/Calamari.sln index fbb1b48e9..51482389b 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -80,6 +80,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting.Tests", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.GoogleCloudAccounts", "Calamari.GoogleCloudAccounts\Calamari.GoogleCloudAccounts.csproj", "{74F2739F-A501-4F30-BF9E-75A087C3B917}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.ConsolidateCalamariPackages.Api", "Calamari.ConsolidateCalamariPackages.Api\Calamari.ConsolidateCalamariPackages.Api.csproj", "{A3BFFA0E-7514-41DE-A141-E124133D0665}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -208,6 +210,10 @@ Global {74F2739F-A501-4F30-BF9E-75A087C3B917}.Debug|Any CPU.Build.0 = Debug|Any CPU {74F2739F-A501-4F30-BF9E-75A087C3B917}.Release|Any CPU.ActiveCfg = Release|Any CPU {74F2739F-A501-4F30-BF9E-75A087C3B917}.Release|Any CPU.Build.0 = Release|Any CPU + {A3BFFA0E-7514-41DE-A141-E124133D0665}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3BFFA0E-7514-41DE-A141-E124133D0665}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3BFFA0E-7514-41DE-A141-E124133D0665}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3BFFA0E-7514-41DE-A141-E124133D0665}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From e4f64c9fef71ac483cd6031e473c154b86ea05fe Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Tue, 21 Jan 2025 11:10:19 +1100 Subject: [PATCH 31/34] update the build to publish the api --- build/Build.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build/Build.cs b/build/Build.cs index 35ff25662..38191d0dc 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -419,11 +419,9 @@ void CompressCalamariProject(Project project) foreach (var project in commonProjects) packageActions.Add(() => SignAndPack(project.ToString(), dotNetCorePackSettings)); - // Pack the Consolidation Library - var consolidateCalamariPackagesProjectName = "Calamari.ConsolidateCalamariPackages"; - var consolidationCalamariProject = Solution.Projects.First(project => project.Name == consolidateCalamariPackagesProjectName); - packageActions.Add(() => SignAndPack(consolidationCalamariProject, dotNetCorePackSettings)); - + // Pack the Consolidation Libraries + var consolidateCalamariPackagesProjectPrefix = "Calamari.ConsolidateCalamariPackages"; + Solution.Projects.Where(project => project.Name.StartsWith(consolidateCalamariPackagesProjectPrefix)).ForEach(p => packageActions.Add(() => SignAndPack(p, dotNetCorePackSettings))); var sourceProjectPath = SourceDirectory / "Calamari.CloudAccounts" / "Calamari.CloudAccounts.csproj"; From 1f90305ba94164538b3ed876a7b4266e1c43c703 Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Tue, 21 Jan 2025 19:28:19 +1100 Subject: [PATCH 32/34] make index fields public so json can be created --- .../ConsolidatedPackageIndex.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs index 4be857ac7..177fd349b 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs @@ -12,7 +12,7 @@ public ConsolidatedPackageIndex(Dictionary(packages, StringComparer.OrdinalIgnoreCase); } - IReadOnlyDictionary Packages { get; init; } + public IReadOnlyDictionary Packages { get; init; } public IConsolidatedPackageIndex.Package GetPackage(string id) { From 5f381a6a984087c4cf90155f0c74883c1bdf0cec Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 22 Jan 2025 11:20:23 +1100 Subject: [PATCH 33/34] move to the right assembly and namespace --- .../Calamari.ConsolidateCalamariPackages.Api.csproj | 2 ++ .../IConsolidatedPackage.cs | 2 +- .../IConsolidatedPackageIndex.cs | 2 +- .../IConsolidatedPackageStreamProvider.cs | 2 +- .../Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs | 2 +- .../ConsolidatedPackageCreator.cs | 2 +- .../ConsolidatedPackageFactory.cs | 2 +- .../ConsolidatedPackageIndex.cs | 2 +- .../ConsolidatedPackageIndexLoader.cs | 2 +- 9 files changed, 10 insertions(+), 8 deletions(-) diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj b/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj index e7a037418..fe956d365 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj +++ b/source/Calamari.ConsolidateCalamariPackages.Api/Calamari.ConsolidateCalamariPackages.Api.csproj @@ -1,6 +1,8 @@ + Octopus.Calamari.ConsolidatedPackage.Api + Octopus.Calamari.ConsolidatedPackage.Api net6.0 enable enable diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs index 5e3bad24e..221ea54ba 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackage.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.ConsolidateCalamariPackages.Api +namespace Octopus.Calamari.ConsolidatedPackage.Api { public interface IConsolidatedPackage { diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs index 87367def7..5d753fbcd 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageIndex.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.ConsolidateCalamariPackages.Api +namespace Octopus.Calamari.ConsolidatedPackage.Api { public interface IConsolidatedPackageIndex { diff --git a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs index 8a03b8cdf..1d4c6d4fa 100644 --- a/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages.Api/IConsolidatedPackageStreamProvider.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.ConsolidateCalamariPackages.Api +namespace Octopus.Calamari.ConsolidatedPackage.Api { public interface IConsolidatedPackageStreamProvider { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs index b0ef5ccf1..61b5c105a 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackage.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Calamari.ConsolidateCalamariPackages.Api; +using Octopus.Calamari.ConsolidatedPackage.Api; using SharpCompress.Archives.Zip; namespace Octopus.Calamari.ConsolidatedPackage diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs index fcb24ef11..ece481e59 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageCreator.cs @@ -4,8 +4,8 @@ using System.IO.Compression; using System.Linq; using System.Text; -using Calamari.ConsolidateCalamariPackages.Api; using Newtonsoft.Json; +using Octopus.Calamari.ConsolidatedPackage.Api; namespace Octopus.Calamari.ConsolidatedPackage { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs index c9393ba1c..c401dae80 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageFactory.cs @@ -1,6 +1,6 @@ using System; -using Calamari.ConsolidateCalamariPackages.Api; using Octopus.Calamari.ConsolidatedPackage; +using Octopus.Calamari.ConsolidatedPackage.Api; namespace Octopus.Calamari.ConsolidatedPackage { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs index 177fd349b..d48f1e5dd 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndex.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Calamari.ConsolidateCalamariPackages.Api; +using Octopus.Calamari.ConsolidatedPackage.Api; namespace Octopus.Calamari.ConsolidatedPackage { diff --git a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs index d312adf77..24e58bef0 100644 --- a/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs +++ b/source/Calamari.ConsolidateCalamariPackages/ConsolidatedPackageIndexLoader.cs @@ -1,8 +1,8 @@ using System; using System.IO; using System.Linq; -using Calamari.ConsolidateCalamariPackages.Api; using Newtonsoft.Json; +using Octopus.Calamari.ConsolidatedPackage.Api; using SharpCompress.Archives.Zip; namespace Octopus.Calamari.ConsolidatedPackage From 6d2bcdfa1e19f4498cfdfd456fbad6e90a416a0f Mon Sep 17 00:00:00 2001 From: Trent Mohay Date: Wed, 22 Jan 2025 13:49:09 +1100 Subject: [PATCH 34/34] Remove IConsolidatedPackageStreamProvider from the impl package --- .../FileBasedStreamProvider.cs | 1 + .../IConsolidatedPackageStreamProvider.cs | 10 ---------- 2 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs diff --git a/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs index d47df0edd..1eecc555e 100644 --- a/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs +++ b/source/Calamari.ConsolidateCalamariPackages/FileBasedStreamProvider.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using Octopus.Calamari.ConsolidatedPackage.Api; namespace Octopus.Calamari.ConsolidatedPackage; diff --git a/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs b/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs deleted file mode 100644 index 5238d31cf..000000000 --- a/source/Calamari.ConsolidateCalamariPackages/IConsolidatedPackageStreamProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.IO; - -namespace Octopus.Calamari.ConsolidatedPackage -{ - public interface IConsolidatedPackageStreamProvider - { - Stream OpenStream(); - } -}