Merge branch 'main' of https://github.com/dotnet/installer into TestProjectValidation

This commit is contained in:
Jackson Schuster 2024-03-18 15:41:30 -07:00
commit b076829716
46 changed files with 1770 additions and 836 deletions

View file

@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"microsoft.dotnet.darc": {
"version": "1.1.0-beta.24161.1",
"version": "1.1.0-beta.24168.3",
"commands": [
"darc"
]

View file

@ -27,4 +27,4 @@ vmr_branch=$(git -C "$installer_dir" log --pretty=format:'%D' HEAD^ \
"$workspace_dir/synchronize-vmr.sh" --branch "$vmr_branch" --debug
(cd "$vmr_dir" && ./eng/prep-source-build.sh)
(cd "$vmr_dir" && ./prep-source-build.sh)

View file

@ -1,3 +1,5 @@
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=286
trigger:
batch: true
branches:
@ -23,339 +25,369 @@ variables:
- group: DotNet-Installer-SDLValidation-Params
- name: _PublishUsingPipelines
value: true
- name: _InternalRuntimeDownloadArgs
value: ''
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- group: DotNetBuilds storage account read tokens
- name: _InternalRuntimeDownloadArgs
value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
/p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64)
- template: /eng/common/templates-official/variables/pool-providers.yml
- template: /eng/common/templates/variables/pool-providers.yml
resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
stages:
- stage: Build
jobs:
# This job is for build retry configuration.
- job: Publish_Build_Configuration
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals windows.vs2022preview.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
extends:
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
parameters:
containers:
alpine319WithNode:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
cblMariner20Fpm:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
centosStream8:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
debian11Amd64:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64
fedora39:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39
ubuntu2204:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
ubuntu2204CrossArmAlpine:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine
ubuntu2204DebPkg:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
sdl:
sourceAnalysisPool:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2022preview.amd64
steps:
- publish: $(Build.SourcesDirectory)\eng\buildConfiguration
artifact: buildConfiguration
displayName: Publish Build Config
## PR-only jobs
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
## Windows
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Debug_x64
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: true
## Linux
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Ubuntu_22_04_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Fedora_39_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_CentOS_8_Stream_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Debian_11_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64'
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:BuildSdkDeb=true'
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Debug
buildConfiguration: Debug
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
# Never run tests on arm64
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
buildConfiguration: Debug
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: true
# MacOS
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: true
## Official/PGO instrumentation Builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
## Windows
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Linux
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm_Release
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-arm'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine'
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-musl-arm'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-musl-arm64'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
buildConfiguration: Release
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Deb_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg'
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_Arm64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
# MacOS
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: false
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_arm64
runtimeIdentifier: 'osx-arm64'
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Windows PGO Instrumentation builds
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Linux PGO Instrumentation builds
- template: eng/build.yml
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
linuxPortable: true
runTests: false
- template: /eng/common/templates/jobs/source-build.yml
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: Publish
dependsOn:
- Build
jobs:
- template: /eng/common/templates/job/publish-build-assets.yml
parameters:
publishUsingPipelines: true
publishAssetsImmediately: true
image: 1es-windows-2022
os: windows
# https://docs.opensource.microsoft.com/tools/cg/component-detection/variables/
componentgovernance:
# This should be uncommented when a fix is available.
# See: https://dev.azure.com/mseng/1ES/_workitems/edit/2159448
# failOnAlert: false
# This should be removed when failOnAlert works properly.
ignoreDirectories: '.packages'
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: Build
jobs:
# Build Retry Configuration
- job: Publish_Build_Configuration
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
image: 1es-windows-2022-open
os: windows
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2022.amd64
image: 1es-windows-2022
os: windows
steps:
- task: 1ES.PublishPipelineArtifact@1
displayName: Publish Build Config
inputs:
targetPath: $(Build.SourcesDirectory)\eng\buildConfiguration
artifactName: buildConfiguration
# PR-only jobs
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
# Windows
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Debug_x64
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: true
# Linux
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Ubuntu_22_04_Debug_x64
container: ubuntu2204
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Fedora_39_Debug_x64
container: fedora39
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_CentOS_8_Stream_Debug_x64
container: centosStream8
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Debian_11_Debug_x64
container: debian11Amd64
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:BuildSdkDeb=true'
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm64_Debug
buildConfiguration: Debug
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
# Never run tests on arm64
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Debug_x64
container: alpine319WithNode
buildConfiguration: Debug
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: true
# MacOS
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: true
# Official/PGO instrumentation Builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
# Windows
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Linux
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm_Release
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-arm'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
container: ubuntu2204CrossArmAlpine
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-musl-arm'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-musl-arm64'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_x64
container: alpine319WithNode
buildConfiguration: Release
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Deb_Release_x64
container: ubuntu2204DebPkg
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_x64
container: cblMariner20Fpm
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_Arm64
container: cblMariner20Fpm
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
# MacOS
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_arm64
runtimeIdentifier: 'osx-arm64'
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Windows PGO Instrumentation
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Linux PGO Instrumentation
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
linuxPortable: true
runTests: false
# Source Build
- template: /eng/common/templates-official/jobs/source-build.yml@self
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: Publish
dependsOn:
- Build
jobs:
- template: /eng/common/templates-official/job/publish-build-assets.yml@self
parameters:
publishUsingPipelines: true
publishAssetsImmediately: true
pool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows

View file

@ -1,3 +1,5 @@
# Pipeline: https://dev.azure.com/dnceng-public/public/_build?definitionId=20
trigger:
batch: true
branches:
@ -59,7 +61,7 @@ stages:
## Windows
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
jobName: Build_Debug_x64
@ -70,7 +72,7 @@ stages:
## Linux
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Ubuntu_22_04_Debug_x64
@ -79,7 +81,7 @@ stages:
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Fedora_39_Debug_x64
@ -88,7 +90,7 @@ stages:
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_CentOS_8_Stream_Debug_x64
@ -97,7 +99,7 @@ stages:
buildArchitecture: x64
linuxPortable: false
runTests: true
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Debian_11_Debug_x64
@ -107,7 +109,7 @@ stages:
additionalBuildParameters: '/p:BuildSdkDeb=true'
linuxPortable: false
runTests: true
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Debug
@ -117,7 +119,7 @@ stages:
linuxPortable: true
# Never run tests on arm64
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Debug_x64
@ -129,7 +131,7 @@ stages:
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: true
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
@ -140,7 +142,7 @@ stages:
# MacOS
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
@ -154,7 +156,7 @@ stages:
## Windows
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x64
@ -162,14 +164,14 @@ stages:
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_arm64
@ -179,7 +181,7 @@ stages:
## Linux
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Arm_Release
@ -188,7 +190,7 @@ stages:
runtimeIdentifier: 'linux-arm'
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
@ -197,7 +199,7 @@ stages:
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
@ -208,7 +210,7 @@ stages:
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm64
@ -218,7 +220,7 @@ stages:
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_x64
@ -230,7 +232,7 @@ stages:
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Deb_Release_x64
@ -242,7 +244,7 @@ stages:
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_x64
@ -254,7 +256,7 @@ stages:
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_Arm64
@ -267,7 +269,7 @@ stages:
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
@ -278,14 +280,14 @@ stages:
# MacOS
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Darwin
jobName: Build_Release_arm64
@ -296,7 +298,7 @@ stages:
## Windows PGO Instrumentation builds
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
@ -305,7 +307,7 @@ stages:
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
@ -313,7 +315,7 @@ stages:
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
@ -324,7 +326,7 @@ stages:
## Linux PGO Instrumentation builds
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
pgoInstrument: true
@ -334,7 +336,7 @@ stages:
linuxPortable: true
runTests: false
- template: eng/build.yml
- template: eng/build-pr.yml
parameters:
agentOs: Linux
pgoInstrument: true

View file

@ -1,9 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
<Project>
<PropertyGroup>
<PublishingVersion>3</PublishingVersion>
</PropertyGroup>
<PropertyGroup>
<Product>Sdk</Product>
@ -135,7 +130,7 @@
<IsStableBuild Condition="'$(DotNetFinalVersionKind)' == 'release'">true</IsStableBuild>
</PropertyGroup>
<PushToAzureDevOpsArtifacts
<PushToBuildStorage
AzureDevOpsCollectionUri="$(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)"
AzureDevOpsProject="$(SYSTEM_TEAMPROJECT)"
AzureDevOpsBuildId="$(BUILD_BUILDID)"
@ -153,6 +148,12 @@
AssetManifestPath="$(InstallersAssetManifestFilePath)"
PublishFlatContainer="true"
IsStableBuild="$(IsStableBuild)"
PublishingVersion="3" />
PublishingVersion="3"
PushToLocalStorage="$(PushToLocalStorage)"
AssetsLocalStorageDir="$(SourceBuiltAssetsDir)"
ShippingPackagesLocalStorageDir="$(SourceBuiltShippingPackagesDir)"
NonShippingPackagesLocalStorageDir="$(SourceBuiltNonShippingPackagesDir)"
AssetManifestsLocalStorageDir="$(SourceBuiltAssetManifestsDir)" />
</Target>
</Project>

View file

@ -5,41 +5,41 @@
Source-build uses transitive dependency resolution to determine correct build SHA of all product contributing repos.
The order of dependencies is important and should not be modified without approval from dotnet/source-build-internal.
-->
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="9.0.0-preview.3.24161.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="9.0.0-preview.3.24163.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>44e12ece1bfc7800e8ec69f422eb60062de8b00e</Sha>
<Sha>ce44ae8e4ccfe04ff6d6447370c6038732d11439</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24161.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24163.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>44e12ece1bfc7800e8ec69f422eb60062de8b00e</Sha>
<Sha>ce44ae8e4ccfe04ff6d6447370c6038732d11439</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0" Version="9.0.0-preview.3.24161.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0" Version="9.0.0-preview.3.24163.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>44e12ece1bfc7800e8ec69f422eb60062de8b00e</Sha>
<Sha>ce44ae8e4ccfe04ff6d6447370c6038732d11439</Sha>
</Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="9.0.0-preview.3.24161.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="9.0.0-preview.3.24163.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>44e12ece1bfc7800e8ec69f422eb60062de8b00e</Sha>
<Sha>ce44ae8e4ccfe04ff6d6447370c6038732d11439</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.9.0" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.9.0" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<!-- Change blob version in GenerateLayout.targets if this is unpinned to service targeting pack -->
<!-- No new netstandard.library planned for 3.1 timeframe at this time. -->
@ -47,70 +47,70 @@
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.Platforms" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.runtime.linux-x64" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.runtime.linux-x64" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
<SourceBuild RepoName="runtime" ManagedOnly="false" />
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="dotnet-dev-certs" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-dev-certs" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="dotnet-user-jwts" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-jwts" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<Dependency Name="dotnet-user-secrets" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-secrets" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspnetcore" Version="9.0.0-preview.3.24161.11" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspnetcore" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>1ee58ec0d8837ac310c9ef9e784a35bf3027dbd5</Sha>
<Sha>268a2dfc29b33e3fdb73cbac6eb198c05314d77e</Sha>
<SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="9.0.100-preview.3.24162.5">
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="9.0.100-preview.3.24165.9">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>9df94f0bab218a74fa3746da91f19949a7c74eea</Sha>
<Sha>d6d51df25f85dfee1e04752ac8ac104e38d2667f</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="9.0.100-preview.3.24162.5">
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="9.0.100-preview.3.24165.9">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>9df94f0bab218a74fa3746da91f19949a7c74eea</Sha>
<Sha>d6d51df25f85dfee1e04752ac8ac104e38d2667f</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk" Version="9.0.100-preview.3.24162.5">
<Dependency Name="Microsoft.NET.Sdk" Version="9.0.100-preview.3.24165.9">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>9df94f0bab218a74fa3746da91f19949a7c74eea</Sha>
<Sha>d6d51df25f85dfee1e04752ac8ac104e38d2667f</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="9.0.100-preview.3.24162.5">
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="9.0.100-preview.3.24165.9">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>9df94f0bab218a74fa3746da91f19949a7c74eea</Sha>
<Sha>d6d51df25f85dfee1e04752ac8ac104e38d2667f</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.sdk" Version="9.0.100-preview.3.24162.5">
<Dependency Name="Microsoft.SourceBuild.Intermediate.sdk" Version="9.0.100-preview.3.24165.9">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>9df94f0bab218a74fa3746da91f19949a7c74eea</Sha>
<Sha>d6d51df25f85dfee1e04752ac8ac104e38d2667f</Sha>
<SourceBuild RepoName="sdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22406.1">
@ -129,71 +129,71 @@
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>becc4bd157cd6608b51a5ffe414a5d2de6330272</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.24158.2">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.24168.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>b27ce8a9d5b1931cb91cbc20a16d15bd7231c792</Sha>
<Sha>492de6f8db8c7f537119e4169bc2a4453eda6ccd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.9.0" Version="1.1.0-rc.24158.2">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.9.0" Version="1.1.0-rc.24168.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>b27ce8a9d5b1931cb91cbc20a16d15bd7231c792</Sha>
<Sha>492de6f8db8c7f537119e4169bc2a4453eda6ccd</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.test-templates" Version="1.1.0-rc.24158.2">
<Dependency Name="Microsoft.SourceBuild.Intermediate.test-templates" Version="1.1.0-rc.24168.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>b27ce8a9d5b1931cb91cbc20a16d15bd7231c792</Sha>
<Sha>492de6f8db8c7f537119e4169bc2a4453eda6ccd</Sha>
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
</Dependency>
<!-- For coherency purposes, these versions should be gated by the versions of winforms and wpf routed via windowsdesktop -->
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="9.0.0-preview.3.24160.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="9.0.0-preview.3.24163.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/winforms</Uri>
<Sha>bfc23d4c7b17ab3ece28faedd603501e2ada9d6c</Sha>
<Sha>ebb882931caa199ae9f797b341cebbdcee3be2d3</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="9.0.0-preview.3.24161.5" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="9.0.0-preview.3.24163.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/wpf</Uri>
<Sha>09e859df29f1f8775155b65f39b3bbf9c27e0a02</Sha>
<Sha>99172edf1f51a488d63119671dae80203e569a6f</Sha>
</Dependency>
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.300-beta.24161.10" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.300-beta.24163.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>212eaf7fac2d837c51dc49e477a599ebea68338b</Sha>
<Sha>2c03643199368f07a3326709fc68abcbfc482a06</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="8.0.300-beta.24161.10" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="8.0.300-beta.24163.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>212eaf7fac2d837c51dc49e477a599ebea68338b</Sha>
<Sha>2c03643199368f07a3326709fc68abcbfc482a06</Sha>
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.10.0-preview-24158-06" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.10.0-preview-24163-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/microsoft/vstest</Uri>
<Sha>316167369cea59e0ad6ece2a39d94a3a6d49cf12</Sha>
<Sha>c609e2c022b0087b227436a4debf45525eed00e9</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.vstest" Version="17.10.0-preview-24158-06" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.vstest" Version="17.10.0-preview-24163-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/microsoft/vstest</Uri>
<Sha>316167369cea59e0ad6ece2a39d94a3a6d49cf12</Sha>
<Sha>c609e2c022b0087b227436a4debf45525eed00e9</Sha>
<SourceBuild RepoName="vstest" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="9.0.0-preview.3.24161.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="9.0.0-preview.3.24162.31" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>efa2b78175388a656893d0e9becc408d99afe445</Sha>
<Sha>596a1f7b6429fc06cf71465238cb349cab4edc35</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.10.0-3.24161.10" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.10.0-3.24164.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>c3565da812d99adf841cb96a764a27d8a93e22ef</Sha>
<Sha>711e122c86db37658d2924f2499c775ce6007b68</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.roslyn" Version="4.10.0-3.24161.10" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.roslyn" Version="4.10.0-3.24164.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>c3565da812d99adf841cb96a764a27d8a93e22ef</Sha>
<Sha>711e122c86db37658d2924f2499c775ce6007b68</Sha>
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24161-02" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24164-03" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>276f781fa868f553bed33a0a01fc54108c84c672</Sha>
<Sha>0764e8979bd4e98c85d0ef9ef8220a8b52bfe4b3</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.10.0-preview-24161-02" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.10.0-preview-24164-03" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>276f781fa868f553bed33a0a01fc54108c84c672</Sha>
<Sha>0764e8979bd4e98c85d0ef9ef8220a8b52bfe4b3</Sha>
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="NuGet.Build.Tasks" Version="6.10.0-preview.2.78" CoherentParentDependency="Microsoft.NET.Sdk">
@ -226,9 +226,9 @@
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="9.0.0-alpha.1.24161.3">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="9.0.0-alpha.1.24162.1">
<Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>472629e451a5a87410ea3670606f7235a4dd5a02</Sha>
<Sha>3167c0a9379f52145af31057aca31f45528eb123</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<Dependency Name="System.CommandLine" Version="2.0.0-beta4.24126.1" CoherentParentDependency="Microsoft.NET.Sdk">
@ -243,43 +243,43 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24161.5">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24165.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac</Sha>
<Sha>ace00d8719b8d1fdfd0cc05f71bb9af216338d27</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="9.0.0-beta.24161.5">
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="9.0.0-beta.24165.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac</Sha>
<Sha>ace00d8719b8d1fdfd0cc05f71bb9af216338d27</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24161.5">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24165.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac</Sha>
<Sha>ace00d8719b8d1fdfd0cc05f71bb9af216338d27</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.24161.1">
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.24168.3">
<Uri>https://github.com/dotnet/arcade-services</Uri>
<Sha>287772f0ae8b40573f97342eb83fdeee7a136bea</Sha>
<Sha>0e9abfee048404d9b994fc64235b42216ce68dad</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.24161.1">
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.24168.3">
<Uri>https://github.com/dotnet/arcade-services</Uri>
<Sha>287772f0ae8b40573f97342eb83fdeee7a136bea</Sha>
<Sha>0e9abfee048404d9b994fc64235b42216ce68dad</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24161.5">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24165.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac</Sha>
<Sha>ace00d8719b8d1fdfd0cc05f71bb9af216338d27</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24161.5">
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24165.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac</Sha>
<Sha>ace00d8719b8d1fdfd0cc05f71bb9af216338d27</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="9.0.0-alpha.1.23612.13">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>ab1a8224cdf115b65e0db5dc88d11f205068f444</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.24161.2">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.24162.2">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>8d6e9cf10f64ff8fc02e434b516f6ca87c4b7215</Sha>
<Sha>c0b5d69a1a1513528c77fffff708c7502d57c35c</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.24057.2">
@ -299,14 +299,14 @@
aren't shipping, or those extensions packages depend on aspnetcore packages that won't ship. However, given the cost
of maintaining this coherency path is high. This being toolset means that aspire is responsible for its own coherency.
-->
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-9.0.100-preview.1" Version="9.0.0-preview.1.24160.10">
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-9.0.100-preview.1" Version="9.0.0-preview.2.24163.9">
<Uri>https://github.com/dotnet/aspire</Uri>
<Sha>11947620e257657946e4232085d8db8e2aa4a36e</Sha>
<Sha>9faf59f870abdeb427c51c1380fce84d8163f2f0</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspire" Version="9.0.0-preview.1.24160.10">
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspire" Version="9.0.0-preview.2.24163.9">
<Uri>https://github.com/dotnet/aspire</Uri>
<Sha>11947620e257657946e4232085d8db8e2aa4a36e</Sha>
<Sha>9faf59f870abdeb427c51c1380fce84d8163f2f0</Sha>
<SourceBuild RepoName="aspire" ManagedOnly="true" />
</Dependency>
</ToolsetDependencies>

View file

@ -39,19 +39,19 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24161.5</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24165.6</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade-services -->
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.24161.1</MicrosoftDotNetDarcLibVersion>
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.24168.3</MicrosoftDotNetDarcLibVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms -->
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>9.0.0-preview.3.24160.1</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>9.0.0-preview.3.24163.1</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/wpf -->
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>9.0.0-preview.3.24161.5</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>9.0.0-preview.3.24163.2</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates -->
@ -63,8 +63,8 @@
<!-- Supported versions -->
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24158.2</MicrosoftDotNetTestProjectTemplates80PackageVersion>
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24158.2</MicrosoftDotNetTestProjectTemplates90PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24168.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24168.1</MicrosoftDotNetTestProjectTemplates90PackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
@ -72,49 +72,49 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.3.24161.11</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.3.24161.11</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.3.24161.11</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24161.11</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
<dotnetdevcertsPackageVersion>9.0.0-preview.3.24161.11</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>9.0.0-preview.3.24161.11</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>9.0.0-preview.3.24161.11</dotnetusersecretsPackageVersion>
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.3.24163.1</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.3.24163.1</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.3.24163.1</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24163.1</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
<dotnetdevcertsPackageVersion>9.0.0-preview.3.24163.1</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>9.0.0-preview.3.24163.1</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>9.0.0-preview.3.24163.1</dotnetusersecretsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sdk -->
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.3.24162.5</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>9.0.100-preview.3.24162.5</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.3.24162.5</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.3.24165.9</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>9.0.100-preview.3.24165.9</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.3.24165.9</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>4.10.0-3.24161.10</MicrosoftNetCompilersToolsetPackageVersion>
<MicrosoftNetCompilersToolsetPackageVersion>4.10.0-3.24164.3</MicrosoftNetCompilersToolsetPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/corefx -->
<MicrosoftNETCorePlatformsPackageVersion>9.0.0-preview.3.24161.4</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>9.0.0-preview.3.24162.31</MicrosoftNETCorePlatformsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/core-setup -->
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24161.4</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.3.24161.4</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.3.24161.4</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.3.24161.4</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.3.24161.4</MicrosoftNETCoreAppRefPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24162.31</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.3.24162.31</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.3.24162.31</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.3.24162.31</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.3.24162.31</MicrosoftNETCoreAppRefPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24161.6</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.3.24161.6</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.3.24161.6</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.3.24161.6</MicrosoftWindowsDesktopAppRefPackageVersion>
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.3.24163.6</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.3.24163.6</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.3.24163.6</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.3.24163.6</MicrosoftWindowsDesktopAppRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
@ -245,14 +245,14 @@
<PropertyGroup>
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
<MicrosoftNETTestSdkVersion>17.10.0-preview-24158-06</MicrosoftNETTestSdkVersion>
<MicrosoftNETTestSdkVersion>17.10.0-preview-24163-01</MicrosoftNETTestSdkVersion>
<MicrosoftExtensionsLoggingConsoleVersion>9.0.0-alpha.1.24058.10</MicrosoftExtensionsLoggingConsoleVersion>
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.24057.2</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
</PropertyGroup>
<!-- Workload manifest package versions -->
<PropertyGroup>
<AspireFeatureBand>9.0.100-preview.1</AspireFeatureBand>
<MicrosoftNETSdkAspireManifest90100preview1PackageVersion>9.0.0-preview.1.24160.10</MicrosoftNETSdkAspireManifest90100preview1PackageVersion>
<MicrosoftNETSdkAspireManifest90100preview1PackageVersion>9.0.0-preview.2.24163.9</MicrosoftNETSdkAspireManifest90100preview1PackageVersion>
<MauiFeatureBand>9.0.100-preview.1</MauiFeatureBand>
<MauiWorkloadManifestVersion>9.0.0-preview.1.9973</MauiWorkloadManifestVersion>
<XamarinAndroidWorkloadManifestVersion>34.99.0-preview.1.151</XamarinAndroidWorkloadManifestVersion>

261
eng/build-pr.yml Normal file
View file

@ -0,0 +1,261 @@
parameters:
# Agent OS identifier and used as job name
- name: agentOs
type: string
# Job name
- name: jobName
type: string
# Container to run the build in, if any
- name: container
type: string
default: ''
# Job timeout
- name: timeoutInMinutes
type: number
default: 180
# Build configuration (Debug, Release)
- name: buildConfiguration
type: string
values:
- Debug
- Release
# Build architecture
- name: buildArchitecture
type: string
values:
- arm
- arm64
- x64
- x86
# Linux portable. If true, passes portable switch to build
- name: linuxPortable
type: boolean
default: false
# Runtime Identifier
- name: runtimeIdentifier
type: string
default: ''
# UI lang
- name: dotnetCLIUILanguage
type: string
default: ''
# Additional parameters
- name: additionalBuildParameters
type: string
default: ''
# Run tests
- name: runTests
type: boolean
default: true
# PGO instrumentation jobs
- name: pgoInstrument
type: boolean
default: false
- name: isBuiltFromVmr
displayName: True when build is running from dotnet/dotnet
type: boolean
default: false
jobs:
- template: common/templates/job/job.yml
parameters:
# Set up the name of the job.
${{ if parameters.pgoInstrument }}:
name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }}
${{ if not(parameters.pgoInstrument) }}:
name: ${{ parameters.agentOs }}_${{ parameters.jobName }}
## Set up the pool/machine info to be used based on the Agent OS
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
enableMicrobuild: true
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals windows.vs2022.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2022.amd64
${{ if eq(parameters.agentOs, 'Linux') }}:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
container: ${{ parameters.container }}
${{ if eq(parameters.agentOs, 'Darwin') }}:
pool:
vmImage: 'macOS-latest'
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
${{ if parameters.isBuiltFromVmr }}:
enableSbom: false
${{ else }}:
enablePublishBuildAssets: true
enablePublishUsingPipelines: true
enableTelemetry: true
helixRepo: dotnet/installer
workspace:
clean: all
# Test parameters
variables:
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- _PackArg: '-pack'
- ${{ if parameters.runTests }}:
- _TestArg: '-test'
- ${{ else }}:
- _TestArg: ''
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- _PackArg: '--pack'
- ${{ if parameters.runTests }}:
- _TestArg: '--test'
- ${{ else }}:
- _TestArg: ''
- ${{ if parameters.pgoInstrument }}:
- _PgoInstrument: '/p:PgoInstrument=true'
- _PackArg: ''
- ${{ else }}:
- _PgoInstrument: ''
- ${{ if parameters.linuxPortable }}:
- _LinuxPortable: '--linux-portable'
- ${{ else }}:
- _LinuxPortable: ''
- ${{ if ne(parameters.runtimeIdentifier, '') }}:
- _RuntimeIdentifier: '--runtime-id ${{ parameters.runtimeIdentifier }}'
- ${{ else }}:
- _RuntimeIdentifier: ''
- _AgentOSName: ${{ parameters.agentOs }}
- _TeamName: Roslyn-Project-System
- _SignType: test
- _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)'
- ${{ if parameters.isBuiltFromVmr }}:
- installerRoot: '$(Build.SourcesDirectory)/src/installer'
- _SignType: test
- _PushToVSFeed: false
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=true
/p:PublishToSymbolServer=false
$(_PgoInstrument)
- ${{ else }}:
- installerRoot: '$(Build.SourcesDirectory)'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-HelixApi-Access
- _PushToVSFeed: true
- _SignType: real
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
$(_PgoInstrument)
- template: /eng/common/templates/variables/pool-providers.yml
steps:
- checkout: self
clean: true
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
- task: PowerShell@2
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(installerRoot)/eng/common/SetupNugetSources.ps1
arguments: -ConfigFile $(installerRoot)/NuGet.config -Password $Env:Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: $(installerRoot)/build.cmd
$(_TestArg) $(_PackArg)
-publish -ci -sign
-Configuration ${{ parameters.buildConfiguration }}
-Architecture ${{ parameters.buildArchitecture }}
$(_BuildArgs)
${{ parameters.additionalBuildParameters }}
$(_InternalRuntimeDownloadArgs)
displayName: Build
env:
DOTNET_CLI_UI_LANGUAGE: ${{ parameters.dotnetCLIUILanguage }}
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
- task: Bash@3
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(installerRoot)/eng/common/SetupNugetSources.sh
arguments: $(installerRoot)/NuGet.config $Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if eq(parameters.agentOs, 'Linux') }}:
- script: $(installerRoot)/build.sh
$(_TestArg) $(_PackArg)
--publish --ci
--noprettyprint
--configuration ${{ parameters.buildConfiguration }}
--architecture ${{ parameters.buildArchitecture }}
$(_LinuxPortable)
$(_RuntimeIdentifier)
$(_BuildArgs)
${{ parameters.additionalBuildParameters }}
$(_InternalRuntimeDownloadArgs)
displayName: Build
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
- script: $(installerRoot)/build.sh
$(_TestArg)
--pack --publish --ci
--noprettyprint
--configuration ${{ parameters.buildConfiguration }}
--architecture ${{ parameters.buildArchitecture }}
$(_RuntimeIdentifier)
$(_BuildArgs)
${{ parameters.additionalBuildParameters }}
$(_InternalRuntimeDownloadArgs)
displayName: Build
- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testRunner: XUnit
testResultsFiles: 'artifacts/TestResults/${{ parameters.buildConfiguration }}/*.xml'
testRunTitle: '$(_AgentOSName)_$(Agent.JobName)'
platform: '$(BuildPlatform)'
configuration: '${{ parameters.buildConfiguration }}'
condition: ne(variables['_TestArg'], '')
- task: CopyFiles@2
displayName: Gather Logs
inputs:
SourceFolder: '$(installerRoot)/artifacts'
Contents: |
log/${{ parameters.buildConfiguration }}/**/*
TestResults/${{ parameters.buildConfiguration }}/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
continueOnError: true
condition: always()
- task: PublishBuildArtifacts@1
displayName: Publish Logs to VSTS
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: '$(_AgentOSName)_$(Agent.JobName)_$(Build.BuildNumber)'
publishLocation: Container
continueOnError: true
condition: always()

View file

@ -1,9 +1,9 @@
parameters:
# Agent OS identifier and used as job name
# Agent OS identifier and used as job name
- name: agentOs
type: string
# Job name
# Job name
- name: jobName
type: string
@ -12,7 +12,7 @@ parameters:
type: string
default: ''
# Job timeout
# Job timeout
- name: timeoutInMinutes
type: number
default: 180
@ -32,7 +32,7 @@ parameters:
- arm64
- x64
- x86
# Linux portable. If true, passes portable switch to build
- name: linuxPortable
type: boolean
@ -69,36 +69,42 @@ parameters:
default: false
jobs:
- template: common/templates/job/job.yml
- template: common/templates-official/job/job.yml
parameters:
# Set up the name of the job.
${{ if parameters.pgoInstrument }}:
name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }}
${{ if not(parameters.pgoInstrument) }}:
name: ${{ parameters.agentOs }}_${{ parameters.jobName }}
## Set up the pool/machine info to be used based on the Agent OS
# Set up the pool/machine info to be used based on the Agent OS
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
enableMicrobuild: true
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals windows.vs2022.amd64.open
image: 1es-windows-2022-open
os: windows
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2022.amd64
image: 1es-windows-2022
os: windows
${{ if eq(parameters.agentOs, 'Linux') }}:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
image: 1es-ubuntu-2004-open
os: linux
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
image: 1es-ubuntu-2204
os: linux
container: ${{ parameters.container }}
${{ if eq(parameters.agentOs, 'Darwin') }}:
pool:
vmImage: 'macOS-latest'
name: Azure Pipelines
image: macOS-latest
os: macOS
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
${{ if parameters.isBuiltFromVmr }}:
@ -111,8 +117,8 @@ jobs:
workspace:
clean: all
# Test parameters
variables:
# Test variables
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- _PackArg: '-pack'
- ${{ if parameters.runTests }}:
@ -168,7 +174,7 @@ jobs:
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
$(_PgoInstrument)
- template: /eng/common/templates/variables/pool-providers.yml
- template: /eng/common/templates-official/variables/pool-providers.yml
steps:
- checkout: self
@ -251,7 +257,7 @@ jobs:
continueOnError: true
condition: always()
- task: PublishBuildArtifacts@1
- task: 1ES.PublishBuildArtifacts@1
displayName: Publish Logs to VSTS
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'

View file

@ -63,7 +63,7 @@ if [ -z "$CLR_CC" ]; then
# Set default versions
if [ -z "$majorVersion" ]; then
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
if [ "$compiler" = "clang" ]; then versions="17 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
if [ "$compiler" = "clang" ]; then versions="18 17 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
elif [ "$compiler" = "gcc" ]; then versions="13 12 11 10 9 8 7 6 5 4.9"; fi
for version in $versions; do
@ -125,8 +125,8 @@ if [ -z "$CC" ]; then
exit 1
fi
# Only lld version >= 9 can be considered stable. lld doesn't support s390x.
if [ "$compiler" = "clang" ] && [ -n "$majorVersion" ] && [ "$majorVersion" -ge 9 ] && [ "$build_arch" != "s390x" ]; then
# Only lld version >= 9 can be considered stable. lld supports s390x starting from 18.0.
if [ "$compiler" = "clang" ] && [ -n "$majorVersion" ] && [ "$majorVersion" -ge 9 ] && ([ "$build_arch" != "s390x" ] || [ "$majorVersion" -ge 18 ]); then
if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then
LDFLAGS="-fuse-ld=lld"
fi

View file

@ -98,14 +98,16 @@ jobs:
inputs:
targetType: inline
script: |
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId)
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)"
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild)
New-Item -Path "$(Build.StagingDirectory)/ReleaseConfigs" -ItemType Directory -Force
$filePath = "$(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt"
Add-Content -Path $filePath -Value $(BARBuildId)
Add-Content -Path $filePath -Value "$(DefaultChannels)"
Add-Content -Path $filePath -Value $(IsStableBuild)
- task: 1ES.PublishBuildArtifacts@1
displayName: Publish ReleaseConfigs Artifact
inputs:
PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs.txt'
PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs'
PublishLocation: Container
ArtifactName: ReleaseConfigs

View file

@ -1,6 +1,4 @@
#
# See https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for details on this file.
#
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=1224
schedules:
# Cron timezone is UTC.

View file

@ -68,7 +68,7 @@ jobs:
matrix: $[ dependencies.Setup.outputs['GetMatrix.matrix'] ]
steps:
- script: $(Build.SourcesDirectory)/eng/prep-source-build.sh --no-artifacts --no-bootstrap --no-prebuilts
- script: $(Build.SourcesDirectory)/prep-source-build.sh --no-artifacts --no-bootstrap --no-prebuilts --no-binary-tooling
displayName: 'Install .NET SDK'
- task: PipAuthenticate@1

View file

@ -245,7 +245,7 @@ jobs:
echo "##vso[task.setvariable variable=additionalBuildArgs]--with-sdk /vmr/.dotnet"
fi
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./eng/prep-source-build.sh $customPrepArgs
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep-source-build.sh $customPrepArgs
displayName: Prep the Build
- script: |

View file

@ -0,0 +1,75 @@
# This yml is used by these pipelines and triggers:
#
# - installer-source-build (public)
# - PR: release/* and main, ultralite build
# - installer-unified-build (public)
# - PR: main, lite build
trigger: none
pr:
branches:
include:
- main
- release/*
exclude:
- release/*.0.2xx
- release/*.0.3xx
- release/*.0.4xx
parameters:
- name: vmrBranch
displayName: dotnet/dotnet branch to push to
type: string
default: ' '
- name: disableBuild
displayName: Skip the VMR Build stage
type: boolean
default: false
variables:
- ${{ if ne(parameters.vmrBranch, ' ') }}:
- name: VmrBranch
value: ${{ replace(parameters.vmrBranch, ' ', '') }}
- ${{ else }}:
- name: VmrBranch
value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
# enable source-only build for pipelines with the -source-build suffix
- name: isSourceOnlyBuild
value: ${{ contains(variables['Build.DefinitionName'], '-source-build') }}
resources:
repositories:
- repository: vmr
type: github
name: dotnet/dotnet
endpoint: dotnet
ref: ${{ variables.VmrBranch }}
stages:
# You can temporarily disable the VMR Build stage by setting the disableBuild variable
- ${{ if not(parameters.disableBuild) }}:
- template: templates/stages/vmr-build.yml
parameters:
vmrBranch: ${{ variables.VmrBranch }}
isBuiltFromVmr: false
isSourceOnlyBuild: ${{ variables.isSourceOnlyBuild }}
${{ if contains(variables['Build.DefinitionName'], '-full') }}:
scope: full
${{ elseif eq(variables.isSourceOnlyBuild, 'true') }}:
scope: ultralite
${{ else }}:
scope: lite
# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate
# that the PR can be merged and later synchronized into the VMR without problems.
- ${{ else }}:
- stage: Synchronize_VMR
displayName: Synchronize VMR
dependsOn: []
jobs:
- template: templates/jobs/vmr-synchronization.yml
parameters:
vmrBranch: ${{ variables.VmrBranch }}
noPush: true

View file

@ -11,7 +11,7 @@
"cmake": "latest"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24161.5",
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24161.5"
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24165.6",
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24165.6"
}
}

View file

@ -24,7 +24,7 @@ or
```bash
# Building from source only
./eng/prep-source-build.sh && ./build.sh -sb
./prep-source-build.sh && ./build.sh -sb
```
> Please note that, at this time, the build modifies some of the checked-in sources so it might

View file

@ -3,7 +3,7 @@
source="${BASH_SOURCE[0]}"
script_root="$( cd -P "$( dirname "$source" )" && pwd )"
"$script_root"/../../eng/prep-source-build.sh
"$script_root"/../../prep-source-build.sh
cp "$script_root/../synchronize-vmr.sh" "/workspaces/"
"$script_root"/../../build.sh --online --clean-while-building || exit 0

View file

@ -173,7 +173,9 @@
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir>
<AssetManifestsIntermediateDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'AssetManifests'))</AssetManifestsIntermediateDir>
<ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir>
<ArtifactsAssetsSymbolsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsAssetsDir)', 'Symbols'))</ArtifactsAssetsSymbolsDir>
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
<PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath>

View file

@ -7,7 +7,7 @@
<SdkFilenamePrefix>dotnet-sdk-</SdkFilenamePrefix>
</PropertyGroup>
<ItemGroup>
<SdkTarballItem Include="$(ArtifactsAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
<SdkTarballItem Include="$(ArtifactsAssetsDir)Sdk/**/$(SdkFilenamePrefix)*$(ArchiveExtension)" />
</ItemGroup>
<!--

View file

@ -103,7 +103,7 @@ In case you don't want to / cannot prepare your environment per the requirements
```bash
# Prep the source to build on your distro.
# This downloads a .NET SDK and a number of .NET packages needed to build .NET from source.
./eng/prep-source-build.sh
./prep-source-build.sh
# Build the .NET SDK
./build.sh -sb --clean-while-building
@ -149,7 +149,7 @@ git clone https://github.com/dotnet/dotnet .
./build.sh --clean-while-building
# - Building from source
./eng/prep-source-build.sh && ./build.sh -sb --clean-while-building
./prep-source-build.sh && ./build.sh -sb --clean-while-building
mkdir -p $HOME/.dotnet
tar -zxf artifacts/assets/Release/dotnet-sdk-9.0.100-centos.8-x64.tar.gz -C $HOME/.dotnet

View file

@ -26,8 +26,6 @@
</Target>
<Import Project="$(RepositoryEngineeringDir)build.sourcebuild.targets" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
<Import Project="$(RepositoryEngineeringDir)sdkArchiveDiff.targets" Condition="'$(ShortStack)' != 'true' and '$(PortableBuild)' == 'true' and '$(PgoInstrument)' != 'true'" />
<Import Project="$(RepositoryEngineeringDir)unifiedBuildValidation.targets" Condition="'$(ShortStack)' != 'true' and '$(PortableBuild)' == 'true' and '$(PgoInstrument)' != 'true'" />
<!-- Intentionally below the import to appear at the end. -->
<Target Name="LogBuildOutputFolders"

View file

@ -2,25 +2,30 @@
# NOTE: the triggers are defined in the Azure DevOps UI as they are too complex
#
# - dotnet-source-build (public)
# https://dev.azure.com/dnceng-public/public/_build?definitionId=240
# - PR: ultralite build
# - CI: release/* only, every batched commit, full build
# - Schedule: main only, full build
#
# - dotnet-unified-build (public)
# https://dev.azure.com/dnceng-public/public/_build?definitionId=278
# - PR: lite build
# - CI: release/* only, every batched commit, full build
# - Schedule: main only, full build
#
# - dotnet-source-build (internal)
# https://dev.azure.com/dnceng/internal/_build?definitionId=1219
# - PR: ultralite build
# - CI: release/* and internal/release/* only, every batched commit, full build
# - Schedule: main only, full build
#
# - dotnet-source-build-lite (internal)
# https://dev.azure.com/dnceng/internal/_build?definitionId=1299
# - PR: release/* and main, lite build, on-demand trigger
# - CI: main only, every batched commit, lite build
#
# - dotnet-unified-build (internal)
# https://dev.azure.com/dnceng/internal/_build?definitionId=1330
# - PR: lite build
# - CI: release/*, internal/release/* and main, every batched commit, full build

View file

@ -0,0 +1,54 @@
# This yml is used by these PR pipelines and triggers:
# NOTE: the triggers are defined in the Azure DevOps UI as they are too complex
#
# - dotnet-source-build (public)
# - PR: ultralite build
# - CI: release/* only, every batched commit, full build
# - Schedule: main only, full build
#
# - dotnet-unified-build (public)
# - PR: lite build
# - CI: release/* only, every batched commit, full build
# - Schedule: main only, full build
#
# - dotnet-source-build (internal)
# - PR: ultralite build
#
# - dotnet-source-build-lite (internal)
# - PR: release/* and main, lite build, on-demand trigger
#
# - dotnet-unified-build (internal)
# - PR: lite build
variables:
# enable source-only build for pipelines that contain the -source-build string
- name: isSourceOnlyBuild
value: ${{ contains(variables['Build.DefinitionName'], '-source-build') }}
- name: isSourceOnlyBuildLite
value: ${{ contains(variables['Build.DefinitionName'], '-source-build-lite') }}
- name: isScheduleTrigger
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
- name: isPRTrigger
value: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
stages:
- ${{ if and(ne(variables.isPRTrigger, 'true'), eq(variables['System.TeamProject'], 'internal')) }}:
- template: templates/stages/vmr-scan.yml
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
parameters:
isBuiltFromVmr: true
isSourceOnlyBuild: ${{ variables.isSourceOnlyBuild }}
${{ if eq(variables.isScheduleTrigger, 'true') }}:
scope: full
${{ elseif eq(variables.isSourceOnlyBuildLite, 'true') }}:
scope: lite
${{ elseif and(eq(variables.isPRTrigger, 'true'), eq(variables.isSourceOnlyBuild, 'true')) }}:
scope: ultralite
${{ elseif and(eq(variables.isPRTrigger, 'true'), ne(variables.isSourceOnlyBuild, 'true')) }}:
scope: lite
${{ else }}:
scope: full

View file

@ -36,7 +36,7 @@ set -euo pipefail
IFS=$'\n\t'
source="${BASH_SOURCE[0]}"
REPO_ROOT="$( cd -P "$( dirname "$0" )/../" && pwd )"
REPO_ROOT="$( cd -P "$( dirname "$0" )" && pwd )"
function print_help () {
sed -n '/^### /,/^$/p' "$source" | cut -b 5-
@ -191,7 +191,7 @@ function ParseBinaryArgs {
# or a pre-existing .dotnet SDK directory must exist.
if [ "$dotnetSdk" == "$defaultDotnetSdk" ] && [ ! -d "$dotnetSdk" ]; then
echo " ERROR: A pre-existing .dotnet SDK directory is needed if --with-sdk is not provided. \
Please either supply an SDK using --with-sdk or execute ./eng/prep-source-build.sh before proceeding. Exiting..."
Please either supply an SDK using --with-sdk or execute ./prep-source-build.sh before proceeding. Exiting..."
exit 1
fi
@ -200,7 +200,7 @@ function ParseBinaryArgs {
if [ "$packagesSourceFeed" == "$defaultPackagesDir" ] && [ ! -d "$packagesSourceFeed" ]; then
echo " ERROR: A pre-existing packages directory is needed if --with-packages is not provided. \
Please either supply a packages directory using --with-packages or \
execute ./eng/prep-source-build.sh with download artifacts enabled before proceeding. Exiting..."
execute ./prep-source-build.sh with download artifacts enabled before proceeding. Exiting..."
exit 1
fi
@ -229,7 +229,7 @@ function ParseBinaryArgs {
packagesSourceFeed="$previouslyBuiltPackagesDir"
else
echo " ERROR: A pre-existing package archive is needed if --with-packages is not provided. \
Please either supply a source-feed using --with-packages or execute ./eng/prep-source-build.sh \
Please either supply a source-feed using --with-packages or execute ./prep-source-build.sh \
with download artifacts enabled before proceeding. Exiting..."
exit 1
fi

View file

@ -38,12 +38,14 @@
<!-- Update nuget.config property to point to modified file that will be created/updated during build. -->
<NuGetConfigFile Condition="'$(OriginalNuGetConfigFile)' != ''">$(BaseIntermediateOutputPath)$([System.IO.Path]::GetFileName('$(OriginalNuGetConfigFile)'))</NuGetConfigFile>
<RepoAssetManifestsDir>$([MSBuild]::NormalizeDirectory('$(AssetManifestsIntermediateDir)', '$(RepositoryName)'))</RepoAssetManifestsDir>
<SourceBuiltSdksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))</SourceBuiltSdksDir>
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsShippingPackagesDir>
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsShippingPackagesDir>
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsNonShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsNonShippingPackagesDir>
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsNonShippingPackagesDir>
<!-- Set the bootstrap version to the VMR's version if empty. (no bootstrap set). -->
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
@ -86,6 +88,11 @@
<BuildArgs Condition="'$(NuGetConfigFile)' != ''">$(BuildArgs) /p:RestoreConfigFile=$(NuGetConfigFile)</BuildArgs>
<!-- TODO rename this property https://github.com/dotnet/source-build/issues/4165 -->
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
<!-- Pass locations for assets and packages -->
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</BuildArgs>
<BuildArgs>$(BuildArgs) /p:SourceBuiltShippingPackagesDir=$(RepoArtifactsShippingPackagesDir)</BuildArgs>
<BuildArgs>$(BuildArgs) /p:SourceBuiltNonShippingPackagesDir=$(RepoArtifactsNonShippingPackagesDir)</BuildArgs>
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</BuildArgs>
</PropertyGroup>
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">

View file

@ -16,14 +16,16 @@
<PropertyGroup>
<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(BuildArgs)</BuildCommand>
<!-- MinimalConsoleLogOutput determines if the repository build should be logged to a separate file or directly to the console. -->
<!-- MinimalConsoleLogOutput determines if the repository build should be logged to a separate file or directly to the console.
Enable it by default as with prallel repository builds the log becomes non-readable. -->
<RepoConsoleLogFile>$(ArtifactsLogDir)$(RepositoryName).log</RepoConsoleLogFile>
<MinimalConsoleLogOutput Condition="'$(MinimalConsoleLogOutput)' == '' and '$(ContinuousIntegrationBuild)' == 'true'">true</MinimalConsoleLogOutput>
<MinimalConsoleLogOutput Condition="'$(MinimalConsoleLogOutput)' == ''">$(BuildInParallel)</MinimalConsoleLogOutput>
<PackageReportDataFile>$(PackageReportDir)prebuilt-usage.xml</PackageReportDataFile>
<ProjectAssetsJsonArchiveFile>$(PackageReportDir)all-project-assets-json-files.zip</ProjectAssetsJsonArchiveFile>
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
<RepoManifestFile>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'artifacts', 'RepoManifest.xml'))</RepoManifestFile>
<RepoAssetsSymbolsArchive>$(ArtifactsAssetsSymbolsDir)Symbols.$(RepositoryName)$(ArchiveExtension)</RepoAssetsSymbolsArchive>
<IntermediateSymbolsRepoDir>$(IntermediateSymbolsRootDir)$(RepositoryName)</IntermediateSymbolsRepoDir>
</PropertyGroup>
@ -36,7 +38,39 @@
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageVersionsProps" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageUsageData" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageReports" />
<!-- Returns the repository references of this project and all the projects this project references, recursively -->
<Target Name="GetTransitiveRepositoryReferences" Outputs="@(TransitiveRepositoryReference)">
<ItemGroup>
<_TransitiveRepositoryReference Include="@(RepositoryReference)" />
</ItemGroup>
<MSBuild Projects="@(RepositoryReference->'%(Identity).proj')"
Targets="GetTransitiveRepositoryReferences"
BuildInParallel="true">
<Output TaskParameter="TargetOutputs" ItemName="_DependencyTransitiveRepositoryReference" />
</MSBuild>
<!-- When items are transferred between projects, they get metadata indicating their source (e.g. MSBuildSourceProjectFile).
This is problematic because it causes introduces distinctness on the items. For example, an arcade RepositoryReference
that comes from both msbuild and source-build-externals will be treated as two separate items. But we only want one arcade
reference. To prevent this from happening, we need to remove the extra metadata so the two references can be seen as duplicates. -->
<ItemGroup>
<_TransitiveRepositoryReference Include="@(_DependencyTransitiveRepositoryReference)"
RemoveMetadata="MSBuildSourceProjectFile;MSBuildSourceTargetName;OriginalItemSpec" />
<TransitiveRepositoryReference Include="@(_TransitiveRepositoryReference)" KeepDuplicates="false" />
</ItemGroup>
<!-- Exclude repositories that currently don't build when not building source-only. -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<TransitiveRepositoryReference Remove="roslyn" />
<TransitiveRepositoryReference Remove="aspnetcore" />
<TransitiveRepositoryReference Remove="nuget-client" />
<TransitiveRepositoryReference Remove="fsharp" />
<TransitiveRepositoryReference Remove="vstest" />
</ItemGroup>
</Target>
<!-- Wraps the transitive repo references with additional metadata -->
<Target Name="GetRepositoryReferenceInfo"
DependsOnTargets="GetTransitiveRepositoryReferences">
@ -376,9 +410,13 @@
<Message Importance="High" Text="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
</Target>
<!--
Remove this target after arcade changes for publishing have flown to installer repo.
https://github.com/dotnet/source-build/issues/4207
-->
<Target Name="CopyRepoArtifacts"
DependsOnTargets="RepoBuild"
Condition="'$(IsUtilityProject)' != 'true'"
Condition="'$(IsUtilityProject)' != 'true' and Exists('$(RepoManifestFile)')"
Inputs="$(RepoManifestFile)"
Outputs="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete">
<Error Text="Repo manifest file doesn't exist." Condition="!Exists('$(RepoManifestFile)')" />
@ -458,7 +496,7 @@
<!-- Copy restored packages from inner build to ensure they're included in the
main build prebuilt check -->
<Target Name="CopyInnerBuildRestoredPackages"
Condition="'$(IsUtilityProject)' != 'true'">
Condition="'$(IsUtilityProject)' != 'true' and '$(DotNetBuildSourceOnly)' == 'true'">
<ItemGroup>
<_InnerPackageCacheFiles Include="$(ProjectDirectory)artifacts/sb/package-cache/**/*" />
</ItemGroup>
@ -482,8 +520,11 @@
These source generators are written incorrectly (a source generator should never do IO itself),
but the required features to read in binary files as input to a source generator don't exist.
To work around these source generators, shut down the compiler server so we can delete the obj directories.
Don't fail the build when shutdown returns a failure.
-->
<Exec Command="$(DotnetTool) build-server shutdown --vbcscompiler" />
<Exec Command="$(DotnetTool) build-server shutdown --vbcscompiler"
IgnoreStandardErrorWarningFormat="true"
IgnoreExitCode="true" />
<PropertyGroup>
<BuildLogsDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildLogs'))</BuildLogsDir>
@ -569,8 +610,18 @@
</Touch>
</Target>
<Target Name="DiscoverSymbolsArchiveFile"
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
'$(IsUtilityProject)' != 'true' and
Exists('$(RepoAssetsSymbolsArchive)')">
<ItemGroup>
<RepoSymbolsArchive Include="$(RepoAssetsSymbolsArchive)" />
</ItemGroup>
</Target>
<Target Name="ExtractSymbolsArchiveFile"
DependsOnTargets="CopyRepoArtifacts"
DependsOnTargets="CopyRepoArtifacts;DiscoverSymbolsArchiveFile"
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
'$(IsUtilityProject)' != 'true' and
'@(RepoSymbolsArchive)' != ''"
@ -592,11 +643,11 @@
CopyRepoArtifacts;
CopyInnerBuildRestoredPackages;
ExtractToolPackage;
DiscoverSymbolsArchiveFile;
ExtractSymbolsArchiveFile;
CleanupRepo" />
<Target Name="WritePrebuiltUsageData"
DependsOnTargets="GetAllProjectDirectories"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(BaseIntermediateOutputPath)WritePrebuiltUsageData.complete">
<!-- Save the PVP snapshot of each build step to be evaluated while building the report. -->
@ -606,59 +657,63 @@
<Copy SourceFiles="@(PackageVersionPropsSnapshotFiles)" DestinationFolder="$(PackageReportDir)snapshots/" />
<ItemGroup>
<AllRestoredPackageFiles Include="$(NuGetPackageRoot)**/*.nupkg" />
<RestoredPackageFile Include="$(NuGetPackageRoot)**/*.nupkg" />
<!-- Only contains packages when building. -->
<TarballPrebuiltPackageFiles Include="$(PrebuiltPackagesPath)*.nupkg" />
<TarballPrebuiltPackageFile Include="$(PrebuiltPackagesPath)*.nupkg" />
<SourceBuiltPackageFiles Include="$(ArtifactsPackagesDir)**/*.nupkg" />
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
<SourceBuiltPackageFile Include="$(ArtifactsPackagesDir)**/*.nupkg" />
<SourceBuiltPackageFile Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
<ReferencePackageFile Include="$(ReferencePackagesDir)**/*.nupkg" />
<!-- Check all RIDs from all restored Microsoft.NETCore.Platforms packages. -->
<PlatformsRuntimeJsonFiles Include="$(NuGetPackageRoot)microsoft.netcore.platforms/*/PortableRuntimeIdentifierGraph.json" />
<PlatformsRuntimeJsonFile Include="$(NuGetPackageRoot)microsoft.netcore.platforms/*/PortableRuntimeIdentifierGraph.json" />
</ItemGroup>
<ItemGroup>
<RepoProject Include="$(RepoProjectsDir)*.proj" />
<RepoProjectDirectory Include="@(RepoProject->'$(SrcDir)%(Filename)')" />
<!-- Add some other potential top-level project directories for a more specific report. -->
<ProjectDirectories Include="$(SourceBuiltSdksDir);$(TasksDir);$(ArtifactsObjDir)" />
<RepoProjectDirectory Include="$(SourceBuiltSdksDir);$(TasksDir);$(ArtifactsObjDir)" />
<!-- Finally, scan entire source-build, in case project.assets.json ends up in an unexpected place. -->
<ProjectDirectories Include="$(RepoRoot)" />
<RepoProjectDirectory Include="$(RepoRoot)" />
</ItemGroup>
<ItemGroup>
<!-- This file is a resource tracked by Git, not generated by restore. Ignore false positive. -->
<IgnoredProjectAssetsJsonFiles Include="$(SrcDir)*nuget-client*/**/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json"/>
<IgnoredProjectAssetsJsonFile Include="$(SrcDir)*nuget-client*/**/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json"/>
</ItemGroup>
<WritePackageUsageData
RestoredPackageFiles="@(AllRestoredPackageFiles)"
TarballPrebuiltPackageFiles="@(TarballPrebuiltPackageFiles)"
SourceBuiltPackageFiles="@(SourceBuiltPackageFiles)"
ReferencePackageFiles="@(ReferencePackageFiles)"
PlatformsRuntimeJsonFiles="@(PlatformsRuntimeJsonFiles)"
RestoredPackageFiles="@(RestoredPackageFile)"
TarballPrebuiltPackageFiles="@(TarballPrebuiltPackageFile)"
SourceBuiltPackageFiles="@(SourceBuiltPackageFile)"
ReferencePackageFiles="@(ReferencePackageFile)"
PlatformsRuntimeJsonFiles="@(PlatformsRuntimeJsonFile)"
TargetRid="$(TargetRid)"
ProjectDirectories="@(ProjectDirectories)"
ProjectDirectories="@(RepoProjectDirectory)"
RootDir="$(RepoRoot)"
IgnoredProjectAssetsJsonFiles="@(IgnoredProjectAssetsJsonFiles)"
IgnoredProjectAssetsJsonFiles="@(IgnoredProjectAssetsJsonFile)"
DataFile="$(PackageReportDataFile)"
ProjectAssetsJsonArchiveFile="$(ProjectAssetsJsonArchiveFile)" />
<!-- Copy packages detected as prebuilts to the artifacts prebuilt folder -->
<ItemGroup>
<AllowedPackageFiles Include="@(TarballPrebuiltPackageFile)" />
<AllowedPackageFiles Include="@(SourceBuiltPackageFiles)" />
<AllowedPackageFiles Include="@(ReferencePackageFiles)" />
<AllowedPackageFiles>
<AllowedPackageFile Include="@(TarballPrebuiltPackageFile)" />
<AllowedPackageFile Include="@(SourceBuiltPackageFile)" />
<AllowedPackageFile Include="@(ReferencePackageFile)" />
<AllowedPackageFile>
<LCFilename>$([System.String]::Copy(%(Filename)).ToLowerInvariant())</LCFilename>
</AllowedPackageFiles>
</AllowedPackageFile>
<PrebuiltPackageFiles Include="@(AllRestoredPackageFiles)" >
<PrebuiltPackageFile Include="@(RestoredPackageFile)" >
<LCFilename>$([System.String]::Copy(%(Filename)).ToLowerInvariant())</LCFilename>
</PrebuiltPackageFiles>
<PrebuiltPackageFiles Remove="@(AllowedPackageFiles)" MatchOnMetadata="LCFilename" />
</PrebuiltPackageFile>
<PrebuiltPackageFile Remove="@(AllowedPackageFile)" MatchOnMetadata="LCFilename" />
</ItemGroup>
<Copy
SourceFiles="@(PrebuiltPackageFiles)"
DestinationFolder="$(ResultingPrebuiltPackagesDir)" />
<Copy SourceFiles="@(PrebuiltPackageFile)" DestinationFolder="$(ResultingPrebuiltPackagesDir)" />
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
<Touch Files="$(BaseIntermediateOutputPath)WritePrebuiltUsageData.complete" AlwaysCreate="true">
@ -666,19 +721,6 @@
</Touch>
</Target>
<Target Name="GetAllProjectDirectories">
<ItemGroup>
<AllRepoProjects Include="$(RepoProjectsDir)*.proj" />
</ItemGroup>
<Message Importance="High" Text="Finding project directories..." />
<MSBuild Projects="@(AllRepoProjects)"
Targets="GetProjectDirectory">
<Output TaskParameter="TargetOutputs" ItemName="ProjectDirectories" />
</MSBuild>
</Target>
<Target Name="ReportPrebuiltUsage"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(BaseIntermediateOutputPath)ReportPrebuiltUsage.complete">
@ -687,11 +729,11 @@
</PropertyGroup>
<ItemGroup>
<PackageVersionPropsSavedSnapshotFiles Include="$(PackageReportDir)snapshots/PackageVersions.*.Snapshot.props" />
<PackageVersionPropsSavedSnapshotFile Include="$(PackageReportDir)snapshots/PackageVersions.*.Snapshot.props" />
</ItemGroup>
<WriteUsageReports DataFile="$(PackageReportDataFile)"
PackageVersionPropsSnapshots="@(PackageVersionPropsSavedSnapshotFiles)"
PackageVersionPropsSnapshots="@(PackageVersionPropsSavedSnapshotFile)"
ProdConBuildManifestFile="$(ProdConManifestFile)"
PoisonedReportFile="$(PoisonedReportFile)"
OutputDirectory="$(PackageReportDir)" />
@ -715,41 +757,6 @@
</Touch>
</Target>
<Target Name="GetProjectDirectory" Outputs="$(ProjectDirectory)" />
<Target Name="GetRepositoryReferences" Outputs="@(RepositoryReference)" />
<!-- Returns the repository references of this project and all the projects this project references, recursively -->
<Target Name="GetTransitiveRepositoryReferences" Outputs="@(TransitiveRepositoryReference)">
<ItemGroup>
<_TransitiveRepositoryReference Include="@(RepositoryReference)" />
</ItemGroup>
<MSBuild Projects="@(RepositoryReference->'%(Identity).proj')"
Targets="GetTransitiveRepositoryReferences"
BuildInParallel="true">
<Output TaskParameter="TargetOutputs" ItemName="_DependencyTransitiveRepositoryReference" />
</MSBuild>
<!-- When items are transferred between projects, they get metadata indicating their source (e.g. MSBuildSourceProjectFile).
This is problematic because it causes introduces distinctness on the items. For example, an arcade RepositoryReference
that comes from both msbuild and source-build-externals will be treated as two separate items. But we only want one arcade
reference. To prevent this from happening, we need to remove the extra metadata so the two references can be seen as duplicates. -->
<ItemGroup>
<_TransitiveRepositoryReference Include="@(_DependencyTransitiveRepositoryReference)"
RemoveMetadata="MSBuildSourceProjectFile;MSBuildSourceTargetName;OriginalItemSpec" />
<TransitiveRepositoryReference Include="@(_TransitiveRepositoryReference)" KeepDuplicates="false" />
</ItemGroup>
<!-- Exclude repositories that currently don't build when not building source-only. -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<TransitiveRepositoryReference Remove="roslyn" />
<TransitiveRepositoryReference Remove="aspnetcore" />
<TransitiveRepositoryReference Remove="nuget-client" />
<TransitiveRepositoryReference Remove="fsharp" />
<TransitiveRepositoryReference Remove="vstest" />
</ItemGroup>
</Target>
<!-- Outputs a dependency graph of the repos, in YAML form, to the console. -->
<Target Name="ShowDependencyGraph">
<MSBuild Projects="$(MSBuildProjectFullPath)"
@ -771,7 +778,7 @@
Use '_' as a placeholder for the space ' ' character since trailing spaces aren't handled well as property values. -->
<_NextIndent>$(DependencyGraphIndent)__</_NextIndent>
</PropertyGroup>
<!-- For each of the current project's direct repo dependencies, recursively call the target to get each of there dependency graphs -->
<MSBuild Projects="@(RepositoryReference->'%(Identity).proj')"
Targets="GetDependencyGraphString"

View file

@ -4,8 +4,6 @@
<!-- AspNetCore doesn't have a root build script but one under the eng folder. -->
<BuildScript>$(ProjectDirectory)eng\build$(ShellExtension)</BuildScript>
<!-- BuildActions includes -publish which is not supported by the aspnetcore build script. -->
<BuildActions>$(FlagParameterPrefix)restore $(FlagParameterPrefix)build $(FlagParameterPrefix)pack</BuildActions>
<!-- On Windows, build all for the VB PoC -->
<BuildActions Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(BuildOS)' == 'windows'">$(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack</BuildActions>

View file

@ -137,4 +137,17 @@
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
</Target>
<!-- Copy SDK archive to assets root. -->
<Target Name="CopySdkArchive"
AfterTargets="Build"
DependsOnTargets="DetermineSourceBuiltSdkVersion">
<Copy SourceFiles="@(SdkTarballItem)"
DestinationFolder="$(ArtifactsAssetsDir)"
SkipUnchangedFiles="true"
UseHardlinksIfPossible="true" />
</Target>
<Import Project="$(RepositoryEngineeringDir)sdkArchiveDiff.targets" Condition="'$(PortableBuild)' == 'true' and '$(PgoInstrument)' != 'true' and '$(DotNetBuildSourceOnly)' != 'true'" />
</Project>

View file

@ -15,6 +15,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="aspnetcore" />
<RepositoryReference Include="windowsdesktop" Condition="'$(TargetOS)' == 'windows'" />
<RepositoryReference Include="command-line-api" />
<RepositoryReference Include="deployment-tools" />
<RepositoryReference Include="emsdk" />

View file

@ -31,7 +31,14 @@
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
</Target>
<!--
Remove this target after VMR picks up new arcade publishing changes: https://github.com/dotnet/arcade/pull/14559
Tracking issue: https://github.com/dotnet/source-build/issues/4210
We only run this target if we're publishing using repo manifest.
-->
<Target Name="ClearPreviousSBRP"
Condition="Exists('$(RepoManifestFile)')"
BeforeTargets="CopyRepoArtifacts"
DependsOnTargets="RepoBuild">
<!-- Building SBRP: At this point the References directory contains the previously-source-built SBRPs,

View file

@ -89,3 +89,7 @@ sb,./sdk/x.y.z/*/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll
sb,./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll
sb,./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll
msft,./sdk/x.y.z/Extensions/*/*
# https://github.com/dotnet/source-build/issues/3510
msft,./sdk/x.y.z/Containers/containerize/**
msft,./sdk/x.y.z/Containers/tasks/net472/**

View file

@ -14,6 +14,7 @@ host/fxr/x.y.z/libhostfxr.so: 4681016
Humanizer.Core.x.y.z.nupkg: 945071
LICENSE.txt: 1116
metadata/workloads/x.y.z/userlocal: 0
Microsoft.ApplicationInsights.x.y.z-1.nupkg: 148627
Microsoft.ApplicationInsights.x.y.z.nupkg: 148568
Microsoft.Arcade.Common.x.y.z.nupkg: 57342
Microsoft.AspNetCore.Analyzers.x.y.z.nupkg: 17835
@ -37,7 +38,7 @@ Microsoft.AspNetCore.Http.Connections.Common.x.y.z.nupkg: 21665
Microsoft.AspNetCore.Metadata.x.y.z.nupkg: 19582
Microsoft.AspNetCore.Mvc.Analyzers.x.y.z.nupkg: 20157
Microsoft.AspNetCore.Mvc.Api.Analyzers.x.y.z.nupkg: 28710
Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.x.y.z.nupkg: 94089
Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.x.y.z.nupkg: 446006
Microsoft.AspNetCore.SignalR.Common.x.y.z.nupkg: 31619
Microsoft.AspNetCore.SignalR.Protocols.Json.x.y.z.nupkg: 25486
Microsoft.AspNetCore.WebUtilities.x.y.z.nupkg: 60948
@ -89,7 +90,7 @@ Microsoft.DiaSymReader.x.y.z-1.nupkg: 57796
Microsoft.DiaSymReader.x.y.z-2.nupkg: 57817
Microsoft.DiaSymReader.x.y.z.nupkg: 57811
Microsoft.DotNet.ApiCompat.Task.x.y.z.nupkg: 1280207
Microsoft.DotNet.Arcade.Sdk.x.y.z.nupkg: 605055
Microsoft.DotNet.Arcade.Sdk.x.y.z.nupkg: 876107
Microsoft.DotNet.Build.Tasks.Archives.x.y.z.nupkg: 11400
Microsoft.DotNet.Build.Tasks.Installers.x.y.z.nupkg: 104948
Microsoft.DotNet.Build.Tasks.Packaging.x.y.z.nupkg: 162274
@ -111,6 +112,7 @@ Microsoft.DotNet.InternalAbstractions.x.y.z.nupkg: 10642
Microsoft.DotNet.MSBuildSdkResolver.x.y.z.nupkg: 114783
Microsoft.DotNet.NuGetRepack.Tasks.x.y.z.nupkg: 85406
Microsoft.DotNet.PackageTesting.x.y.z.nupkg: 37598
Microsoft.DotNet.ScenarioTests.SdkTemplateTests.x.y.z.nupkg: 721284
Microsoft.DotNet.SharedFramework.Sdk.x.y.z.nupkg: 89834
Microsoft.DotNet.SignTool.x.y.z.nupkg: 212432
Microsoft.DotNet.SourceBuild.Tasks.x.y.z.nupkg: 46762
@ -206,6 +208,7 @@ Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.x.y.z.nupkg: 14414
Microsoft.NET.Sdk.x.y.z.nupkg: 994666
Microsoft.NET.StringTools.x.y.z.nupkg: 74038
Microsoft.NET.WebAssembly.Threading.x.y.z.nupkg: 44064
Microsoft.NET.WebAssembly.Webcil.x.y.z.nupkg: 31426
Microsoft.NET.Workload.Emscripten.Current.Manifest-x.y.z-1.nupkg: 6044
Microsoft.NET.Workload.Emscripten.Current.Manifest-x.y.z.nupkg: 6036
Microsoft.NET.Workload.Emscripten.net6.Manifest-x.y.z.nupkg: 5613
@ -1509,8 +1512,6 @@ sdk/x.y.z/Containers/tasks/netx.y/ja/System.CommandLine.resources.dll: 8704
sdk/x.y.z/Containers/tasks/netx.y/ko/Microsoft.DotNet.Cli.Utils.resources.dll: 7680
sdk/x.y.z/Containers/tasks/netx.y/ko/Microsoft.NET.Build.Containers.resources.dll: 17408
sdk/x.y.z/Containers/tasks/netx.y/ko/System.CommandLine.resources.dll: 8704
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Build.dll: 5072384
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Build.Framework.dll: 731648
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.DotNet.Cli.Utils.dll: 244224
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Extensions.DependencyInjection.Abstractions.dll: 120320
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Extensions.DependencyInjection.dll: 196608
@ -1521,7 +1522,6 @@ sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Extensions.Options.dll: 117760
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Extensions.Primitives.dll: 64000
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.NET.Build.Containers.deps.json: 37253
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.NET.Build.Containers.dll: 535040
sdk/x.y.z/Containers/tasks/netx.y/Microsoft.NET.StringTools.dll: 41984
sdk/x.y.z/Containers/tasks/netx.y/MSBuild.dll: 800768
sdk/x.y.z/Containers/tasks/netx.y/Newtonsoft.Json.dll: 1843200
sdk/x.y.z/Containers/tasks/netx.y/NuGet.Common.dll: 365568
@ -1543,13 +1543,8 @@ sdk/x.y.z/Containers/tasks/netx.y/pt-BR/System.CommandLine.resources.dll: 8704
sdk/x.y.z/Containers/tasks/netx.y/ru/Microsoft.DotNet.Cli.Utils.resources.dll: 8704
sdk/x.y.z/Containers/tasks/netx.y/ru/Microsoft.NET.Build.Containers.resources.dll: 20480
sdk/x.y.z/Containers/tasks/netx.y/ru/System.CommandLine.resources.dll: 9216
sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll: 367104
sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll: 791552
sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll: 741376
sdk/x.y.z/Containers/tasks/netx.y/System.CommandLine.dll: 337408
sdk/x.y.z/Containers/tasks/netx.y/System.Configuration.ConfigurationManager.dll: 1060352
sdk/x.y.z/Containers/tasks/netx.y/System.Diagnostics.EventLog.dll: 44032
sdk/x.y.z/Containers/tasks/netx.y/System.Reflection.MetadataLoadContext.dll: 567296
sdk/x.y.z/Containers/tasks/netx.y/System.Security.Cryptography.Pkcs.dll: 621056
sdk/x.y.z/Containers/tasks/netx.y/System.Security.Cryptography.ProtectedData.dll: 34304
sdk/x.y.z/Containers/tasks/netx.y/tr/Microsoft.DotNet.Cli.Utils.resources.dll: 7680
@ -2923,8 +2918,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/targets/Microsoft.NET.Sdk.Bla
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.props: 2308
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets: 3411
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/targets/Microsoft.NET.Sdk.BlazorWebAssembly.ServiceWorkerAssetsManifest.5_0.targets: 9260
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/targets/Microsoft.NET.Sdk.BlazorWebAssembly.ServiceWorkerAssetsManifest.targets: 12247
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll: 56320
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll: 97792
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tool.deps.json: 3595
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tool.dll: 14336
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tool.runtimeconfig.json: 384
@ -2972,11 +2966,8 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/Sdk/Sdk.props: 1572
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/Sdk/Sdk.targets: 1113
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.Utilities.Shared.dll: 72192
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.Utilities.Shared.xml: 45965
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.CSharp.dll: 90112
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.Language.dll: 1089536
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.dll: 76288
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.SourceGenerators.deps.json: 17055
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.SourceGenerators.dll: 57856
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.deps.json: 14858
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.Compiler.dll: 1335296
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.Extensions.ObjectPool.dll: 14848
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/RazorSourceGenerator.razorencconfig: 70
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/System.Collections.Immutable.dll: 242688
@ -3000,11 +2991,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/targets/Sdk.Razor.CurrentVersion.targets:
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/netx.y/Microsoft.Extensions.FileSystemGlobbing.dll: 80896
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/netx.y/Microsoft.NET.Sdk.Razor.Tasks.dll: 124928
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.AspNetCore.Razor.Utilities.Shared.dll: 150016
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.CSharp.dll: 209920
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.Language.dll: 2974208
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.dll: 171520
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.Version1_X.dll: 151040
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.Mvc.Version2_X.dll: 180736
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.CodeAnalysis.Razor.Compiler.dll: 3578368
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.Css.Parser.dll: 329728
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Microsoft.Extensions.ObjectPool.dll: 25600
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tools/Newtonsoft.Json.dll: 1843200
@ -3015,7 +3002,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/Sdk/Sdk.props: 1346
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/Sdk/Sdk.StaticWebAssets.StaticAssets.ProjectSystem.props: 4890
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/Sdk/Sdk.targets: 1024
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.5_0.targets: 33577
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.Compression.targets: 7466
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.Compression.targets: 10368
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.CrossTargeting.targets: 4439
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.EmbeddedAssets.targets: 18113
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.JSModules.targets: 11399
@ -3026,6 +3013,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.Stati
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.References.targets: 10427
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.ScopedCss.5_0.targets: 25080
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.ScopedCss.targets: 21337
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.ServiceWorkerAssetsManifest.targets: 12518
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.SingleTargeting.targets: 822
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Microsoft.NET.Sdk.StaticWebAssets.targets: 34808
sdk/x.y.z/Sdks/Microsoft.NET.Sdk.StaticWebAssets/targets/Sdk.StaticWebAssets.CurrentVersion.props: 1582
@ -3576,7 +3564,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_5_rec
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_all_warnaserror.globalconfig: 4916
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_all.globalconfig: 4031
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_default_warnaserror.globalconfig: 1860
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_default.globalconfig: 809
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_default.globalconfig: 1031
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_minimum_warnaserror.globalconfig: 3521
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_minimum.globalconfig: 2606
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_none_warnaserror.globalconfig: 3852
@ -3586,7 +3574,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_6_rec
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_all_warnaserror.globalconfig: 4918
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_all.globalconfig: 3858
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_default_warnaserror.globalconfig: 1862
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_default.globalconfig: 636
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_default.globalconfig: 858
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_minimum_warnaserror.globalconfig: 3523
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_minimum.globalconfig: 2433
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_none_warnaserror.globalconfig: 3852
@ -3596,7 +3584,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_7_rec
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_all_warnaserror.globalconfig: 4919
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_all.globalconfig: 3737
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_default_warnaserror.globalconfig: 1863
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_default.globalconfig: 515
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_default.globalconfig: 737
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_minimum_warnaserror.globalconfig: 3524
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_minimum.globalconfig: 2312
sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelusage_8_none_warnaserror.globalconfig: 3852

View file

@ -44,195 +44,6 @@ index ------------
./packs/Microsoft.NETCore.App.Ref/
./packs/Microsoft.NETCore.App.Ref/x.y.z/
./packs/Microsoft.NETCore.App.Ref/x.y.z/analyzers/
@@ ------------ @@
./sdk/x.y.z/Containers/build/
./sdk/x.y.z/Containers/build/Microsoft.NET.Build.Containers.props
./sdk/x.y.z/Containers/build/Microsoft.NET.Build.Containers.targets
-./sdk/x.y.z/Containers/containerize/
-./sdk/x.y.z/Containers/containerize/containerize.deps.json
-./sdk/x.y.z/Containers/containerize/containerize.dll
-./sdk/x.y.z/Containers/containerize/containerize.exe
-./sdk/x.y.z/Containers/containerize/containerize.runtimeconfig.json
-./sdk/x.y.z/Containers/containerize/cs/
-./sdk/x.y.z/Containers/containerize/cs/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/cs/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/cs/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/de/
-./sdk/x.y.z/Containers/containerize/de/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/de/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/de/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/es/
-./sdk/x.y.z/Containers/containerize/es/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/es/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/es/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/fr/
-./sdk/x.y.z/Containers/containerize/fr/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/fr/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/fr/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/it/
-./sdk/x.y.z/Containers/containerize/it/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/it/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/it/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/ja/
-./sdk/x.y.z/Containers/containerize/ja/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/ja/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/ja/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/ko/
-./sdk/x.y.z/Containers/containerize/ko/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/ko/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/ko/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.DotNet.Cli.Utils.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Configuration.Abstractions.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Configuration.Binder.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Configuration.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.DependencyInjection.Abstractions.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.DependencyInjection.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.DependencyModel.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Logging.Abstractions.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Logging.Configuration.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Logging.Console.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Logging.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Options.ConfigurationExtensions.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Options.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.Extensions.Primitives.dll
-./sdk/x.y.z/Containers/containerize/Microsoft.NET.Build.Containers.dll
-./sdk/x.y.z/Containers/containerize/MSBuild.dll
-./sdk/x.y.z/Containers/containerize/Newtonsoft.Json.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Common.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Configuration.dll
-./sdk/x.y.z/Containers/containerize/NuGet.DependencyResolver.Core.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Frameworks.dll
-./sdk/x.y.z/Containers/containerize/NuGet.LibraryModel.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Packaging.Core.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Packaging.dll
-./sdk/x.y.z/Containers/containerize/NuGet.ProjectModel.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Protocol.dll
-./sdk/x.y.z/Containers/containerize/NuGet.Versioning.dll
-./sdk/x.y.z/Containers/containerize/pl/
-./sdk/x.y.z/Containers/containerize/pl/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/pl/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/pl/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/pt-BR/
-./sdk/x.y.z/Containers/containerize/pt-BR/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/pt-BR/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/pt-BR/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/ru/
-./sdk/x.y.z/Containers/containerize/ru/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/ru/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/ru/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/runtimes/
-./sdk/x.y.z/Containers/containerize/runtimes/win/
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll
-./sdk/x.y.z/Containers/containerize/System.CommandLine.dll
-./sdk/x.y.z/Containers/containerize/System.Security.Cryptography.Pkcs.dll
-./sdk/x.y.z/Containers/containerize/System.Security.Cryptography.ProtectedData.dll
-./sdk/x.y.z/Containers/containerize/tr/
-./sdk/x.y.z/Containers/containerize/tr/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/tr/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/tr/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/Valleysoft.DockerCredsProvider.dll
-./sdk/x.y.z/Containers/containerize/zh-Hans/
-./sdk/x.y.z/Containers/containerize/zh-Hans/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/zh-Hans/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/zh-Hans/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/containerize/zh-Hant/
-./sdk/x.y.z/Containers/containerize/zh-Hant/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/containerize/zh-Hant/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/containerize/zh-Hant/System.CommandLine.resources.dll
./sdk/x.y.z/Containers/tasks/
-./sdk/x.y.z/Containers/tasks/net472/
-./sdk/x.y.z/Containers/tasks/net472/cs/
-./sdk/x.y.z/Containers/tasks/net472/cs/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/cs/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/cs/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/de/
-./sdk/x.y.z/Containers/tasks/net472/de/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/de/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/de/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/es/
-./sdk/x.y.z/Containers/tasks/net472/es/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/es/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/es/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/fr/
-./sdk/x.y.z/Containers/tasks/net472/fr/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/fr/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/fr/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/it/
-./sdk/x.y.z/Containers/tasks/net472/it/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/it/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/it/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ja/
-./sdk/x.y.z/Containers/tasks/net472/ja/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ja/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ja/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ko/
-./sdk/x.y.z/Containers/tasks/net472/ko/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ko/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ko/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Bcl.AsyncInterfaces.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.DotNet.Cli.Utils.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.DotNet.Cli.Utils.dll.config
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.DependencyInjection.Abstractions.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.DependencyInjection.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.DependencyModel.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.Logging.Abstractions.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.Logging.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.Options.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.Extensions.Primitives.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.NET.Build.Containers.deps.json
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.NET.Build.Containers.dll
-./sdk/x.y.z/Containers/tasks/net472/Microsoft.NET.Build.Containers.dll.config
-./sdk/x.y.z/Containers/tasks/net472/Newtonsoft.Json.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Common.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Configuration.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.DependencyResolver.Core.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Frameworks.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.LibraryModel.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Packaging.Core.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Packaging.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.ProjectModel.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Protocol.dll
-./sdk/x.y.z/Containers/tasks/net472/NuGet.Versioning.dll
-./sdk/x.y.z/Containers/tasks/net472/pl/
-./sdk/x.y.z/Containers/tasks/net472/pl/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/pl/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/pl/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/pt-BR/
-./sdk/x.y.z/Containers/tasks/net472/pt-BR/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/pt-BR/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/pt-BR/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ru/
-./sdk/x.y.z/Containers/tasks/net472/ru/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ru/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/ru/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Buffers.dll
-./sdk/x.y.z/Containers/tasks/net472/System.CommandLine.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Diagnostics.DiagnosticSource.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Memory.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Numerics.Vectors.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Runtime.CompilerServices.Unsafe.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Text.Encodings.Web.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Text.Json.dll
-./sdk/x.y.z/Containers/tasks/net472/System.Threading.Tasks.Extensions.dll
-./sdk/x.y.z/Containers/tasks/net472/System.ValueTuple.dll
-./sdk/x.y.z/Containers/tasks/net472/tr/
-./sdk/x.y.z/Containers/tasks/net472/tr/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/tr/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/tr/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/Valleysoft.DockerCredsProvider.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hans/
-./sdk/x.y.z/Containers/tasks/net472/zh-Hans/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hans/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hans/System.CommandLine.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hant/
-./sdk/x.y.z/Containers/tasks/net472/zh-Hant/Microsoft.DotNet.Cli.Utils.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hant/Microsoft.NET.Build.Containers.resources.dll
-./sdk/x.y.z/Containers/tasks/net472/zh-Hant/System.CommandLine.resources.dll
./sdk/x.y.z/Containers/tasks/netx.y/
./sdk/x.y.z/Containers/tasks/netx.y/cs/
./sdk/x.y.z/Containers/tasks/netx.y/cs/Microsoft.DotNet.Cli.Utils.resources.dll
@@ ------------ @@
./sdk/x.y.z/Microsoft.Build.NuGetSdkResolver.dll
./sdk/x.y.z/Microsoft.Build.Tasks.Core.dll

View file

@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ella Hathaway <ellahath@umich.edu>
Date: Wed, 13 Mar 2024 22:02:04 +0000
Subject: [PATCH] Downgrade Microsoft.ApplicationInsights
Backport: https://github.com/dotnet/source-build/issues/4228
---
Directory.Packages.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 7546dc0b..09a3f791 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -76,7 +76,7 @@
<PackageVersion Include="JetBrains.Annotations" Version="2018.2.1" />
<PackageVersion Include="LZMA-SDK" Version="19.0.0" />
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="2.3.0" />
- <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.22.0" />
+ <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" />
<PackageVersion Include="Microsoft.Data.OData" Version="5.8.4" />
<PackageVersion Include="Microsoft.DataServices.Client" Version="$(MicrosoftDataServicesClientVersion)" />
<PackageVersion Include="Microsoft.Diagnostics.Runtime" Version="1.0.5" />

View file

@ -0,0 +1,87 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 21:11:28 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/aspnetcore/pull/54422
---
eng/Publishing.props | 10 +++++++++-
eng/build.sh | 9 +++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/eng/Publishing.props b/eng/Publishing.props
index 7edbb21d21..d00d8d91d2 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -38,6 +38,8 @@
<!-- Remove wixpacks if not doing post-build signing, since they are not needed -->
<_InstallersToPublish Remove="@(WixPacksToPublish)" Condition="'$(PostBuildSign)' != 'true'" />
<_ChecksumsToPublish Include="$(ArtifactsDir)installers\**\*.sha512" />
+ <!-- Version file, for VMR build -->
+ <_VersionFileToPublish Include="$(ArtifactsDir)installers\**\aspnetcore_base_runtime.version" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
</ItemGroup>
<Target
@@ -64,7 +66,7 @@
the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
to be published. Use ArcadeBuildFromSource as DotNetBuildFromSource is only set in the internal source build,
and Build.proj is invoked from the wrapper build. -->
- <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(ArcadeBuildFromSource)' != 'true'" />
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
<ItemsToPushToBlobFeed Include="@(_ChecksumsToPublish)">
<ManifestArtifactData>NonShipping=true</ManifestArtifactData>
@@ -72,6 +74,12 @@
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
</ItemsToPushToBlobFeed>
+ <ItemsToPushToBlobFeed Include="@(_VersionFileToPublish)">
+ <ManifestArtifactData>NonShipping=true</ManifestArtifactData>
+ <PublishFlatContainer>true</PublishFlatContainer>
+ <RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
+ </ItemsToPushToBlobFeed>
+
<ItemsToPushToBlobFeed Include="@(_InstallersToPublish)" Condition="! $([System.String]::Copy('%(Filename)').ToLower().Contains('internal'))">
<ManifestArtifactData>NonShipping=false</ManifestArtifactData>
<PublishFlatContainer>true</PublishFlatContainer>
diff --git a/eng/build.sh b/eng/build.sh
index 51a2cd6ecd..cfc42f1ceb 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -18,6 +18,7 @@ verbosity='minimal'
run_restore=''
run_build=true
run_pack=false
+run_publish=false
run_tests=false
build_all=false
build_deps=true
@@ -62,6 +63,7 @@ Options:
--[no-]build Compile projects. (Implies --no-restore)
--[no-]pack Produce packages.
--[no-]test Run tests.
+ --[no-]publish Run publish.
--projects A list of projects to build. (Must be an absolute path.)
Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\".
@@ -152,6 +154,12 @@ while [[ $# -gt 0 ]]; do
-no-pack|-nopack)
run_pack=false
;;
+ -publish)
+ run_publish=true
+ ;;
+ -no-publish|-nopublish)
+ run_publish=false
+ ;;
-test|-t)
run_tests=true
;;
@@ -286,6 +294,7 @@ if [ "$run_build" = false ]; then
msbuild_args[${#msbuild_args[*]}]="-p:NoBuild=true"
fi
msbuild_args[${#msbuild_args[*]}]="-p:Pack=$run_pack"
+msbuild_args[${#msbuild_args[*]}]="-p:Publish=$run_publish"
msbuild_args[${#msbuild_args[*]}]="-p:Test=$run_tests"
msbuild_args[${#msbuild_args[*]}]="-p:TargetArchitecture=$target_arch"

View file

@ -0,0 +1,109 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 21:20:16 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/NuGet/NuGet.Client/pull/5673
---
Directory.Packages.props | 1 +
eng/Publishing.props | 31 ++++++++++++++++++++++++++
eng/source-build/source-build.proj | 35 ++++++++++++++++++++++++++++++
3 files changed, 67 insertions(+)
create mode 100644 eng/Publishing.props
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5de784200..789f9493f 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -179,6 +179,7 @@
<_allowBuildFromSourcePackage Include="Microsoft.Build.Utilities.Core" />
<_allowBuildFromSourcePackage Include="Microsoft.Build" />
<_allowBuildFromSourcePackage Include="Microsoft.CSharp" />
+ <_allowBuildFromSourcePackage Include="Microsoft.DotNet.Build.Tasks.Feed" />
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.CommandLineUtils.Sources" />
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.FileProviders.Abstractions" />
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.FileSystemGlobbing" />
diff --git a/eng/Publishing.props b/eng/Publishing.props
new file mode 100644
index 000000000..81f0204a7
--- /dev/null
+++ b/eng/Publishing.props
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project>
+ <PropertyGroup>
+ <PublishingVersion>3</PublishingVersion>
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
+ <_PackagesToPublish Include="$(ArtifactsDir)nupkgs/*.nupkg" UploadPathSegment="nuget-client" Condition="'$(DotNetBuildFromSource)' == 'true'" />
+ <_SymbolsPackages Include="$(ArtifactsDir)nupkgs/*.symbols.nupkg" />
+ <_PackagesToPublish Remove="@(_SymbolsPackages)" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishPackages">
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
+ <IsShipping>true</IsShipping>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
+</Project>
\ No newline at end of file
diff --git a/eng/source-build/source-build.proj b/eng/source-build/source-build.proj
index 612811d81..3485a4212 100644
--- a/eng/source-build/source-build.proj
+++ b/eng/source-build/source-build.proj
@@ -62,6 +62,41 @@
Properties="Configuration=$(BuildConfiguration);DotNetBuildFromSource=true"
Targets="PackXPlat" />
+ <ItemGroup>
+ <_AfterSourceBuildProperties Include="_NETCORE_ENGINEERING_TELEMETRY=AfterSourceBuild" />
+ <_AfterSourceBuildProperties Include="ArcadeBuildFromSource=true"/>
+ <_AfterSourceBuildProperties Include="ArcadeInnerBuildFromSource=true"/>
+ </ItemGroup>
+
+ <MSbuild Projects="$(ArcadeDir)/SourceBuild/AfterSourceBuild.proj"
+ Properties="@(_AfterSourceBuildProperties)"
+ />
+
+ <ItemGroup>
+ <_PublishProperties Include="_NETCORE_ENGINEERING_TELEMETRY=Publish" />
+ <_PublishProperties Include="Configuration=$(Configuration)" />
+ <_PublishProperties Include="ArcadeBuildFromSource=$(ArcadeBuildFromSource)" />
+ <_PublishProperties Include="ArcadeInnerBuildFromSource=true" />
+ <_PublishProperties Include="DotNetBuildFromSource=$(DotNetBuildFromSource)" />
+ <_PublishProperties Include="DotNetBuildFromSourceFlavor=$(DotNetBuildFromSourceFlavor)" />
+ <_PublishProperties Include="DotNetBuildInnerRepo=true" />
+ <_PublishProperties Include="DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)" />
+ <_PublishProperties Include="DotNetBuildPhase=InnerRepo" />
+ <_PublishProperties Include="DotNetBuildRepo=$(DotNetBuildRepo)" />
+ <_PublishProperties Include="DotNetBuildSourceOnly=$(DotNetBuildSourceOnly)" />
+ <_PublishProperties Include="DotNetPublishUsingPipelines=true" />
+ <_PublishProperties Include="PublishToSymbolServer=false" />
+ <_PublishProperties Include="AssetsLocalStorageDir=$(SourceBuiltAssetsDir)" />
+ <_PublishProperties Include="ShippingPackagesLocalStorageDir=$(SourceBuiltShippingPackagesDir)" />
+ <_PublishProperties Include="NonShippingPackagesLocalStorageDir=$(SourceBuiltNonShippingPackagesDir)" />
+ <_PublishProperties Include="AssetManifestsLocalStorageDir=$(SourceBuiltAssetManifestsDir)" />
+ </ItemGroup>
+
+ <MSBuild Projects="$(ArcadeDir)Publish.proj"
+ Properties="@(_PublishProperties)"
+ Targets="Publish"
+ Condition="'$(DotNetBuildOrchestrator)' == 'true'" />
+
</Target>
<Target Name="ApplySourceBuildPatchFiles">

View file

@ -0,0 +1,148 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Sat, 16 Mar 2024 05:17:27 +0000
Subject: [PATCH] Revert non-determinism in NuGet local sources
Revert of https://github.com/NuGet/NuGet.Client/commit/f54c58fdfce13feb68b846bd7a7e50058298afbc
---
.../SourceRepositoryDependencyProvider.cs | 64 ++++++++++++-------
1 file changed, 41 insertions(+), 23 deletions(-)
diff --git a/src/NuGet.Core/NuGet.Commands/RestoreCommand/SourceRepositoryDependencyProvider.cs b/src/NuGet.Core/NuGet.Commands/RestoreCommand/SourceRepositoryDependencyProvider.cs
index 4afc27f81..501a51985 100644
--- a/src/NuGet.Core/NuGet.Commands/RestoreCommand/SourceRepositoryDependencyProvider.cs
+++ b/src/NuGet.Core/NuGet.Commands/RestoreCommand/SourceRepositoryDependencyProvider.cs
@@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
+using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
@@ -35,8 +36,11 @@ public class SourceRepositoryDependencyProvider : IRemoteDependencyProvider
private bool _isFallbackFolderSource;
private bool _useLegacyAssetTargetFallbackBehavior;
- private readonly TaskResultCache<LibraryRangeCacheKey, LibraryDependencyInfo> _dependencyInfoCache = new();
- private readonly TaskResultCache<LibraryRange, LibraryIdentity> _libraryMatchCache = new();
+ private readonly ConcurrentDictionary<LibraryRangeCacheKey, AsyncLazy<LibraryDependencyInfo>> _dependencyInfoCache
+ = new ConcurrentDictionary<LibraryRangeCacheKey, AsyncLazy<LibraryDependencyInfo>>();
+
+ private readonly ConcurrentDictionary<LibraryRange, AsyncLazy<LibraryIdentity>> _libraryMatchCache
+ = new ConcurrentDictionary<LibraryRange, AsyncLazy<LibraryIdentity>>();
// Limiting concurrent requests to limit the amount of files open at a time.
private readonly static SemaphoreSlim _throttle = GetThrottleSemaphoreSlim(EnvironmentVariableWrapper.Instance);
@@ -202,15 +206,23 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
cancellationToken.ThrowIfCancellationRequested();
- try
+ AsyncLazy<LibraryIdentity> result = null;
+
+ var action = new AsyncLazy<LibraryIdentity>(async () =>
+ await FindLibraryCoreAsync(libraryRange, cacheContext, logger, cancellationToken));
+
+ if (cacheContext.RefreshMemoryCache)
{
- LibraryIdentity result = await _libraryMatchCache.GetOrAddAsync(
- libraryRange,
- cacheContext.RefreshMemoryCache,
- static state => state.caller.FindLibraryCoreAsync(state.libraryRange, state.cacheContext, state.logger, state.cancellationToken),
- (caller: this, libraryRange, cacheContext, logger, cancellationToken), cancellationToken);
+ result = _libraryMatchCache.AddOrUpdate(libraryRange, action, (k, v) => action);
+ }
+ else
+ {
+ result = _libraryMatchCache.GetOrAdd(libraryRange, action);
+ }
- return result;
+ try
+ {
+ return await result;
}
catch (FatalProtocolException e)
{
@@ -224,7 +236,6 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
throw;
}
}
-
return null;
}
@@ -234,6 +245,7 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
ILogger logger,
CancellationToken cancellationToken)
{
+
await EnsureResource(cancellationToken);
if (libraryRange.VersionRange?.MinVersion != null && libraryRange.VersionRange.IsMinInclusive && !libraryRange.VersionRange.IsFloating)
@@ -310,7 +322,7 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
/// is either <see langword="null" /> or empty.</exception>
/// <exception cref="OperationCanceledException">Thrown if <paramref name="cancellationToken" />
/// is cancelled.</exception>
- public Task<LibraryDependencyInfo> GetDependenciesAsync(
+ public async Task<LibraryDependencyInfo> GetDependenciesAsync(
LibraryIdentity libraryIdentity,
NuGetFramework targetFramework,
SourceCacheContext cacheContext,
@@ -339,13 +351,23 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
cancellationToken.ThrowIfCancellationRequested();
- LibraryRangeCacheKey key = new(libraryIdentity, targetFramework);
+ AsyncLazy<LibraryDependencyInfo> result = null;
+
+ var action = new AsyncLazy<LibraryDependencyInfo>(async () =>
+ await GetDependenciesCoreAsync(libraryIdentity, targetFramework, cacheContext, logger, cancellationToken));
+
+ var key = new LibraryRangeCacheKey(libraryIdentity, targetFramework);
- return _dependencyInfoCache.GetOrAddAsync(
- key,
- cacheContext.RefreshMemoryCache,
- static state => state.caller.GetDependenciesCoreAsync(state.libraryIdentity, state.targetFramework, state.cacheContext, state.logger, state.cancellationToken),
- (caller: this, libraryIdentity, targetFramework, cacheContext, logger, cancellationToken), cancellationToken);
+ if (cacheContext.RefreshMemoryCache)
+ {
+ result = _dependencyInfoCache.AddOrUpdate(key, action, (k, v) => action);
+ }
+ else
+ {
+ result = _dependencyInfoCache.GetOrAdd(key, action);
+ }
+
+ return await result;
}
private async Task<LibraryDependencyInfo> GetDependenciesCoreAsync(
@@ -390,12 +412,10 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
_throttle?.Release();
}
- LibraryDependencyInfo libraryDependencyInfo = null;
-
if (packageInfo == null)
{
// Package was not found
- libraryDependencyInfo = LibraryDependencyInfo.CreateUnresolved(match, targetFramework);
+ return LibraryDependencyInfo.CreateUnresolved(match, targetFramework);
}
else
{
@@ -407,10 +427,8 @@ internal static SemaphoreSlim GetThrottleSemaphoreSlim(IEnvironmentVariableReade
IEnumerable<LibraryDependency> dependencyGroup = GetDependencies(packageInfo, targetFramework);
- libraryDependencyInfo = LibraryDependencyInfo.Create(originalIdentity, targetFramework, dependencies: dependencyGroup);
+ return LibraryDependencyInfo.Create(originalIdentity, targetFramework, dependencies: dependencyGroup);
}
-
- return libraryDependencyInfo;
}
/// <summary>

View file

@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 21:52:02 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/roslyn-analyzers/pull/7233
---
eng/Publishing.props | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/eng/Publishing.props b/eng/Publishing.props
index 579a1360d..c71638ecb 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -1,7 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
- <PropertyGroup>
- <PublishingVersion>3</PublishingVersion>
- <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
- </PropertyGroup>
-</Project>
+ <PropertyGroup>
+ <PublishingVersion>3</PublishingVersion>
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Roslyn-analyzers" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishPackages">
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
+ <IsShipping>true</IsShipping>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
+</Project>
\ No newline at end of file

View file

@ -0,0 +1,104 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 21:59:41 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/runtime/pull/99432
---
eng/DotNetBuild.props | 10 ++++++++
eng/Publishing.props | 54 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
diff --git a/eng/DotNetBuild.props b/eng/DotNetBuild.props
index a6350c7fea9..c7ee305fecc 100644
--- a/eng/DotNetBuild.props
+++ b/eng/DotNetBuild.props
@@ -45,6 +45,10 @@
<!-- Properties that control source-only build configurations should be added to the repository and guarded with DotNetBuildSourceOnly conditions.
This allows to build the repository using './build.sh <args> /p:DotNetBuildSourceOnly=true'.
Properties that control flags from the VMR build, and the expected output for the VMR build should be added to this file. -->
+
+ <!-- Enable regular Arcade publishing in VMR build -->
+ <InnerBuildArgs Condition="'$(DotNetBuildFromSourceFlavor)' == 'Product' or '$(DotNetBuildOrchestrator)' == 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)restore $(FlagParameterPrefix)build $(FlagParameterPrefix)publish</InnerBuildArgs>
+
<InnerBuildArgs>$(InnerBuildArgs) $(FlagParameterPrefix)arch $(TargetArch)</InnerBuildArgs>
<InnerBuildArgs Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)os $(TargetOS)</InnerBuildArgs>
<InnerBuildArgs Condition="'$(TargetArch)' != '$(_hostArch)' and '$(ShortStack)' != 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)cross</InnerBuildArgs>
@@ -74,6 +78,12 @@
<InnerBuildArgs Condition="'$(ContinuousIntegrationBuild)' != ''">$(InnerBuildArgs) /p:ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)</InnerBuildArgs>
<InnerBuildArgs Condition="'$(PortableBuild)' != ''">$(InnerBuildArgs) /p:PortableBuild=$(PortableBuild)</InnerBuildArgs>
<InnerBuildArgs Condition="'$(RestoreConfigFile)' != ''">$(InnerBuildArgs) /p:RestoreConfigFile=$(RestoreConfigFile)</InnerBuildArgs>
+
+ <!-- Pass locations for assets and packages -->
+ <InnerBuildArgs Condition="'$(SourceBuiltAssetsDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltAssetsDir=$(SourceBuiltAssetsDir)</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuiltShippingPackagesDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltShippingPackagesDir=$(SourceBuiltShippingPackagesDir)</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuiltNonShippingPackagesDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltNonShippingPackagesDir=$(SourceBuiltNonShippingPackagesDir)</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuiltAssetManifestsDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltAssetManifestsDir=$(SourceBuiltAssetManifestsDir)</InnerBuildArgs>
</PropertyGroup>
</Target>
diff --git a/eng/Publishing.props b/eng/Publishing.props
index 8b796225f82..348da87600d 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -2,6 +2,60 @@
<PropertyGroup>
<ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallers</PublishDependsOnTargets>
</PropertyGroup>
+ <ItemGroup>
+ <_InstallersToPublish Remove="@(_InstallersToPublish)" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.tar.gz" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.zip" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.deb" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.rpm" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.exe" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.msi" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishInstallers">
+
+ <ItemGroup>
+ <_SymbolsArchive Include="$(ArtifactsPackagesDir)**\Symbols.runtime.tar.gz" Condition="'$(DotNetBuildFromSource)' == 'true'" />
+ <!-- Exclude Symbols archive as it is already included, with correct blob path, in Publish.proj. -->
+ <_InstallersToPublish Remove="@(_SymbolsArchive)" Condition="'$(DotNetBuildFromSource)' == 'true'" />
+ </ItemGroup>
+
+ <!-- Discover the runtime package version from dotnet-runtime-<version-<Rid>.<Extension> archive. -->
+ <PropertyGroup>
+ <_RuntimeFilenamePrefix>dotnet-runtime-</_RuntimeFilenamePrefix>
+ <_PackageRid>$(OutputRID)</_PackageRid>
+ <!-- Use TargetRid if OutputRID isn't available, i.e. on Windows. -->
+ <_PackageRid Condition="'$(_PackageRid)' == ''">$(TargetRid)</_PackageRid>
+ </PropertyGroup>
+ <ItemGroup>
+ <_RuntimeArchiveItem Include="$(ArtifactsPackagesDir)**\$(_RuntimeFilenamePrefix)*$(_PackageRid)$(ArchiveExtension)" />
+ <_RuntimeInternalArchiveItem Include="$(ArtifactsPackagesDir)**\dotnet-runtime-internal*$(_PackageRid)$(ArchiveExtension)" />
+ <_RuntimeArchiveItem Remove="@(_RuntimeInternalArchiveItem)" />
+ </ItemGroup>
+
+ <!-- Extract runtime version from runtime archive filename. -->
+ <PropertyGroup>
+ <_RuntimeArchiveFilename>%(_RuntimeArchiveItem.Filename)%(_RuntimeArchiveItem.Extension)</_RuntimeArchiveFilename>
+ <_RuntimeVersion>$(_RuntimeArchiveFilename.Replace('$(_RuntimeFilenamePrefix)','').Replace('-$(_PackageRid)$(ArchiveExtension)',''))</_RuntimeVersion>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
+ <ManifestArtifactData>NonShipping=false</ManifestArtifactData>
+ <PublishFlatContainer>true</PublishFlatContainer>
+ <RelativeBlobPath>%(_InstallersToPublish.UploadPathSegment)/$(_RuntimeVersion)/%(Filename)%(Extension)</RelativeBlobPath>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
</Project>

View file

@ -0,0 +1,42 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 22:10:43 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/source-build-externals/pull/275
---
eng/Publishing.props | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/eng/Publishing.props b/eng/Publishing.props
index d3aa836..3629bb8 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -2,5 +2,27 @@
<Project>
<PropertyGroup>
<PublishingVersion>3</PublishingVersion>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
</PropertyGroup>
+
+ <ItemGroup>
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishPackages">
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
+ <IsShipping>true</IsShipping>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
</Project>

View file

@ -0,0 +1,45 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 22:15:41 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/symreader/pull/312
---
eng/Publishing.props | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 eng/Publishing.props
diff --git a/eng/Publishing.props b/eng/Publishing.props
new file mode 100644
index 0000000..3629bb8
--- /dev/null
+++ b/eng/Publishing.props
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project>
+ <PropertyGroup>
+ <PublishingVersion>3</PublishingVersion>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishPackages">
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
+ <IsShipping>true</IsShipping>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
+</Project>

View file

@ -0,0 +1,57 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 7 Mar 2024 22:19:59 +0000
Subject: [PATCH] Enable publishing in VMR
Backport: https://github.com/dotnet/windowsdesktop/pull/4215
---
eng/Publishing.props | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-)
diff --git a/eng/Publishing.props b/eng/Publishing.props
index a2ad9884..0426da4f 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -1,5 +1,37 @@
<Project>
- <PropertyGroup>
- <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
- </PropertyGroup>
-</Project>
\ No newline at end of file
+
+ <PropertyGroup>
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallers</PublishDependsOnTargets>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <_InstallersToPublish Remove="@(_InstallersToPublish)" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.zip" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.exe" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.msi" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
+ </ItemGroup>
+
+ <Target Name="_PublishInstallers">
+
+ <ItemGroup>
+ <!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
+ Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
+ the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
+ and Build.proj is invoked from the wrapper build. -->
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
+
+ <!--
+ MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion is x64 version - there is no Rid-specific property.
+ TODO: This will need to be updated to support arm64.
+ -->
+ <ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
+ <ManifestArtifactData>NonShipping=false</ManifestArtifactData>
+ <PublishFlatContainer>true</PublishFlatContainer>
+ <RelativeBlobPath>%(_InstallersToPublish.UploadPathSegment)/$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
+ </ItemsToPushToBlobFeed>
+ </ItemGroup>
+ </Target>
+
+</Project>

View file

@ -8,7 +8,7 @@
<PropertyGroup>
<RuntimeNETCoreAppPackageName>microsoft.netcore.app.runtime.$(SharedFrameworkRid)</RuntimeNETCoreAppPackageName>
<RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
<CrossgenPath>$(NuGetPackageRoot)/$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
<CrossgenPath>$(NuGetPackageRoot)$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
<!-- When ingesting stable pgo instrumented binaries, the shared framework will be a non-stable version,
as will the archive file names themselves. -->
<SharedFrameworkNameVersionPath Condition=" '$(PgoInstrument)' != 'true' ">$(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedFrameworkNameVersionPath>

View file

@ -407,6 +407,7 @@
linux-x64;
linux-arm;
linux-arm64;
linux-bionic-arm;
linux-musl-x64;
linux-musl-arm;
linux-musl-arm64;

View file

@ -102,23 +102,18 @@
</PropertyGroup>
<!-- Generate the version specific URLs to the targeting packs, runtime packs, etc. -->
<!-- VMR builds currently use a flat layout under the provided PublicBaseURL -->
<PropertyGroup>
<NetRuntimeRootUrl>$(PublicBaseURL)Runtime/$(NetRuntimeBlobVersion)</NetRuntimeRootUrl>
<NetRuntimeRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</NetRuntimeRootUrl>
<NetStandardTargetingPackRootUrl>$(OfficialBaseURL)Runtime/$(NETStandardTargetingPackBlobVersion)</NetStandardTargetingPackRootUrl>
<AspNetCoreSharedFxRootUrl>$(PublicBaseURL)aspnetcore/Runtime/$(AspNetCoreBlobVersion)</AspNetCoreSharedFxRootUrl>
<AspNetCoreSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' and '$(DotNetBuildSourceOnly)' == 'true'">$(PublicBaseURL)</AspNetCoreSharedFxRootUrl>
<!-- Aspnet is not currently built in the VMR. Remove this line when https://github.com/dotnet/source-build/issues/4022 is complete. -->
<AspNetCoreSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' and '$(DotNetBuildSourceOnly)' != 'true'">$(FallbackPublicBaseURL)aspnetcore/Runtime/$(AspNetCoreBlobVersion)</AspNetCoreSharedFxRootUrl>
<WinFormsAndWpfSharedFxRootUrl>$(PublicBaseURL)WindowsDesktop/$(WindowsDesktopBlobVersion)</WinFormsAndWpfSharedFxRootUrl>
<WinFormsAndWpfSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</WinFormsAndWpfSharedFxRootUrl>
<ToolsetArchiveRootUrl>$(PublicBaseURL)Sdk/$(MicrosoftDotnetToolsetInternalPackageVersion)</ToolsetArchiveRootUrl>
<ToolsetArchiveRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</ToolsetArchiveRootUrl>
<NetRuntimeDownloadDirectory>$(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppRuntimePackageVersion)</NetRuntimeDownloadDirectory>
<CombinedSharedHostAndFrameworkArchive>$(NetRuntimeDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension)</CombinedSharedHostAndFrameworkArchive>