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..1f8f61d3f2c 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: GetFeed(null, 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;