diff --git a/Directory.Packages.props b/Directory.Packages.props
index df19d1c9e83..998fec90a2e 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -14,7 +14,7 @@
2.9.2
- 2.0.0
+ 2.0.1
1.16.0
$(XUnitVersion)
3.0.2
diff --git a/Documentation/UnifiedBuild/Flat-Flow-Migration-Guide.md b/Documentation/UnifiedBuild/Flat-Flow-Migration-Guide.md
index 44ae081a221..285861c2b80 100644
--- a/Documentation/UnifiedBuild/Flat-Flow-Migration-Guide.md
+++ b/Documentation/UnifiedBuild/Flat-Flow-Migration-Guide.md
@@ -185,6 +185,18 @@ graph TD
The `runtime` and `arcade` dependencies will flow into `winforms` through the VMR, and the `winforms-assets` dependency will still flow directly into `winforms` (as it's not part of the VMR). The `winforms-tests` repository will newly depend on the VMR instead of `winforms` and will get its packages from the VMR.
+## Potential rollback plan
+
+We will consider rolling back the subscription changes if we see that the codeflow PRs contain changes that don't belong there, if the backflow PRs contain unexpected changes or if we see general problems with adoption of the flat flow in the product repositories.
+In such case, we will re-enable the original subscriptions and disable the codeflow ones.
+
+## Expected downtime
+
+The migration should happen within few (<4) hours after which we will keep monitoring all the dependency PRs in the product repositories.
+Developers can keep merging code as usual during this time and their productivity should not be affected.
+The only affected process will be the current VMR one-way synchronization which will be disabled at the begining of the migration.
+We also expect potential minor problems in PRs against the `main` branch of `dotnet/sdk` which might need to be rebased on top of `main` again to pick up new infrastructural changes in that repo.
+
## FAQ
### How can I see dependency subscriptions for my repository?
diff --git a/Documentation/UnifiedBuild/VMR-Arcade-Official-Build.md b/Documentation/UnifiedBuild/VMR-Arcade-Official-Build.md
new file mode 100644
index 00000000000..7f182040773
--- /dev/null
+++ b/Documentation/UnifiedBuild/VMR-Arcade-Official-Build.md
@@ -0,0 +1,22 @@
+# Arcade Official Build in the time of VMR - One Pager
+
+## Introduction
+This document outlines the plan and decisions made regarding the official build and validation process for Arcade. The purpose is to ensure that Arcade continues to support both VMR (Virtual Mono Repository) and non-VMR consumers effectively while maintaining the stability and reliability of the .NET ecosystem.
+
+## Plan Summary
+- **Arcade will keep its official build process.**
+- **Arcade's validation process will remain as it is, ensuring the integrity of the publishing process and some minimal verification.**
+- **Potential future enhancement to include VMR validation for Arcade changes, to be implemented reactively.**
+
+## Discussion Points
+- The main discussion revolved around whether Arcade should retain its official build or be produced by the VMR (Virtual Mono Repository).
+- Concerns were raised about the validation process, the impact on consumers both within and outside the VMR, and the potential complications of breaking changes.
+- The current model of Arcade validation and its importance in ensuring the integrity of the publishing process was highlighted.
+
+## Key Decisions
+- **Arcade Official Build:** Arcade will retain its official build process. This decision is based on the need to support consumers outside the VMR and to avoid potential complications with the VMR schedule.
+- **Arcade Validation:** The existing Arcade validation build will be maintained. This includes the validation of publishing processes and ensuring that changes do not break the overall .NET ecosystem.
+- **Future Validation Enhancements:** There is a plan to potentially introduce additional validation by running full VMR builds against code changes in Arcade. This will be implemented reactively, based on the occurrence of issues, rather than proactively.
+
+## Next Steps
+- **Monitoring:** The team will monitor the situation and be prepared to implement additional VMR validation if frequent issues arise with Arcade updates.
diff --git a/eng/Publishing.props b/eng/Publishing.props
index 9454e90710a..b8fd6d23e2b 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -1,5 +1,8 @@
-
- 3
-
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index e97548a1c09..6cad428fd2f 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -6,9 +6,9 @@
-
+
https://github.com/microsoft/ApplicationInsights-dotnet
- 43825e06a22cdfb702fc199a7ba99a7d541d48c6
+ 2faa7e8b157a431daa2e71785d68abd5fa817b53
https://github.com/dotnet/roslyn
@@ -22,25 +22,25 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-symuploader
d617bc8ed2787c235a57cf0dcdfd087b86ff9521
-
+
https://github.com/dotnet/templating
- a47fb20784a5a260015d7b919c0fd42a532861d3
+ af563dedf99dc8a9a48fa51d0fe8c3c0c8cfb42c
-
+
https://github.com/dotnet/arcade
- d33398b1de7f4fa61602fdf339f2f64e7b159326
+ 85aaca76f75b109aa45b9e949f4a1c9047725d09
-
+
https://github.com/dotnet/arcade
- d33398b1de7f4fa61602fdf339f2f64e7b159326
+ 85aaca76f75b109aa45b9e949f4a1c9047725d09
-
+
https://github.com/dotnet/arcade-services
- 30f76f71412c533d9d4519d1373eee0c0c736113
+ 12325350db8e98fdc95a6506e4afcef7a4cbb62e
-
+
https://github.com/dotnet/arcade-services
- 30f76f71412c533d9d4519d1373eee0c0c736113
+ 12325350db8e98fdc95a6506e4afcef7a4cbb62e
https://github.com/dotnet/xharness
@@ -132,15 +132,15 @@
ef4c24166691977558e5312758df4313ab310dc0
-
+
https://github.com/dotnet/arcade
- d33398b1de7f4fa61602fdf339f2f64e7b159326
+ 85aaca76f75b109aa45b9e949f4a1c9047725d09
-
+
https://github.com/dotnet/command-line-api
- 5ea97af07263ea3ef68a18557c8aa3f7e3200bda
+ e9b0511d7f1128e2bc3be7a658a2a4ea977e602d
@@ -162,15 +162,15 @@
-
+
https://github.com/dotnet/source-build-externals
- 195acd39568d33ef6e1021c391ed3c3130f0c791
+ ebe6fe9cc5b8b9c87cb218b35514bf9d04475047
-
+
https://github.com/dotnet/source-build-reference-packages
- 8a21184a27103ca3e365b21553e32f2a1c0661d3
+ 432b22e3cdaf69c011358a44e61959769b2f607c
@@ -178,9 +178,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
990ebf52fc408ca45929fd176d2740675a67fab8
-
+
https://github.com/dotnet/command-line-api
- 5ea97af07263ea3ef68a18557c8aa3f7e3200bda
+ e9b0511d7f1128e2bc3be7a658a2a4ea977e602d
diff --git a/eng/Versions.props b/eng/Versions.props
index b3959463347..fb9cc43c296 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -23,10 +23,10 @@
9.0.0-beta.24223.1
- 1.1.0-beta.25208.1
- 1.1.0-beta.25208.1
+ 1.1.0-beta.25216.6
+ 1.1.0-beta.25216.6
- 2.0.0-beta4.24126.1
+ 2.0.0-beta5.25210.1
4.3.0
@@ -44,11 +44,11 @@
- 6.11.0
- 6.11.0
- 6.11.0
- 6.11.0
- 6.11.0
+ 6.13.2
+ 6.13.2
+ 6.13.2
+ 6.13.2
+ 6.13.2
4.8.0
4.8.0
@@ -87,7 +87,7 @@
9.0.100-preview.6.24328.19
- 2.22.0
+ 2.23.0
13.0.3
1.1.0-beta2-19575-01
@@ -95,7 +95,7 @@
8.0.0-preview.24461.2
- 10.0.100-preview.4.25206.2
+ 10.0.100-preview.4.25217.1
17.5.0
diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml
index 3d2deaa4a06..e653d19971c 100644
--- a/eng/common/core-templates/jobs/jobs.yml
+++ b/eng/common/core-templates/jobs/jobs.yml
@@ -27,6 +27,9 @@ parameters:
# Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage.
publishAssetsImmediately: false
+ # Optional: 🌤️ or not the build has assets it wants to publish to BAR
+ isAssetlessBuild: false
+
# Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml)
artifactsPublishingAdditionalParameters: ''
signingValidationAdditionalParameters: ''
@@ -110,6 +113,7 @@ jobs:
runAsPublic: ${{ parameters.runAsPublic }}
publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }}
+ isAssetlessBuild: ${{ parameters.isAssetlessBuild }}
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }}
diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml
index d0422085cb1..2bcf974ee15 100644
--- a/eng/common/core-templates/steps/install-microbuild.yml
+++ b/eng/common/core-templates/steps/install-microbuild.yml
@@ -11,30 +11,6 @@ parameters:
steps:
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
- # Install Python 3.12.x on when Python > 3.12.x is installed - https://github.com/dotnet/source-build/issues/4802
- - script: |
- version=$(python3 --version | awk '{print $2}')
- major=$(echo $version | cut -d. -f1)
- minor=$(echo $version | cut -d. -f2)
-
- installPython=false
- if [ "$major" -gt 3 ] || { [ "$major" -eq 3 ] && [ "$minor" -gt 12 ]; }; then
- installPython=true
- fi
-
- echo "Python version: $version."
- echo "Install Python 3.12.x: $installPython."
- echo "##vso[task.setvariable variable=installPython;isOutput=true]$installPython"
- name: InstallPython
- displayName: 'Determine Python installation'
- condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
-
- - task: UsePythonVersion@0
- inputs:
- versionSpec: '3.12.x'
- displayName: 'Use Python 3.12.x'
- condition: and(succeeded(), eq(variables['InstallPython.installPython'], 'true'), ne(variables['Agent.Os'], 'Windows_NT'))
-
# Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable
- task: UseDotNet@2
displayName: Install .NET 8.0 SDK for MicroBuild Plugin
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index ab2b13f63fb..a9d2a2d2699 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -6,12 +6,13 @@ Param(
[string] $msbuildEngine = $null,
[switch] $restore,
[switch] $prepareMachine,
+ [switch][Alias('nobl')]$excludeCIBinaryLog,
[switch] $help,
[Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
)
$ci = $true
-$binaryLog = $true
+$binaryLog = if ($excludeCIBinaryLog) { $false } else { $true }
$warnAsError = $true
. $PSScriptRoot\tools.ps1
@@ -27,6 +28,7 @@ function Print-Usage() {
Write-Host "Advanced settings:"
Write-Host " -prepareMachine Prepare machine for CI run"
Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
+ Write-Host " -excludeCIBinaryLog When running on CI, allow no binary log (short: -nobl)"
Write-Host ""
Write-Host "Command line arguments not listed above are passed thru to msbuild."
}
@@ -34,10 +36,11 @@ function Print-Usage() {
function Build([string]$target) {
$logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" }
$log = Join-Path $LogDir "$task$logSuffix.binlog"
+ $binaryLogArg = if ($binaryLog) { "/bl:$log" } else { "" }
$outputPath = Join-Path $ToolsetDir "$task\"
MSBuild $taskProject `
- /bl:$log `
+ $binaryLogArg `
/t:$target `
/p:Configuration=$configuration `
/p:RepoRoot=$RepoRoot `
diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh
index b9b9e58db9a..2f83adc0269 100755
--- a/eng/common/sdk-task.sh
+++ b/eng/common/sdk-task.sh
@@ -7,6 +7,10 @@ show_usage() {
echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]"
echo " --help Print help and exit"
echo ""
+
+ echo "Advanced settings:"
+ echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
+ echo ""
echo "Command line arguments not listed above are passed thru to msbuild."
}
@@ -27,10 +31,12 @@ Build() {
local log_suffix=""
[[ "$target" != "Execute" ]] && log_suffix=".$target"
local log="$log_dir/$task$log_suffix.binlog"
+ local binaryLogArg=""
+ [[ $binary_log == true ]] && binaryLogArg="/bl:$log"
local output_path="$toolset_dir/$task/"
MSBuild "$taskProject" \
- /bl:"$log" \
+ $binaryLogArg \
/t:"$target" \
/p:Configuration="$configuration" \
/p:RepoRoot="$repo_root" \
@@ -39,8 +45,10 @@ Build() {
$properties
}
+binary_log=true
configuration="Debug"
verbosity="minimal"
+exclude_ci_binary_log=false
restore=false
help=false
properties=''
@@ -60,6 +68,11 @@ while (($# > 0)); do
verbosity=$2
shift 2
;;
+ --excludecibinarylog|--nobl)
+ binary_log=false
+ exclude_ci_binary_log=true
+ shift 1
+ ;;
--help)
help=true
shift 1
@@ -72,7 +85,6 @@ while (($# > 0)); do
done
ci=true
-binaryLog=true
warnAsError=true
if $help; then
diff --git a/global.json b/global.json
index 62f5de4f4d8..c5b1460b036 100644
--- a/global.json
+++ b/global.json
@@ -7,8 +7,8 @@
"dotnet": "10.0.100-preview.3.25201.16"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25208.5",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25208.5",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25216.2",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25216.2",
"Microsoft.Build.NoTargets": "3.7.0"
}
}
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props
index 283f1d68f10..b3665fd83eb 100644
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props
@@ -89,6 +89,9 @@
$(XUnitVersion)
3.0.2
+ 2.0.1
+ 1.6.3
+
3.8.3
$(MSTestVersion)
$(MSTestVersion)
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
index ad9f28f9abc..bc149ea328f 100644
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
@@ -85,7 +85,10 @@
property as it is used by other repositories already. -->
BeforePublish;AutoGenerateSymbolPackages
- assets/symbols/$(BUILD_REPOSITORY_NAME)/$(BUILD_BUILDNUMBER)/
+ assets/symbols/
+ $(SymbolPackageBaseRelativeBlobPath)$(BUILD_REPOSITORY_NAME)/
+ $(SymbolPackageBaseRelativeBlobPath)$(GitHubRepositoryName)/
+ $(SymbolPackageBaseRelativeBlobPath)$(BUILD_BUILDNUMBER)/
@@ -139,6 +142,8 @@
<_ExistingSymbolPackage Include="@(Artifact)" Condition="'$(DotNetBuildSourceOnly)' != 'true' and '%(Artifact.SkipPublish)' != 'true' and $([System.String]::Copy('%(Filename)%(Extension)').EndsWith('.symbols.nupkg'))">
Blob
+
+ Symbols
$(SymbolPackageBaseRelativeBlobPath)%(Filename)%(Extension)
<_PackageToPublish Include="@(Artifact)" Exclude="@(_ExistingSymbolPackage)" Condition="'%(Artifact.SkipPublish)' != 'true' and '%(Extension)' == '.nupkg'" />
@@ -176,7 +181,7 @@
<_PackageToPublish Update="@(_PackageToPublish)">
$(SymbolPackagesDir)%(Filename).symbols.nupkg
- $(SymbolPackageBaseRelativeBlobPath)/%(Filename).symbols.nupkg
+ $(SymbolPackageBaseRelativeBlobPath)%(Filename).symbols.nupkg
<_SymbolPackageToGenerate Include="@(_PackageToPublish->'%(SymbolPackageToGenerate)')"
@@ -185,6 +190,7 @@
%(_PackageToPublish.Identity)
%(_PackageToPublish.IsShipping)
Blob
+ Symbols
%(_PackageToPublish.SymbolPackageRelativeBlobPath)
@@ -312,6 +318,13 @@
+
+
+
+ %(ItemsToPushToBlobFeed.ManifestArtifactData);Category=%(ItemsToPushToBlobFeed.Category)
+
+
+
%(ItemsToPushToBlobFeed.ManifestArtifactData);Visibility=%(ItemsToPushToBlobFeed.Visibility)
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props
index f79111d3e57..25f911cb753 100644
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props
@@ -29,7 +29,10 @@
-
+
+
+
+
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.targets
index 168c3991a9d..8ae93d3051f 100644
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.targets
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.targets
@@ -1,5 +1,5 @@
-
+
true
@@ -23,8 +23,7 @@
$(MSBuildThisFileDirectory)$(TestRunnerName)\$(TestRunnerName).targets
-
+
@@ -33,8 +32,8 @@
x64
-
-
+
+
<_TestArchitectureItems Include="$(TestArchitectures)" />
@@ -44,6 +43,7 @@
@@ -71,6 +71,8 @@
$(TestResultsLogDir)$(_ResultFileNameNoExt).log
$(TestRunSettingsFile)
$(TestRunnerAdditionalArguments)
+ $(RunArguments)
+ $(RunCommand)
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VSTest.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VSTest.targets
index 35564525a5c..fcc64fff4e7 100644
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VSTest.targets
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/VSTest.targets
@@ -4,6 +4,9 @@
+
+
+
<_TestEnvironment>%(TestToRun.EnvironmentDisplay)
<_TestAssembly>%(TestToRun.Identity)
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.Runner.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.Runner.targets
new file mode 100644
index 00000000000..f60168b4dfe
--- /dev/null
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.Runner.targets
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+ <_TestResultDirectory>$([System.IO.Path]::GetDirectoryName('%(TestToRun.ResultsTrxPath)'))
+ <_TestResultTrxFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsTrxPath)'))
+ <_TestResultXmlFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsXmlPath)'))
+ <_TestResultHtmlFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsHtmlPath)'))
+
+
+
+ <_TestEnvironment>%(TestToRun.EnvironmentDisplay)
+ <_TestAssembly>%(TestToRun.Identity)
+ <_TestRuntime>%(TestToRun.TestRuntime)
+ <_TestTimeout>%(TestToRun.TestTimeout)
+ <_TestRunnerAdditionalArguments>%(TestToRun.TestRunnerAdditionalArguments)
+
+ <_TestRunner>%(TestToRun.RunCommand)
+ <_TestRunnerArgs Condition="'$(UseMicrosoftTestingPlatformRunner)' != 'true'">%(TestToRun.RunArguments) $(_TestRunnerAdditionalArguments) -xml "%(TestToRun.ResultsXmlPath)" -html "%(TestToRun.ResultsHtmlPath)" -trx "%(TestToRun.ResultsTrxPath)"
+ <_TestRunnerArgs Condition="'$(UseMicrosoftTestingPlatformRunner)' == 'true'">%(TestToRun.RunArguments) $(_TestRunnerAdditionalArguments) --results-directory "$(_TestResultDirectory)" --report-xunit --report-xunit-filename "$(_TestResultXmlFileName)" --report-xunit-html --report-xunit-html-filename "$(_TestResultHtmlFileName)" --report-trx --report-trx-filename "$(_TestResultTrxFileName)"
+
+ $(DotNetRoot)
+
+
+
+ <_TestRunnerArgs Condition="'$(UseMicrosoftTestingPlatformRunner)' != 'true'">$(_TestRunnerArgs) -noAutoReporters
+ <_TestRunnerArgs Condition="'$(UseMicrosoftTestingPlatformRunner)' == 'true'">$(_TestRunnerArgs) --auto-reporters off
+
+
+
+ <_TestRunnerCommand>"$(_TestRunner)" $(_TestRunnerArgs)
+
+
+ <_TestRunnerCommand Condition="'$(TestCaptureOutput)' != 'false'">$(_TestRunnerCommand) >> "%(TestToRun.ResultsStdOutPath)" 2>&1
+
+
+
+ <_OutputFiles Include="%(TestToRun.ResultsXmlPath)" />
+ <_OutputFiles Include="%(TestToRun.ResultsHtmlPath)" />
+ <_OutputFiles Include="%(TestToRun.ResultsStdOutPath)" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ResultsFileToDisplay>%(TestToRun.ResultsHtmlPath)
+ <_ResultsFileToDisplay Condition="!Exists('$(_ResultsFileToDisplay)')">%(TestToRun.ResultsStdOutPath)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.targets
new file mode 100644
index 00000000000..e8e529cec4a
--- /dev/null
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/XUnitV3.targets
@@ -0,0 +1,47 @@
+
+
+
+
+ false
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(MSBuildThisFileDirectory)xunit.runner.json
+ $(MSBuildThisFileDirectory)xunit.runner.json
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/xunit.runner.json b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/xunit.runner.json
new file mode 100644
index 00000000000..8465a454364
--- /dev/null
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnitV3/xunit.runner.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
+ "shadowCopy": false
+}
diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs
index 19b75a9d8bf..14396ab10a4 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs
@@ -39,20 +39,6 @@ public class SetupTargetFeedConfigV3Tests
"secondfilename"
);
- private readonly List InstallersAndSymbols = new List() {
- TargetFeedContentType.OSX,
- TargetFeedContentType.Deb,
- TargetFeedContentType.Rpm,
- TargetFeedContentType.Node,
- TargetFeedContentType.BinaryLayout,
- TargetFeedContentType.Installer,
- TargetFeedContentType.Maven,
- TargetFeedContentType.VSIX,
- TargetFeedContentType.Badge,
- TargetFeedContentType.Symbols,
- TargetFeedContentType.Other
- };
-
private readonly ITaskItem[] FeedKeys = GetFeedKeys();
private static ITaskItem[] GetFeedKeys()
@@ -89,20 +75,38 @@ public void StableFeeds(bool publishInstallersAndChecksums, bool isInternalBuild
{
var expectedFeeds = new List();
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- StablePackageFeed,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- isolated: true,
- @internal: isInternalBuild,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ foreach (var contentType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ StablePackageFeed,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ isolated: true,
+ @internal: isInternalBuild,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: isInternalBuild,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
expectedFeeds.Add(
new TargetFeedConfig(
@@ -119,24 +123,9 @@ public void StableFeeds(bool publishInstallersAndChecksums, bool isInternalBuild
allowOverwrite: false,
symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: isInternalBuild,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
-
if (publishInstallersAndChecksums)
{
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
if (contentType == TargetFeedContentType.Symbols)
{
@@ -206,37 +195,40 @@ public void NonStableAndInternal(bool publishInstallersAndChecksums)
{
var expectedFeeds = new List();
- expectedFeeds.Add(new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- isolated: false,
- @internal: true,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
-
- expectedFeeds.Add(new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: true,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ foreach (var packageType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(new TargetFeedConfig(
+ packageType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ isolated: false,
+ @internal: true,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+
+ expectedFeeds.Add(new TargetFeedConfig(
+ packageType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: true,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
if (publishInstallersAndChecksums)
{
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
expectedFeeds.Add(
new TargetFeedConfig(
@@ -317,39 +309,42 @@ public void NonStableAndPublic(bool publishInstallersAndChecksums)
{
var expectedFeeds = new List();
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [ $"{LatestLinkShortUrlPrefix}/{BuildQuality}" ],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- isolated: false,
- @internal: false,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ foreach (var packageType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ packageType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ isolated: false,
+ @internal: false,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: false,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ packageType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: false,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
if (publishInstallersAndChecksums)
{
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
expectedFeeds.Add(
new TargetFeedConfig(
diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV4Tests.cs b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV4Tests.cs
index f0f22c115db..c5216438e3a 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV4Tests.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV4Tests.cs
@@ -40,20 +40,6 @@ public class SetupTargetFeedConfigV4Tests
"secondfilename"
);
- private readonly List InstallersAndSymbols = new List() {
- TargetFeedContentType.OSX,
- TargetFeedContentType.Deb,
- TargetFeedContentType.Rpm,
- TargetFeedContentType.Node,
- TargetFeedContentType.BinaryLayout,
- TargetFeedContentType.Installer,
- TargetFeedContentType.Maven,
- TargetFeedContentType.VSIX,
- TargetFeedContentType.Badge,
- TargetFeedContentType.Symbols,
- TargetFeedContentType.Other
- };
-
private readonly ITaskItem[] FeedKeys = GetFeedKeys();
private static ITaskItem[] GetFeedKeys()
@@ -91,9 +77,11 @@ public void StableFeeds(bool isInternalBuild)
var expectedFeeds = new List();
- expectedFeeds.Add(
+ foreach (var contentType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(
new TargetFeedConfig(
- TargetFeedContentType.Package,
+ contentType,
StablePackageFeed,
FeedType.AzDoNugetFeed,
AzureDevOpsFeedsKey,
@@ -106,37 +94,38 @@ public void StableFeeds(bool isInternalBuild)
allowOverwrite: false,
symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- isolated: false,
- @internal: isInternalBuild,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ isolated: false,
+ @internal: isInternalBuild,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: isInternalBuild,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: isInternalBuild,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
expectedFeeds.Add(
new TargetFeedConfig(
@@ -200,8 +189,10 @@ public void NonStableAndInternal()
var expectedFeeds = new List();
- expectedFeeds.Add(new TargetFeedConfig(
- TargetFeedContentType.Package,
+ foreach (var contentType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(new TargetFeedConfig(
+ contentType,
PublishingConstants.FeedDotNetEng,
FeedType.AzDoNugetFeed,
AzureDevOpsFeedsKey,
@@ -214,21 +205,22 @@ public void NonStableAndInternal()
allowOverwrite: false,
symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: true,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ expectedFeeds.Add(new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: true,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
expectedFeeds.Add(
new TargetFeedConfig(
@@ -290,37 +282,40 @@ public void NonStableAndPublic()
var expectedFeeds = new List();
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- isolated: false,
- @internal: false,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ foreach (var contentType in PublishingConstants.Packages)
+ {
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ isolated: false,
+ @internal: false,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
- expectedFeeds.Add(
- new TargetFeedConfig(
- TargetFeedContentType.Package,
- PublishingConstants.FeedDotNetEng,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
- akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.NonShippingOnly,
- isolated: false,
- @internal: false,
- allowOverwrite: false,
- symbolPublishVisibility: symbolVisibility));
+ expectedFeeds.Add(
+ new TargetFeedConfig(
+ contentType,
+ PublishingConstants.FeedDotNetEng,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ latestLinkShortUrlPrefixes: [$"{LatestLinkShortUrlPrefix}/{BuildQuality}"],
+ akaMSCreateLinkPatterns: PublishingConstants.DefaultAkaMSCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: PublishingConstants.DefaultAkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.NonShippingOnly,
+ isolated: false,
+ @internal: false,
+ allowOverwrite: false,
+ symbolPublishVisibility: symbolVisibility));
+ }
- foreach (var contentType in InstallersAndSymbols)
+ foreach (var contentType in PublishingConstants.InstallersAndSymbols)
{
expectedFeeds.Add(
new TargetFeedConfig(
diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/PublishingConstants.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/PublishingConstants.cs
index d5c4f1cbe10..95728f4f5b5 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/PublishingConstants.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/PublishingConstants.cs
@@ -47,6 +47,14 @@ public class PublishingConstants
TargetFeedContentType.Other
};
+ public static readonly TargetFeedContentType[] Packages = {
+ TargetFeedContentType.Package,
+ TargetFeedContentType.CorePackage,
+ TargetFeedContentType.ToolingPackage,
+ TargetFeedContentType.InfrastructurePackage,
+ TargetFeedContentType.LibraryPackage,
+ };
+
public enum BuildQuality
{
[Description("daily")]
@@ -127,80 +135,80 @@ public enum BuildQuality
private static TargetFeedSpecification[] DotNet6Feeds =
{
- (TargetFeedContentType.Package, FeedDotNet6Shipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet6Transport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet6Shipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet6Transport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet6InternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet6InternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet6InternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet6InternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet6InternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNet7Feeds =
{
- (TargetFeedContentType.Package, FeedDotNet7Shipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet7Transport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet7Shipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet7Transport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet7InternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet7InternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet7InternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet7InternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet7InternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNet8Feeds =
{
- (TargetFeedContentType.Package, FeedDotNet8Shipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet8Transport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet8Shipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet8Transport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet8WorkloadFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet8Workloads, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet8Workloads, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet8Workloads, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet8Workloads, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet8InternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet8InternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet8InternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet8InternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet8InternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNet9Feeds =
{
- (TargetFeedContentType.Package, FeedDotNet9Shipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet9Transport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet9Shipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet9Transport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet9InternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet9InternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet9InternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet9InternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet9InternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNet9WorkloadFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet9Workloads, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet9Workloads, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet9Workloads, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet9Workloads, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
@@ -209,94 +217,102 @@ public enum BuildQuality
{
(TargetFeedContentType.Package, FeedDotNet10Shipping, AssetSelection.ShippingOnly),
(TargetFeedContentType.Package, FeedDotNet10Transport, AssetSelection.NonShippingOnly),
+ (TargetFeedContentType.InfrastructurePackage, FeedDotNetEng, AssetSelection.ShippingOnly),
+ (TargetFeedContentType.InfrastructurePackage, FeedDotNetEng, AssetSelection.NonShippingOnly),
+ (TargetFeedContentType.CorePackage, FeedDotNet10Shipping, AssetSelection.ShippingOnly),
+ (TargetFeedContentType.CorePackage, FeedDotNet10Transport, AssetSelection.NonShippingOnly),
+ (TargetFeedContentType.LibraryPackage, FeedDotNetLibrariesShipping, AssetSelection.ShippingOnly),
+ (TargetFeedContentType.LibraryPackage, FeedDotNetLibrariesTransport, AssetSelection.NonShippingOnly),
+ (TargetFeedContentType.ToolingPackage, FeedDotNetTools, AssetSelection.ShippingOnly),
+ (TargetFeedContentType.ToolingPackage, FeedDotNetTools, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNet10InternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet10InternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet10InternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet10InternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet10InternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNet10WorkloadFeeds =
{
- (TargetFeedContentType.Package, FeedDotNet10Workloads, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNet10Workloads, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNet10Workloads, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNet10Workloads, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNetEngFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetEng, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetEng, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetEng, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetEng, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNetToolsFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetTools, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetTools, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetTools, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetTools, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNetToolsInternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetToolsInternal, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetToolsInternal, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetToolsInternal, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetToolsInternal, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNetExperimentalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetExperimental, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetExperimental, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetExperimental, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetExperimental, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNetExperimentalInternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetExperimentalInternal, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetExperimentalInternal, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetExperimentalInternal, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetExperimentalInternal, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] DotNetLibrariesFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetLibrariesShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetLibrariesTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetLibrariesShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetLibrariesTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] DotNetLibrariesInternalFeeds =
{
- (TargetFeedContentType.Package, FeedDotNetLibrariesInternalShipping, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedDotNetLibrariesInternalTransport, AssetSelection.NonShippingOnly),
+ (Packages, FeedDotNetLibrariesInternalShipping, AssetSelection.ShippingOnly),
+ (Packages, FeedDotNetLibrariesInternalTransport, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
private static TargetFeedSpecification[] GeneralTestingFeeds =
{
- (TargetFeedContentType.Package, FeedGeneralTesting, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedGeneralTesting, AssetSelection.NonShippingOnly),
+ (Packages, FeedGeneralTesting, AssetSelection.ShippingOnly),
+ (Packages, FeedGeneralTesting, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingForInstallers),
(TargetFeedContentType.Checksum, FeedStagingForChecksums),
};
private static TargetFeedSpecification[] GeneralTestingInternalFeeds =
{
- (TargetFeedContentType.Package, FeedGeneralTestingInternal, AssetSelection.ShippingOnly),
- (TargetFeedContentType.Package, FeedGeneralTestingInternal, AssetSelection.NonShippingOnly),
+ (Packages, FeedGeneralTestingInternal, AssetSelection.ShippingOnly),
+ (Packages, FeedGeneralTestingInternal, AssetSelection.NonShippingOnly),
(InstallersAndSymbols, FeedStagingInternalForInstallers),
(TargetFeedContentType.Checksum, FeedStagingInternalForChecksums),
};
@@ -323,6 +339,11 @@ public enum BuildQuality
new Regex(@"wixpack", RegexOptions.IgnoreCase),
];
+ private static readonly ImmutableList DotNet10AkaMSDoNotCreateLinkPatterns = [
+ ..DefaultAkaMSDoNotCreateLinkPatterns,
+ new Regex(@"productversion", RegexOptions.IgnoreCase)
+ ];
+
#region Target Channel Configs
public static readonly List ChannelInfos = new List() {
@@ -795,7 +816,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -806,7 +827,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: [ "10.0-workloads" ],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10WorkloadFeeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -817,7 +838,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: [ "10.0.1xx", "10.0" ],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -828,11 +849,9 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-ub", "10.0-ub"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
- symbolTargetType: SymbolPublishVisibility.Public,
- // Temporarily work around https://github.com/dotnet/source-build/issues/5004
- flatten: false),
+ symbolTargetType: SymbolPublishVisibility.Public),
// .NET 10 Preview 1,
new TargetChannelConfig(
@@ -841,7 +860,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -852,7 +871,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -863,7 +882,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview3"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -874,7 +893,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview4"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -885,7 +904,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview5"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -907,7 +926,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-preview7"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -918,7 +937,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-rc1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -929,7 +948,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["internal/10.0-rc1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10InternalFeeds,
symbolTargetType: SymbolPublishVisibility.Internal),
@@ -940,7 +959,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0-rc2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -951,7 +970,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["internal/10.0-rc2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10InternalFeeds,
symbolTargetType: SymbolPublishVisibility.Internal),
@@ -962,7 +981,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-rc1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -973,7 +992,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["internal/10.0.1xx-rc1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10InternalFeeds,
symbolTargetType: SymbolPublishVisibility.Internal),
@@ -984,7 +1003,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-rc2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -995,7 +1014,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["internal/10.0.1xx-rc2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10InternalFeeds,
symbolTargetType: SymbolPublishVisibility.Internal),
@@ -1006,7 +1025,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview1"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1017,7 +1036,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview2"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1028,7 +1047,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview3"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1039,7 +1058,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview4"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1050,7 +1069,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview5"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1061,7 +1080,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview6"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
@@ -1072,7 +1091,7 @@ public enum BuildQuality
publishingInfraVersion: PublishingInfraVersion.Latest,
akaMSChannelNames: ["10.0.1xx-preview7"],
akaMSCreateLinkPatterns: DefaultAkaMSCreateLinkPatterns,
- akaMSDoNotCreateLinkPatterns: DefaultAkaMSDoNotCreateLinkPatterns,
+ akaMSDoNotCreateLinkPatterns: DotNet10AkaMSDoNotCreateLinkPatterns,
targetFeeds: DotNet10Feeds,
symbolTargetType: SymbolPublishVisibility.Public),
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 cc0ce7a639b..877ed449385 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs
@@ -110,19 +110,22 @@ private IEnumerable Feeds()
CreateStablePackagesFeedIfNeeded();
CreateStableSymbolsFeedIfNeeded();
- yield return new TargetFeedConfig(
- TargetFeedContentType.Package,
- StablePackagesFeed,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- LatestLinkShortUrlPrefixes,
- _targetChannelConfig.AkaMSCreateLinkPatterns,
- _targetChannelConfig.AkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.ShippingOnly,
- symbolPublishVisibility: SymbolServerVisibility,
- isolated: true,
- @internal: IsInternalBuild,
- flatten: Flatten);
+ foreach (var packageType in PublishingConstants.Packages)
+ {
+ yield return new TargetFeedConfig(
+ packageType,
+ StablePackagesFeed,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ LatestLinkShortUrlPrefixes,
+ _targetChannelConfig.AkaMSCreateLinkPatterns,
+ _targetChannelConfig.AkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.ShippingOnly,
+ symbolPublishVisibility: SymbolServerVisibility,
+ isolated: true,
+ @internal: IsInternalBuild,
+ flatten: Flatten);
+ }
yield return new TargetFeedConfig(
TargetFeedContentType.Symbols,
@@ -152,20 +155,20 @@ private IEnumerable Feeds()
// If dealing with a stable build, the package feed targeted for shipping packages and symbols
// should be skipped, as it is added above.
- if (IsStableBuild && ((type is TargetFeedContentType.Package && spec.Assets == AssetSelection.ShippingOnly) || type is TargetFeedContentType.Symbols))
+ if (IsStableBuild && ((PublishingConstants.Packages.Contains(type) && spec.Assets == AssetSelection.ShippingOnly) || type is TargetFeedContentType.Symbols))
{
continue;
}
var oldFeed = spec.FeedUrl;
var feed = GetFeedOverride(oldFeed);
- if (type is TargetFeedContentType.Package &&
+ if (PublishingConstants.Packages.Contains(type) &&
spec.Assets == AssetSelection.NonShippingOnly &&
FeedOverrides.TryGetValue("transport-packages", out string newFeed))
{
feed = newFeed;
}
- else if (type is TargetFeedContentType.Package &&
+ else if (PublishingConstants.Packages.Contains(type) &&
spec.Assets == AssetSelection.ShippingOnly &&
FeedOverrides.TryGetValue("shipping-packages", out newFeed))
{
diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV4.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV4.cs
index abd47b2efac..997620c9c30 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV4.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV4.cs
@@ -109,34 +109,39 @@ private IEnumerable Feeds()
{
CreateStablePackagesFeedIfNeeded();
- yield return new TargetFeedConfig(
- TargetFeedContentType.Package,
- StablePackagesFeed,
- FeedType.AzDoNugetFeed,
- AzureDevOpsFeedsKey,
- LatestLinkShortUrlPrefixes,
- _targetChannelConfig.AkaMSCreateLinkPatterns,
- _targetChannelConfig.AkaMSDoNotCreateLinkPatterns,
- assetSelection: AssetSelection.CouldBeStable,
- symbolPublishVisibility: SymbolServerVisibility,
- isolated: true,
- @internal: IsInternalBuild,
- flatten: Flatten);
+ foreach (var packageType in PublishingConstants.Packages)
+ {
+ yield return new TargetFeedConfig(
+ packageType,
+ StablePackagesFeed,
+ FeedType.AzDoNugetFeed,
+ AzureDevOpsFeedsKey,
+ LatestLinkShortUrlPrefixes,
+ _targetChannelConfig.AkaMSCreateLinkPatterns,
+ _targetChannelConfig.AkaMSDoNotCreateLinkPatterns,
+ assetSelection: AssetSelection.CouldBeStable,
+ symbolPublishVisibility: SymbolServerVisibility,
+ isolated: true,
+ @internal: IsInternalBuild,
+ flatten: Flatten);
+ }
}
foreach (var spec in _targetChannelConfig.TargetFeeds)
{
foreach (var type in spec.ContentTypes)
{
+ // This code specifically has any package type to go to
+ // the override feed, rather than splitting them by content type.
var oldFeed = spec.FeedUrl;
var feed = GetFeedOverride(oldFeed);
- if (type is TargetFeedContentType.Package &&
+ if (PublishingConstants.Packages.Contains(type) &&
spec.Assets == AssetSelection.NonShippingOnly &&
FeedOverrides.TryGetValue("transport-packages", out string newFeed))
{
feed = newFeed;
}
- else if (type is TargetFeedContentType.Package &&
+ else if (PublishingConstants.Packages.Contains(type) &&
spec.Assets == AssetSelection.ShippingOnly &&
FeedOverrides.TryGetValue("shipping-packages", out newFeed))
{
diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/TargetFeedConfig.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/TargetFeedConfig.cs
index 1c329bfe402..b2f25c8fb4f 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/TargetFeedConfig.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/TargetFeedConfig.cs
@@ -162,7 +162,11 @@ public enum TargetFeedContentType
Maven = 512,
VSIX = 1024,
Badge = 2048,
- Other = 4096
+ Other = 4096,
+ InfrastructurePackage = 8192,
+ CorePackage = 16384,
+ LibraryPackage = 32768,
+ ToolingPackage = 65536
}
public enum SymbolPublishVisibility
diff --git a/src/Microsoft.DotNet.Deployment.Tasks.Links/src/AkaMSLinksManager.cs b/src/Microsoft.DotNet.Deployment.Tasks.Links/src/AkaMSLinksManager.cs
index 48366b99067..abba6087d45 100644
--- a/src/Microsoft.DotNet.Deployment.Tasks.Links/src/AkaMSLinksManager.cs
+++ b/src/Microsoft.DotNet.Deployment.Tasks.Links/src/AkaMSLinksManager.cs
@@ -20,8 +20,8 @@ namespace Microsoft.DotNet.Deployment.Tasks.Links
{
public class AkaMSLinkManager
{
- private const string ApiBaseUrl = "https://redirectionapi.trafficmanager.net/api/aka";
- private const string Endpoint = "https://microsoft.onmicrosoft.com/redirectionapi";
+ private const string ApiBaseUrl = "https://redirectionapi-ame.trafficmanager.net/api/aka";
+ private const string Endpoint = "https://msazurecloud.onmicrosoft.com/RedirectionMgmtApi-Prod";
private const string Authority = "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/authorize";
///
/// Aka.ms max links per batch request. There are two maximums:
diff --git a/src/Microsoft.DotNet.MacOsPkg/Cli/Program.cs b/src/Microsoft.DotNet.MacOsPkg/Cli/Program.cs
index 7a5ebdf23bc..7c9684e9ddb 100644
--- a/src/Microsoft.DotNet.MacOsPkg/Cli/Program.cs
+++ b/src/Microsoft.DotNet.MacOsPkg/Cli/Program.cs
@@ -27,20 +27,20 @@ public static int Main(string[] args)
return 1;
}
- CliRootCommand rootCommand = Setup();
- return new CliConfiguration(rootCommand).Invoke(args);
+ RootCommand rootCommand = Setup();
+ return new CommandLineConfiguration(rootCommand).Invoke(args);
}
///
/// Set up the command line interface and associated actions.
///
- /// Root cli command
- private static CliRootCommand Setup()
+ /// Root command
+ private static RootCommand Setup()
{
- var rootCommand = new CliRootCommand();
- var unpackSrcArgument = new CliArgument("src") { Description = "Source path of the .pkg or .app file" };
- var unpackDestinationArgument = new CliArgument("dst") { Description = "Destination path to unpack the file" };
- var unpackCommand = new CliCommand("unpack", "Unpack a .pkg or .app file")
+ var rootCommand = new RootCommand();
+ var unpackSrcArgument = new Argument("src") { Description = "Source path of the .pkg or .app file" };
+ var unpackDestinationArgument = new Argument("dst") { Description = "Destination path to unpack the file" };
+ var unpackCommand = new Command("unpack", "Unpack a .pkg or .app file")
{
Arguments = { unpackSrcArgument, unpackDestinationArgument }
};
@@ -51,9 +51,9 @@ private static CliRootCommand Setup()
return MacOsPkgCore.Unpack(srcPath, dstPath);
});
- var packSrcArgument = new CliArgument("src") { Description = "Source path to pack." };
- var packDstArgument = new CliArgument("dst") { Description = "Destination path of the .pkg or .app file." };
- var packCommand = new CliCommand("pack", "Pack a directory into a .pkg or .app file.")
+ var packSrcArgument = new Argument("src") { Description = "Source path to pack." };
+ var packDstArgument = new Argument("dst") { Description = "Destination path of the .pkg or .app file." };
+ var packCommand = new Command("pack", "Pack a directory into a .pkg or .app file.")
{
Arguments = { packSrcArgument, packDstArgument }
};
@@ -64,8 +64,8 @@ private static CliRootCommand Setup()
return MacOsPkgCore.Pack(srcPath, dstPath);
});
- var pkgOrAppArgument = new CliArgument("src") { Description = "Input pkg or app to verify." };
- var verifyCommand = new CliCommand("verify", "Verify that a pkg or app is signed.")
+ var pkgOrAppArgument = new Argument("src") { Description = "Input pkg or app to verify." };
+ var verifyCommand = new Command("verify", "Verify that a pkg or app is signed.")
{
Arguments = { pkgOrAppArgument }
};
diff --git a/src/VersionTools/Microsoft.DotNet.VersionTools.Cli/Program.cs b/src/VersionTools/Microsoft.DotNet.VersionTools.Cli/Program.cs
index aa609020c35..57f48fdcbe7 100644
--- a/src/VersionTools/Microsoft.DotNet.VersionTools.Cli/Program.cs
+++ b/src/VersionTools/Microsoft.DotNet.VersionTools.Cli/Program.cs
@@ -13,31 +13,31 @@ static int Main(string[] args)
{
//// Global options
- CliRootCommand rootCommand = new("Microsoft.DotNet.VersionTools.Cli v" + Environment.Version.ToString(2))
+ RootCommand rootCommand = new("Microsoft.DotNet.VersionTools.Cli v" + Environment.Version.ToString(2))
{
TreatUnmatchedTokensAsErrors = true
};
// Package command
- CliOption assetsDirectoryOption = new("--assets-path", "-d")
+ Option assetsDirectoryOption = new("--assets-path", "-d")
{
Description = "Path to the directory where the assets are located",
Required = true
};
- CliOption searchPatternOption = new("--search-pattern", "-s")
+ Option searchPatternOption = new("--search-pattern", "-s")
{
Description = "The search string to match against the names of subdirectories in --assets-path. See Directory.GetFiles for details.",
DefaultValueFactory = _ => "*.nupkg"
};
- CliOption recursiveOption = new("--recursive", "-r")
+ Option recursiveOption = new("--recursive", "-r")
{
Description = "Search for assets recursively.",
DefaultValueFactory = _ => true
};
- CliCommand trimAssetVersionCommand = new("trim-assets-version", "Trim versions from provided assets. Currently, only NuGet packages are supported.");
+ System.CommandLine.Command trimAssetVersionCommand = new("trim-assets-version", "Trim versions from provided assets. Currently, only NuGet packages are supported.");
trimAssetVersionCommand.Options.Add(assetsDirectoryOption);
trimAssetVersionCommand.Options.Add(searchPatternOption);
trimAssetVersionCommand.Options.Add(recursiveOption);
@@ -59,6 +59,6 @@ static int Main(string[] args)
});
rootCommand.Subcommands.Add(trimAssetVersionCommand);
- return new CliConfiguration(rootCommand).Invoke(args);
+ return new CommandLineConfiguration(rootCommand).Invoke(args);
}
}