From 9317f29e77e196733fc7ddd654cef5873f4c6124 Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Thu, 6 May 2021 10:17:33 -0700 Subject: [PATCH 1/2] Allow for the override of the public feed for symbols Symbols nupkg feeds were either the static symbols feed provided if a build was internal, or the legacy feed otherwise. We need to be able to also override the public feed in post-signing publishing. This adds the ability to override in the public case. --- .../tools/SdkTasks/PublishArtifactsInManifest.proj | 1 + .../src/PublishArtifactsInManifest.cs | 3 +++ .../src/PublishArtifactsInManifestV3.cs | 3 +++ .../src/model/SetupTargetFeedConfigV3.cs | 10 ++++++++++ 4 files changed, 17 insertions(+) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj index 28d23ef95c2..fa4778f6aea 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj @@ -154,6 +154,7 @@ TransportFeedOverride="$(TransportFeedOverride)" ShippingFeedOverride="$(ShippingFeedOverride)" SymbolsFeedOverride="$(SymbolsFeedOverride)" + PublicSymbolsFeedOverride="$(PublicSymbolsFeedOverride)" AzdoApiToken="$(AzdoApiToken)" ArtifactsBasePath="$(ArtifactsBasePath)" BuildId="$(BuildId)" diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs index ee706c1efc0..0cdbd667c59 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs @@ -129,6 +129,8 @@ public class PublishArtifactsInManifest : MSBuildTaskBase public string SymbolsFeedOverride { get; set; } + public string PublicSymbolsFeedOverride { get; set; } + /// /// Path to dll and pdb files /// @@ -381,6 +383,7 @@ internal PublishArtifactsInManifestBase ConstructPublishingV3Task(BuildModel bui ShippingFeedOverride = this.ShippingFeedOverride, TransportFeedOverride = this.TransportFeedOverride, SymbolsFeedOverride = this.SymbolsFeedOverride, + PublicSymbolsFeedOverride = this.PublicSymbolsFeedOverride, ArtifactsBasePath = this.ArtifactsBasePath, AzdoApiToken = this.AzdoApiToken, BuildId = this.BuildId, diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs index c9f2e7a0610..752bea08134 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs @@ -64,6 +64,8 @@ public class PublishArtifactsInManifestV3 : PublishArtifactsInManifestBase public string SymbolsFeedOverride { get; set; } + public string PublicSymbolsFeedOverride { get; set; } + public override bool Execute() { ExecuteAsync().GetAwaiter().GetResult(); @@ -160,6 +162,7 @@ public override async Task ExecuteAsync() AzureDevOpsFeedsKey, BuildEngine = this.BuildEngine, targetChannelConfig.SymbolTargetType, + azureDevOpsPublicStaticSymbolsFeed: PublicSymbolsFeedOverride, filesToExclude: targetChannelConfig.FilenamesToExclude, flatten: targetChannelConfig.Flatten); diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs index 58eb22fb996..b98e91740c4 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs @@ -29,6 +29,8 @@ public class SetupTargetFeedConfigV3 : SetupTargetFeedConfigBase private string StableSymbolsFeed { get; set; } + private string AzureDevOpsPublicStaticSymbolsFeed { get; set; } + private SymbolTargetType SymbolTargetType { get; set; } private List FilesToExclude { get; } @@ -54,6 +56,7 @@ public SetupTargetFeedConfigV3(bool isInternalBuild, SymbolTargetType symbolTargetType, string stablePackagesFeed = null, string stableSymbolsFeed = null, + string azureDevOpsPublicStaticSymbolsFeed = null, List filesToExclude = null, bool flatten = true) : base(isInternalBuild, isStableBuild, repositoryName, commitSha, azureStorageTargetFeedPAT, publishInstallersAndChecksums, installersTargetStaticFeed, installersAzureAccountKey, checksumsTargetStaticFeed, checksumsAzureAccountKey, azureDevOpsStaticShippingFeed, azureDevOpsStaticTransportFeed, azureDevOpsStaticSymbolsFeed, latestLinkShortUrlPrefix, azureDevOpsFeedsKey) @@ -62,6 +65,7 @@ public SetupTargetFeedConfigV3(bool isInternalBuild, StableSymbolsFeed = stableSymbolsFeed; StablePackagesFeed = stablePackagesFeed; SymbolTargetType = symbolTargetType; + AzureDevOpsPublicStaticSymbolsFeed = azureDevOpsPublicStaticSymbolsFeed; FilesToExclude = filesToExclude ?? new List(); Flatten = flatten; } @@ -159,6 +163,12 @@ private List NonStableFeeds() symbolsFeedType = FeedType.AzDoNugetFeed; symbolsFeedSecret = AzureDevOpsFeedsKey; } + else if (!string.IsNullOrEmpty(AzureDevOpsPublicStaticSymbolsFeed)) + { + symbolsFeed = AzureDevOpsPublicStaticSymbolsFeed; + symbolsFeedType = FeedType.AzDoNugetFeed; + symbolsFeedSecret = AzureDevOpsFeedsKey; + } else { symbolsFeed = PublishingConstants.LegacyDotNetBlobFeedURL; From d8c394ae59d9192c964038e3a16c3b41a62ba94c Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Thu, 6 May 2021 12:08:13 -0700 Subject: [PATCH 2/2] Quick fix --- .../src/PublishArtifactsInManifestV3.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs index 752bea08134..1f8f61d3f2c 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs @@ -162,7 +162,7 @@ public override async Task ExecuteAsync() AzureDevOpsFeedsKey, BuildEngine = this.BuildEngine, targetChannelConfig.SymbolTargetType, - azureDevOpsPublicStaticSymbolsFeed: PublicSymbolsFeedOverride, + azureDevOpsPublicStaticSymbolsFeed: GetFeed(null, PublicSymbolsFeedOverride), filesToExclude: targetChannelConfig.FilenamesToExclude, flatten: targetChannelConfig.Flatten);