diff --git a/scripts/dotnet-cli-build/PackageTargets.cs b/scripts/dotnet-cli-build/PackageTargets.cs index 75ba0fb3d..bdf9ce891 100644 --- a/scripts/dotnet-cli-build/PackageTargets.cs +++ b/scripts/dotnet-cli-build/PackageTargets.cs @@ -30,7 +30,8 @@ namespace Microsoft.DotNet.Cli.Build nameof(PackageTargets.CopySharedHostLayout), nameof(PackageTargets.CopySharedFxLayout), nameof(PackageTargets.CopyCombinedFrameworkSDKHostLayout), - nameof(PackageTargets.CopyCombinedFrameworkHostLayout))] + nameof(PackageTargets.CopyCombinedFrameworkHostLayout), + nameof(PackageTargets.CopyCombinedFrameworkSDKLayout))] public static BuildTargetResult InitPackage(BuildTargetContext c) { Directory.CreateDirectory(Dirs.Packages); @@ -162,6 +163,25 @@ namespace Microsoft.DotNet.Cli.Build return c.Success(); } + [Target] + public static BuildTargetResult CopyCombinedFrameworkSDKLayout(BuildTargetContext c) + { + var combinedRoot = Path.Combine(Dirs.Output, "obj", "combined-framework-sdk"); + if (Directory.Exists(combinedRoot)) + { + Utils.DeleteDirectory(combinedRoot); + } + + string sdkPublishRoot = c.BuildContext.Get("CLISDKRoot"); + Utils.CopyDirectoryRecursively(sdkPublishRoot, combinedRoot); + + string sharedFrameworkPublishRoot = c.BuildContext.Get("SharedFrameworkPublishRoot"); + Utils.CopyDirectoryRecursively(sharedFrameworkPublishRoot, combinedRoot); + + c.BuildContext["CombinedFrameworkSDKRoot"] = combinedRoot; + return c.Success(); + } + [Target(nameof(PackageTargets.GenerateZip), nameof(PackageTargets.GenerateTarBall))] public static BuildTargetResult GenerateCompressedFile(BuildTargetContext c) { @@ -174,7 +194,7 @@ namespace Microsoft.DotNet.Cli.Build { CreateZipFromDirectory(c.BuildContext.Get("CombinedFrameworkSDKHostRoot"), c.BuildContext.Get("CombinedFrameworkSDKHostCompressedFile")); CreateZipFromDirectory(c.BuildContext.Get("CombinedFrameworkHostRoot"), c.BuildContext.Get("CombinedFrameworkHostCompressedFile")); - + CreateZipFromDirectory(c.BuildContext.Get("CombinedFrameworkSDKRoot"), c.BuildContext.Get("CombinedFrameworkSDKCompressedFile")); CreateZipFromDirectory(Path.Combine(Dirs.Stage2Symbols, "sdk"), c.BuildContext.Get("SdkSymbolsCompressedFile")); return c.Success(); diff --git a/scripts/dotnet-cli-build/PrepareTargets.cs b/scripts/dotnet-cli-build/PrepareTargets.cs index ce65668ad..5cb4a8a87 100644 --- a/scripts/dotnet-cli-build/PrepareTargets.cs +++ b/scripts/dotnet-cli-build/PrepareTargets.cs @@ -152,6 +152,7 @@ namespace Microsoft.DotNet.Cli.Build AddInstallerArtifactToContext(c, "dotnet-sharedframework", "SharedFramework", sharedFrameworkVersion); AddInstallerArtifactToContext(c, "dotnet-dev", "CombinedFrameworkSDKHost", cliVersion); AddInstallerArtifactToContext(c, "dotnet", "CombinedFrameworkHost", sharedFrameworkVersion); + AddInstallerArtifactToContext(c, "dotnet-sharedframework-sdk", "CombinedFrameworkSDK", cliVersion); AddInstallerArtifactToContext(c, "dotnet-sdk-debug", "SdkSymbols", cliVersion); return c.Success(); diff --git a/scripts/dotnet-cli-build/PublishTargets.cs b/scripts/dotnet-cli-build/PublishTargets.cs index 125456e4a..f7eccbdeb 100644 --- a/scripts/dotnet-cli-build/PublishTargets.cs +++ b/scripts/dotnet-cli-build/PublishTargets.cs @@ -69,6 +69,7 @@ namespace Microsoft.DotNet.Cli.Build [Target( nameof(PublishTargets.PublishCombinedHostFrameworkArchiveToAzure), nameof(PublishTargets.PublishCombinedHostFrameworkSdkArchiveToAzure), + nameof(PublishTargets.PublishCombinedFrameworkSDKArchiveToAzure), nameof(PublishTargets.PublishSDKSymbolsArchiveToAzure))] public static BuildTargetResult PublishArchivesToAzure(BuildTargetContext c) => c.Success(); @@ -108,12 +109,17 @@ namespace Microsoft.DotNet.Cli.Build } [Target] - [BuildPlatforms(BuildPlatform.Ubuntu)] + [BuildPlatforms(BuildPlatform.Ubuntu, BuildPlatform.Windows)] public static BuildTargetResult PublishSharedHostInstallerFileToAzure(BuildTargetContext c) { var version = CliNuGetVersion; var installerFile = c.BuildContext.Get("SharedHostInstallerFile"); + if (CurrentPlatform.Current == BuildPlatform.Windows) + { + installerFile = Path.ChangeExtension(installerFile, "msi"); + } + AzurePublisherTool.PublishInstallerFileAndLatest(installerFile, Channel, version); return c.Success(); @@ -167,6 +173,17 @@ namespace Microsoft.DotNet.Cli.Build return c.Success(); } + [Target] + public static BuildTargetResult PublishCombinedFrameworkSDKArchiveToAzure(BuildTargetContext c) + { + var version = CliNuGetVersion; + var archiveFile = c.BuildContext.Get("CombinedFrameworkSDKCompressedFile"); + + AzurePublisherTool.PublishArchiveAndLatest(archiveFile, Channel, version); + + return c.Success(); + } + [Target] public static BuildTargetResult PublishCombinedHostFrameworkSdkArchiveToAzure(BuildTargetContext c) {