merge conflicts
This commit is contained in:
commit
2bf20edad6
234 changed files with 2238 additions and 2897 deletions
|
@ -3,7 +3,7 @@
|
|||
"isRoot": true,
|
||||
"tools": {
|
||||
"microsoft.dotnet.darc": {
|
||||
"version": "1.1.0-beta.22554.2",
|
||||
"version": "1.1.0-beta.23053.1",
|
||||
"commands": [
|
||||
"darc"
|
||||
]
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet
|
||||
{
|
||||
"name": "Source-Build w/ Built Tarball",
|
||||
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36",
|
||||
// A completely built .NET source-tarball is >64 GB
|
||||
"hostRequirements": {
|
||||
"storage": "128gb"
|
||||
},
|
||||
// Configure tool-specific properties.
|
||||
"customizations": {
|
||||
// Configure properties specific to VS Code.
|
||||
"vscode": {
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"ms-dotnettools.csharp",
|
||||
"eamodio.gitlens"
|
||||
]
|
||||
}
|
||||
},
|
||||
// Use 'onCreateCommand' to run pre-build commands inside the codespace.
|
||||
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/source-build-scripts/buildTarball.sh"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
./.devcontainer/source-build-scripts/createTarball.sh
|
||||
|
||||
cd $(realpath ..)/dotnet-source/
|
||||
|
||||
./prep.sh
|
||||
|
||||
# GitHub Codespaces automatically sets RepositoryName, which conflicts with source-build scripts.
|
||||
unset RepositoryName
|
||||
|
||||
./build.sh --online --clean-while-building || true
|
|
@ -1,7 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Always return exit code 0 so that we can use the codespaces prebuild to diagnose build errors.
|
||||
./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=$(realpath ..)/dotnet-source/ /p:PreserveTarballGitFolders=true || true
|
||||
|
||||
# Save the commit hash of the currently built repo, so developers know which version was built
|
||||
git rev-parse HEAD > ./artifacts/prebuild.sha
|
|
@ -1,20 +0,0 @@
|
|||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet
|
||||
{
|
||||
"name": "Source-Build w/ Tarball",
|
||||
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36",
|
||||
// A completely built .NET source tarball is >64 GB
|
||||
"hostRequirements": {
|
||||
"storage": "128gb"
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"ms-dotnettools.csharp",
|
||||
"eamodio.gitlens"
|
||||
]
|
||||
}
|
||||
},
|
||||
// Use 'onCreateCommand' to run pre-build commands inside the codespace.
|
||||
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/scripts/createTarball.sh"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
// Use this devcontainer if you don't need the full context of a source-build tarball
|
||||
{
|
||||
"name": "Source-Build",
|
||||
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36"
|
||||
}
|
93
.vsts-ci.yml
93
.vsts-ci.yml
|
@ -10,6 +10,19 @@ trigger:
|
|||
- internal/release/6.*
|
||||
- internal/release/7.*
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: vmr
|
||||
type: github
|
||||
name: dotnet/dotnet
|
||||
endpoint: dotnet
|
||||
|
||||
parameters:
|
||||
- name: vmrBranch
|
||||
displayName: dotnet/dotnet branch to push to
|
||||
type: string
|
||||
default: $(Build.SourceBranchName)
|
||||
|
||||
variables:
|
||||
- name: _PublishUsingPipelines
|
||||
value: false
|
||||
|
@ -20,6 +33,8 @@ variables:
|
|||
- name: PostBuildSign
|
||||
value: true
|
||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- name: Codeql.Enabled
|
||||
value: true
|
||||
- group: DotNet-DotNetCli-Storage
|
||||
- group: DotNet-Installer-SDLValidation-Params
|
||||
- name: _PublishUsingPipelines
|
||||
|
@ -58,7 +73,7 @@ stages:
|
|||
|
||||
## Windows
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
jobName: Build_Debug_x64
|
||||
|
@ -69,7 +84,7 @@ stages:
|
|||
|
||||
## Linux
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Ubuntu_22_04_Debug_x64
|
||||
|
@ -78,7 +93,7 @@ stages:
|
|||
buildArchitecture: x64
|
||||
linuxPortable: true
|
||||
runTests: true
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Fedora_36_Debug_x64
|
||||
|
@ -87,7 +102,7 @@ stages:
|
|||
buildArchitecture: x64
|
||||
linuxPortable: true
|
||||
runTests: true
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_CentOS_7_Debug_x64
|
||||
|
@ -96,7 +111,7 @@ stages:
|
|||
buildArchitecture: x64
|
||||
linuxPortable: false
|
||||
runTests: true
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Debian_Stretch_Debug_x64
|
||||
|
@ -106,7 +121,7 @@ stages:
|
|||
additionalBuildParameters: '/p:BuildSdkDeb=true'
|
||||
linuxPortable: false
|
||||
runTests: true
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Arm64_Debug
|
||||
|
@ -116,7 +131,7 @@ stages:
|
|||
linuxPortable: true
|
||||
# Never run tests on arm64
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_musl_Debug_x64
|
||||
|
@ -128,7 +143,7 @@ stages:
|
|||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||
linuxPortable: false
|
||||
runTests: true
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_LinuxPortable_Release_x64
|
||||
|
@ -139,7 +154,7 @@ stages:
|
|||
|
||||
# MacOS
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Darwin
|
||||
jobName: Build_Release_x64
|
||||
|
@ -153,7 +168,7 @@ stages:
|
|||
|
||||
## Windows
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
jobName: Build_Release_x64
|
||||
|
@ -161,14 +176,14 @@ stages:
|
|||
buildArchitecture: x64
|
||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
jobName: Build_Release_x86
|
||||
buildConfiguration: Release
|
||||
buildArchitecture: x86
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
jobName: Build_Release_arm64
|
||||
|
@ -178,7 +193,7 @@ stages:
|
|||
|
||||
## Linux
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Arm_Release
|
||||
|
@ -187,7 +202,7 @@ stages:
|
|||
runtimeIdentifier: 'linux-arm'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Arm64_Release
|
||||
|
@ -196,7 +211,7 @@ stages:
|
|||
runtimeIdentifier: 'linux-arm64'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_musl_Release_arm
|
||||
|
@ -207,7 +222,7 @@ stages:
|
|||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||
linuxPortable: false
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_musl_Release_arm64
|
||||
|
@ -217,7 +232,7 @@ stages:
|
|||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||
linuxPortable: false
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_musl_Release_x64
|
||||
|
@ -229,7 +244,7 @@ stages:
|
|||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||
linuxPortable: false
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_Portable_Deb_Release_x64
|
||||
|
@ -241,7 +256,7 @@ stages:
|
|||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_Portable_Rpm_Release_x64
|
||||
|
@ -253,7 +268,7 @@ stages:
|
|||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Linux_Portable_Rpm_Release_Arm64
|
||||
|
@ -266,7 +281,7 @@ stages:
|
|||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_LinuxPortable_Release_x64
|
||||
|
@ -277,14 +292,14 @@ stages:
|
|||
|
||||
# MacOS
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Darwin
|
||||
jobName: Build_Release_x64
|
||||
buildConfiguration: Release
|
||||
buildArchitecture: x64
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Darwin
|
||||
jobName: Build_Release_arm64
|
||||
|
@ -295,7 +310,7 @@ stages:
|
|||
|
||||
## Windows PGO Instrumentation builds
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
pgoInstrument: true
|
||||
|
@ -304,7 +319,7 @@ stages:
|
|||
buildArchitecture: x64
|
||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
pgoInstrument: true
|
||||
|
@ -312,7 +327,7 @@ stages:
|
|||
buildConfiguration: Release
|
||||
buildArchitecture: x86
|
||||
runTests: false
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Windows_NT
|
||||
pgoInstrument: true
|
||||
|
@ -323,7 +338,7 @@ stages:
|
|||
|
||||
## Linux PGO Instrumentation builds
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
pgoInstrument: true
|
||||
|
@ -333,7 +348,7 @@ stages:
|
|||
linuxPortable: true
|
||||
runTests: false
|
||||
|
||||
- template: /eng/build.yml
|
||||
- template: eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
pgoInstrument: true
|
||||
|
@ -345,12 +360,24 @@ stages:
|
|||
|
||||
- template: /eng/common/templates/jobs/source-build.yml
|
||||
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
|
||||
|
||||
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- stage: Synchronize_VMR
|
||||
displayName: Synchronize VMR
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: eng/pipelines/templates/jobs/vmr-synchronization.yml
|
||||
parameters:
|
||||
dependsOn: Source_Build_Create_Tarball
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
|
||||
# In case the VMR Build stage needs to be temporarily disabled, please make sure that
|
||||
# the VMR synchronization step is run to validate that the PR can be merged and later
|
||||
# synchronized into the VMR without problems.
|
||||
# You can do this by allowing the Synchronize_VMR stage from above in PRs.
|
||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- template: eng/pipelines/templates/stages/vmr-build.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
isBuiltFromVmr: false
|
||||
|
||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- stage: Publish
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<clear />
|
||||
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
|
||||
<!-- Begin: Package sources from dotnet-sdk -->
|
||||
<add key="darc-pub-dotnet-sdk-d609699" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-sdk-d6096999/nuget/v3/index.json" />
|
||||
<!-- End: Package sources from dotnet-sdk -->
|
||||
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
|
||||
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
|
||||
|
@ -33,6 +32,8 @@
|
|||
<!-- Begin: Package sources from dotnet-aspnetcore -->
|
||||
<!-- End: Package sources from dotnet-aspnetcore -->
|
||||
<!-- Begin: Package sources from dotnet-runtime -->
|
||||
<!-- Begin: Package sources from dotnet-sdk -->
|
||||
<!-- End: Package sources from dotnet-sdk -->
|
||||
<!-- Begin: Package sources from dotnet-windowsdesktop -->
|
||||
<!-- End: Package sources from dotnet-windowsdesktop -->
|
||||
<!-- End: Package sources from dotnet-runtime -->
|
||||
|
|
169
README.md
169
README.md
|
@ -1,4 +1,4 @@
|
|||
# .NET Core SDK
|
||||
# .NET SDK Installers
|
||||
|
||||
[](https://gitter.im/dotnet/cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://GitHub.com/dotnet/installer/releases/)
|
||||
|
@ -11,13 +11,22 @@
|
|||
[](https://GitHub.com/dotnet/installer/graphs/contributors/)
|
||||
[]()
|
||||
|
||||
This repo contains the source code for the cross-platform [.NET](http://github.com/dotnet/core) SDK. It aggregates the .NET toolchain, the .NET runtime, the templates, and the .NET Windows Desktop runtime. It produces zip, tarballs, and native packages for various supported platforms.
|
||||
|
||||
This repo contains the source code for the cross-platform [.NET Core](http://github.com/dotnet/core) SDK. It aggregates the .NET Toolchain, the .NET Core runtime, the templates, and the .NET Core Windows Desktop runtime. It produces zip, tarballs, and native packages for various supported platforms.
|
||||
|
||||
Looking for released versions of the .NET Core tooling?
|
||||
Looking for released versions of the .NET tooling?
|
||||
----------------------------------------
|
||||
|
||||
Download released versions of the .NET Core tools (CLI, MSBuild and the new csproj) at https://dot.net/core.
|
||||
The links below are for preview versions of .NET tooling. Prefer to use released versions of the .NET tools? Go to https://dot.net/download.
|
||||
|
||||
Looking for .NET Framework downloads?
|
||||
----------------------------------------
|
||||
|
||||
.NET Framework is the product from which the .NET Core project originated. .NET Core (mostly just called ".NET" here) adds many features and improvements and supports many more platforms than .NET Framework. .NET Framework remains fully supported and you can find the downloads on the [.NET website](https://dotnet.microsoft.com/download/dotnet-framework). For new projects, we recommend you use .NET Core.
|
||||
|
||||
Want to contribute or find out more about the .NET project?
|
||||
----------------------------------------
|
||||
|
||||
This repo is for the installers. Most of the implementation is in other repos, such as the [dotnet/runtime repo](https://github.com/dotnet/runtime) or the [dotnet/aspnetcore repo](https://github.com/dotnet/aspnetcore) and [many others](https://github.com/dotnet/core/blob/main/Documentation/core-repos.md). We welcome you to join us there!
|
||||
|
||||
Found an issue?
|
||||
---------------
|
||||
|
@ -25,7 +34,7 @@ You can consult the [Documents Index for the SDK repo](https://github.com/dotnet
|
|||
|
||||
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
|
||||
|
||||
# Build .NET installer
|
||||
# Build .NET installer
|
||||
|
||||
The repository contains native code project required for the Windows installer. If you intend to build it locally on Windows, you will need to ensure that you have the following items installed.
|
||||
- Install CMAKE 3.21.0 is required if you're building VS 17.0. Make sure to add CMAKE to your PATH (the installer will prompt you).
|
||||
|
@ -43,8 +52,8 @@ Please see the [dotnet/source-build](https://github.com/dotnet/source-build) rep
|
|||
|
||||
## Support
|
||||
|
||||
.NET Source-Build is supported on the oldest available .NET SDK feature update, and on Linux only.
|
||||
For example, if both .NET 6.0.1XX and 6.0.2XX feature updates are available from [dotnet.microsoft.com](https://dotnet.microsoft.com/en-us/download/dotnet/6.0), Source-Build will only support 6.0.1XX.
|
||||
.NET Source-Build is supported on the oldest available .NET SDK feature update for each major release, and on Linux only.
|
||||
For example, if .NET 6.0.1xx, 6.0.2xx, and 7.0.1xx feature updates are available from [dotnet.microsoft.com](https://dotnet.microsoft.com/en-us/download/dotnet/6.0), Source-Build will support 6.0.1xx and 7.0.1xx.
|
||||
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
|
||||
|
||||
## Prerequisites
|
||||
|
@ -79,7 +88,7 @@ The dependencies for building .NET from source can be found [here](https://githu
|
|||
```
|
||||
|
||||
This builds the entire .NET SDK from source.
|
||||
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz`.
|
||||
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-7.0.100-your-RID.tar.gz`.
|
||||
|
||||
Optionally add the `--online` flag to add online NuGet restore sources to the build.
|
||||
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
|
||||
|
@ -90,7 +99,7 @@ The dependencies for building .NET from source can be found [here](https://githu
|
|||
|
||||
```bash
|
||||
mkdir -p $HOME/dotnet
|
||||
tar zxf artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz -C $HOME/dotnet
|
||||
tar zxf artifacts/x64/Release/dotnet-sdk-7.0.100-your-RID.tar.gz -C $HOME/dotnet
|
||||
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
|
||||
```
|
||||
|
||||
|
@ -109,7 +118,7 @@ Visibility|All legs|
|
|||
|
||||
## Installers and Binaries
|
||||
|
||||
You can download the .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET Core SDK contains both the .NET Core runtime and CLI tools.
|
||||
You can download the .NET SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET SDK contains both the .NET runtime and CLI tools.
|
||||
|
||||
**Note:** Be aware that the following installers are the **latest bits**. If you
|
||||
want to install the latest released versions, check out the [preceding section](#looking-for-released-versions-of-the-net-core-tooling).
|
||||
|
@ -135,33 +144,33 @@ With development builds, internal NuGet feeds are necessary for some scenarios (
|
|||
</configuration>
|
||||
```
|
||||
|
||||
Please do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. Daily servicing builds have been removed as all servicing is done in private repos to avoid disclosure of critical security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.
|
||||
Do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. Daily servicing builds aren't shown here because they may contain upcoming security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.
|
||||
|
||||
### Table
|
||||
*Note* the 7.0.100 build will be finished internally. Below is the last public version available from that branch but is not fully updated with the final runtime.
|
||||
|
||||
| Platform | main<br>(8.0.x Runtime) | Release/7.0.2xx<br>(7.0.x Runtime) | Release/7.0.1xx<br>(7.0.x Runtime) |
|
||||
| :--------- | :----------: | :----------: | :----------: |
|
||||
| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]<br>[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]<br>[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.2XX]][win-x64-version-7.0.2XX]<br>[Installer][win-x64-installer-7.0.2XX] - [Checksum][win-x64-installer-checksum-7.0.2XX]<br>[zip][win-x64-zip-7.0.2XX] - [Checksum][win-x64-zip-checksum-7.0.2XX] | [![][win-x64-badge-7.0.1XX]][win-x64-version-7.0.1XX]<br>[Installer][win-x64-installer-7.0.1XX] - [Checksum][win-x64-installer-checksum-7.0.1XX]<br>[zip][win-x64-zip-7.0.1XX] - [Checksum][win-x64-zip-checksum-7.0.1XX] |
|
||||
| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]<br>[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]<br>[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.2XX]][win-x86-version-7.0.2XX]<br>[Installer][win-x86-installer-7.0.2XX] - [Checksum][win-x86-installer-checksum-7.0.2XX]<br>[zip][win-x86-zip-7.0.2XX] - [Checksum][win-x86-zip-checksum-7.0.2XX] | [![][win-x86-badge-7.0.1XX]][win-x86-version-7.0.1XX]<br>[Installer][win-x86-installer-7.0.1XX] - [Checksum][win-x86-installer-checksum-7.0.1XX]<br>[zip][win-x86-zip-7.0.1XX] - [Checksum][win-x86-zip-checksum-7.0.1XX] |
|
||||
| **Windows arm** | **N/A** | **N/A** | **N/A** |
|
||||
| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]<br>[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]<br>[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.2XX]][win-arm64-version-7.0.2XX]<br>[Installer][win-arm64-installer-7.0.2XX] - [Checksum][win-arm64-installer-checksum-7.0.2XX]<br>[zip][win-arm64-zip-7.0.2XX] | [![][win-arm64-badge-7.0.1XX]][win-arm64-version-7.0.1XX]<br>[Installer][win-arm64-installer-7.0.1XX] - [Checksum][win-arm64-installer-checksum-7.0.1XX]<br>[zip][win-arm64-zip-7.0.1XX] |
|
||||
| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]<br>[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]<br>[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.2XX]][osx-x64-version-7.0.2XX]<br>[Installer][osx-x64-installer-7.0.2XX] - [Checksum][osx-x64-installer-checksum-7.0.2XX]<br>[tar.gz][osx-x64-targz-7.0.2XX] - [Checksum][osx-x64-targz-checksum-7.0.2XX] | [![][osx-x64-badge-7.0.1XX]][osx-x64-version-7.0.1XX]<br>[Installer][osx-x64-installer-7.0.1XX] - [Checksum][osx-x64-installer-checksum-7.0.1XX]<br>[tar.gz][osx-x64-targz-7.0.1XX] - [Checksum][osx-x64-targz-checksum-7.0.1XX] |
|
||||
| **macOS arm64** | [![][osx-arm64-badge-main]][osx-arm64-version-main]<br>[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]<br>[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.2XX]][osx-arm64-version-7.0.2XX]<br>[Installer][osx-arm64-installer-7.0.2XX] - [Checksum][osx-arm64-installer-checksum-7.0.2XX]<br>[tar.gz][osx-arm64-targz-7.0.2XX] - [Checksum][osx-arm64-targz-checksum-7.0.2XX] | [![][osx-arm64-badge-7.0.1XX]][osx-arm64-version-7.0.1XX]<br>[Installer][osx-arm64-installer-7.0.1XX] - [Checksum][osx-arm64-installer-checksum-7.0.1XX]<br>[tar.gz][osx-arm64-targz-7.0.1XX] - [Checksum][osx-arm64-targz-checksum-7.0.1XX] |
|
||||
| **Linux x64** | [![][linux-badge-main]][linux-version-main]<br>[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]<br>[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.2XX]][linux-version-7.0.2XX]<br>[DEB Installer][linux-DEB-installer-7.0.2XX] - [Checksum][linux-DEB-installer-checksum-7.0.2XX]<br>[RPM Installer][linux-RPM-installer-7.0.2XX] - [Checksum][linux-RPM-installer-checksum-7.0.2XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.2XX] - [Checksum][linux-targz-checksum-7.0.2XX] | [![][linux-badge-7.0.1XX]][linux-version-7.0.1XX]<br>[DEB Installer][linux-DEB-installer-7.0.1XX] - [Checksum][linux-DEB-installer-checksum-7.0.1XX]<br>[RPM Installer][linux-RPM-installer-7.0.1XX] - [Checksum][linux-RPM-installer-checksum-7.0.1XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.1XX] - [Checksum][linux-targz-checksum-7.0.1XX] |
|
||||
| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]<br>[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.2XX]][linux-arm-version-7.0.2XX]<br>[tar.gz][linux-arm-targz-7.0.2XX] - [Checksum][linux-arm-targz-checksum-7.0.2XX] | [![][linux-arm-badge-7.0.1XX]][linux-arm-version-7.0.1XX]<br>[tar.gz][linux-arm-targz-7.0.1XX] - [Checksum][linux-arm-targz-checksum-7.0.1XX] |
|
||||
| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]<br>[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.2XX]][linux-arm64-version-7.0.2XX]<br>[tar.gz][linux-arm64-targz-7.0.2XX] - [Checksum][linux-arm64-targz-checksum-7.0.2XX] | [![][linux-arm64-badge-7.0.1XX]][linux-arm64-version-7.0.1XX]<br>[tar.gz][linux-arm64-targz-7.0.1XX] - [Checksum][linux-arm64-targz-checksum-7.0.1XX] |
|
||||
| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]<br>[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.2XX]][linux-musl-x64-version-7.0.2XX]<br>[tar.gz][linux-musl-x64-targz-7.0.2XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.2XX] | [![][linux-musl-x64-badge-7.0.1XX]][linux-musl-x64-version-7.0.1XX]<br>[tar.gz][linux-musl-x64-targz-7.0.1XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.1XX] |
|
||||
| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]<br>[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.2XX]][linux-musl-arm-version-7.0.2XX]<br>[tar.gz][linux-musl-arm-targz-7.0.2XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.2XX] | [![][linux-musl-arm-badge-7.0.1XX]][linux-musl-arm-version-7.0.1XX]<br>[tar.gz][linux-musl-arm-targz-7.0.1XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.1XX] |
|
||||
| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]<br>[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.2XX]][linux-musl-arm64-version-7.0.2XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.2XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.2XX] | [![][linux-musl-arm64-badge-7.0.1XX]][linux-musl-arm64-version-7.0.1XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.1XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.1XX] |
|
||||
| **RHEL 6** | **N/A** | **N/A** | **N/A** |
|
||||
| Platform | main<br>(8.0.x Runtime) | Release/7.0.2xx<br>(7.0.x Runtime) |
|
||||
| :--------- | :----------: | :----------: |
|
||||
| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]<br>[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]<br>[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.2XX]][win-x64-version-7.0.2XX]<br>[Installer][win-x64-installer-7.0.2XX] - [Checksum][win-x64-installer-checksum-7.0.2XX]<br>[zip][win-x64-zip-7.0.2XX] - [Checksum][win-x64-zip-checksum-7.0.2XX] |
|
||||
| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]<br>[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]<br>[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.2XX]][win-x86-version-7.0.2XX]<br>[Installer][win-x86-installer-7.0.2XX] - [Checksum][win-x86-installer-checksum-7.0.2XX]<br>[zip][win-x86-zip-7.0.2XX] - [Checksum][win-x86-zip-checksum-7.0.2XX] |
|
||||
| **Windows arm** | **N/A** | **N/A** |
|
||||
| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]<br>[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]<br>[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.2XX]][win-arm64-version-7.0.2XX]<br>[Installer][win-arm64-installer-7.0.2XX] - [Checksum][win-arm64-installer-checksum-7.0.2XX]<br>[zip][win-arm64-zip-7.0.2XX] |
|
||||
| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]<br>[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]<br>[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.2XX]][osx-x64-version-7.0.2XX]<br>[Installer][osx-x64-installer-7.0.2XX] - [Checksum][osx-x64-installer-checksum-7.0.2XX]<br>[tar.gz][osx-x64-targz-7.0.2XX] - [Checksum][osx-x64-targz-checksum-7.0.2XX] |
|
||||
| **macOS arm64** | [![][osx-arm64-badge-main]][osx-arm64-version-main]<br>[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]<br>[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.2XX]][osx-arm64-version-7.0.2XX]<br>[Installer][osx-arm64-installer-7.0.2XX] - [Checksum][osx-arm64-installer-checksum-7.0.2XX]<br>[tar.gz][osx-arm64-targz-7.0.2XX] - [Checksum][osx-arm64-targz-checksum-7.0.2XX] |
|
||||
| **Linux x64** | [![][linux-badge-main]][linux-version-main]<br>[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]<br>[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.2XX]][linux-version-7.0.2XX]<br>[DEB Installer][linux-DEB-installer-7.0.2XX] - [Checksum][linux-DEB-installer-checksum-7.0.2XX]<br>[RPM Installer][linux-RPM-installer-7.0.2XX] - [Checksum][linux-RPM-installer-checksum-7.0.2XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.2XX] - [Checksum][linux-targz-checksum-7.0.2XX] |
|
||||
| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]<br>[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.2XX]][linux-arm-version-7.0.2XX]<br>[tar.gz][linux-arm-targz-7.0.2XX] - [Checksum][linux-arm-targz-checksum-7.0.2XX] |
|
||||
| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]<br>[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.2XX]][linux-arm64-version-7.0.2XX]<br>[tar.gz][linux-arm64-targz-7.0.2XX] - [Checksum][linux-arm64-targz-checksum-7.0.2XX] |
|
||||
| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]<br>[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.2XX]][linux-musl-x64-version-7.0.2XX]<br>[tar.gz][linux-musl-x64-targz-7.0.2XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.2XX] |
|
||||
| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]<br>[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.2XX]][linux-musl-arm-version-7.0.2XX]<br>[tar.gz][linux-musl-arm-targz-7.0.2XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.2XX] |
|
||||
| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]<br>[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.2XX]][linux-musl-arm64-version-7.0.2XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.2XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.2XX] |
|
||||
| **RHEL 6** | **N/A** | **N/A** |
|
||||
|
||||
Reference notes:
|
||||
> **1**: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing the SDK from the .deb file (via dpkg or similar), then you'll need to install the corresponding dependencies first:
|
||||
> * [Host, Host FX Resolver, and Shared Framework](https://github.com/dotnet/runtime/blob/main/docs/project/dogfooding.md#nightly-builds-table)
|
||||
> * [ASP.NET Core Shared Framework](https://github.com/aspnet/AspNetCore/blob/main/docs/DailyBuilds.md)
|
||||
|
||||
.NET Core SDK 2.x downloads can be found here: [.NET Core SDK 2.x Installers and Binaries](Downloads2.x.md)
|
||||
.NET Core SDK 2.x downloads can be found at [.NET Core SDK 2.x Installers and Binaries](Downloads2.x.md) but they are [out of support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
|
||||
|
||||
[win-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_x64_Release_version_badge.svg?no-cache
|
||||
[win-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-x64.txt
|
||||
|
@ -177,14 +186,7 @@ Reference notes:
|
|||
[win-x64-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.zip
|
||||
[win-x64-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.zip.sha
|
||||
|
||||
[win-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_x64_Release_version_badge.svg?no-cache
|
||||
[win-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x64.txt
|
||||
[win-x64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe
|
||||
[win-x64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe.sha
|
||||
[win-x64-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip
|
||||
[win-x64-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip.sha
|
||||
|
||||
[win-x86-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_x86_Release_version_badge.svg?no-cache
|
||||
[win-x86-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_x86_Release_version_badge.svg
|
||||
[win-x86-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-x86.txt
|
||||
[win-x86-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.exe
|
||||
[win-x86-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.exe.sha
|
||||
|
@ -198,14 +200,7 @@ Reference notes:
|
|||
[win-x86-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.zip
|
||||
[win-x86-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.zip.sha
|
||||
|
||||
[win-x86-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_x86_Release_version_badge.svg?no-cache
|
||||
[win-x86-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x86.txt
|
||||
[win-x86-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe
|
||||
[win-x86-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe.sha
|
||||
[win-x86-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip
|
||||
[win-x86-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip.sha
|
||||
|
||||
[osx-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_x64_Release_version_badge.svg?no-cache
|
||||
[osx-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_x64_Release_version_badge.svg
|
||||
[osx-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-osx-x64.txt
|
||||
[osx-x64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg
|
||||
[osx-x64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha
|
||||
|
@ -219,14 +214,7 @@ Reference notes:
|
|||
[osx-x64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.tar.gz
|
||||
[osx-x64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
|
||||
|
||||
[osx-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/osx_x64_Release_version_badge.svg?no-cache
|
||||
[osx-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-x64.txt
|
||||
[osx-x64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg
|
||||
[osx-x64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha
|
||||
[osx-x64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz
|
||||
[osx-x64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
|
||||
|
||||
[osx-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_arm64_Release_version_badge.svg?no-cache
|
||||
[osx-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_arm64_Release_version_badge.svg
|
||||
[osx-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-osx-arm64.txt
|
||||
[osx-arm64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg
|
||||
[osx-arm64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha
|
||||
|
@ -240,14 +228,7 @@ Reference notes:
|
|||
[osx-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.tar.gz
|
||||
[osx-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
|
||||
|
||||
[osx-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/osx_arm64_Release_version_badge.svg?no-cache
|
||||
[osx-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-arm64.txt
|
||||
[osx-arm64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg
|
||||
[osx-arm64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha
|
||||
[osx-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz
|
||||
[osx-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
|
||||
|
||||
[linux-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_x64_Release_version_badge.svg?no-cache
|
||||
[linux-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_x64_Release_version_badge.svg
|
||||
[linux-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-x64.txt
|
||||
[linux-DEB-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.deb
|
||||
[linux-DEB-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.deb.sha
|
||||
|
@ -265,16 +246,7 @@ Reference notes:
|
|||
[linux-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-x64.tar.gz
|
||||
[linux-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
|
||||
|
||||
[linux-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_x64_Release_version_badge.svg?no-cache
|
||||
[linux-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-x64.txt
|
||||
[linux-DEB-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb
|
||||
[linux-DEB-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb.sha
|
||||
[linux-RPM-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm
|
||||
[linux-RPM-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm.sha
|
||||
[linux-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz
|
||||
[linux-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
|
||||
|
||||
[linux-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm_Release_version_badge.svg?no-cache
|
||||
[linux-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm_Release_version_badge.svg
|
||||
[linux-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-arm.txt
|
||||
[linux-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
|
||||
[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
||||
|
@ -284,12 +256,7 @@ Reference notes:
|
|||
[linux-arm-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm.tar.gz
|
||||
[linux-arm-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
||||
|
||||
[linux-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm_Release_version_badge.svg?no-cache
|
||||
[linux-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm.txt
|
||||
[linux-arm-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
|
||||
[linux-arm-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
||||
|
||||
[linux-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm64_Release_version_badge.svg?no-cache
|
||||
[linux-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm64_Release_version_badge.svg
|
||||
[linux-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-arm64.txt
|
||||
[linux-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||
[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
||||
|
@ -299,12 +266,7 @@ Reference notes:
|
|||
[linux-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||
[linux-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
||||
|
||||
[linux-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm64_Release_version_badge.svg?no-cache
|
||||
[linux-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm64.txt
|
||||
[linux-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||
[linux-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
||||
|
||||
[rhel-6-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/rhel.6_x64_Release_version_badge.svg?no-cache
|
||||
[rhel-6-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/rhel.6_x64_Release_version_badge.svg
|
||||
[rhel-6-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-rhel.6-x64.txt
|
||||
[rhel-6-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||
[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
||||
|
@ -314,12 +276,7 @@ Reference notes:
|
|||
[rhel-6-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||
[rhel-6-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
||||
|
||||
[rhel-6-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/rhel.6_x64_Release_version_badge.svg?no-cache
|
||||
[rhel-6-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-rhel.6-x64.txt
|
||||
[rhel-6-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||
[rhel-6-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
||||
|
||||
[linux-musl-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_x64_Release_version_badge.svg?no-cache
|
||||
[linux-musl-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_x64_Release_version_badge.svg
|
||||
[linux-musl-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-x64.txt
|
||||
[linux-musl-x64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||
[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
||||
|
@ -329,12 +286,7 @@ Reference notes:
|
|||
[linux-musl-x64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||
[linux-musl-x64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
||||
|
||||
[linux-musl-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_x64_Release_version_badge.svg?no-cache
|
||||
[linux-musl-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-x64.txt
|
||||
[linux-musl-x64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||
[linux-musl-x64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
||||
|
||||
[linux-musl-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm_Release_version_badge.svg?no-cache
|
||||
[linux-musl-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm_Release_version_badge.svg
|
||||
[linux-musl-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-arm.txt
|
||||
[linux-musl-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||
[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
||||
|
@ -344,12 +296,7 @@ Reference notes:
|
|||
[linux-musl-arm-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||
[linux-musl-arm-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
||||
|
||||
[linux-musl-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm_Release_version_badge.svg?no-cache
|
||||
[linux-musl-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm.txt
|
||||
[linux-musl-arm-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||
[linux-musl-arm-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
||||
|
||||
[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
|
||||
[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg
|
||||
[linux-musl-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-arm64.txt
|
||||
[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||
[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
||||
|
@ -359,12 +306,7 @@ Reference notes:
|
|||
[linux-musl-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||
[linux-musl-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
||||
|
||||
[linux-musl-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
|
||||
[linux-musl-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm64.txt
|
||||
[linux-musl-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||
[linux-musl-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
||||
|
||||
[win-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm_Release_version_badge.svg?no-cache
|
||||
[win-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm_Release_version_badge.svg
|
||||
[win-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-arm.txt
|
||||
[win-arm-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip
|
||||
[win-arm-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
|
||||
|
@ -374,12 +316,7 @@ Reference notes:
|
|||
[win-arm-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm.zip
|
||||
[win-arm-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm.zip.sha
|
||||
|
||||
[win-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm_Release_version_badge.svg?no-cache
|
||||
[win-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm.txt
|
||||
[win-arm-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip
|
||||
[win-arm-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
|
||||
|
||||
[win-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm64_Release_version_badge.svg?no-cache
|
||||
[win-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm64_Release_version_badge.svg
|
||||
[win-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-arm64.txt
|
||||
[win-arm64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.exe
|
||||
[win-arm64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha
|
||||
|
@ -393,16 +330,8 @@ Reference notes:
|
|||
[win-arm64-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.zip
|
||||
[win-arm64-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.zip.sha
|
||||
|
||||
[win-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm64_Release_version_badge.svg?no-cache
|
||||
[win-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm64.txt
|
||||
[win-arm64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe
|
||||
[win-arm64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha
|
||||
[win-arm64-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip
|
||||
[win-arm64-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha
|
||||
|
||||
[sdk-shas-2.2.1XX]: https://github.com/dotnet/versions/tree/master/build-info/dotnet/product/cli/release/2.2#built-repositories
|
||||
|
||||
|
||||
Looking for dotnet-install sources?
|
||||
-----------------------------------
|
||||
|
||||
|
|
|
@ -1,17 +1,8 @@
|
|||
<Project>
|
||||
<Choose>
|
||||
<When Condition=" '$(ArcadeBuildTarball)' == 'true' ">
|
||||
<!-- Source build / tarball generation -->
|
||||
<ItemGroup>
|
||||
<ProjectToBuild Include="$(RepoRoot)src/SourceBuild/Arcade/src/SourceBuild.Tasks.csproj" BuildInParallel="false" />
|
||||
<ProjectToBuild Include="$(RepoRoot)src/SourceBuild/tarball/BuildSourceBuildTarball.proj" BuildInParallel="false" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
|
||||
<When Condition=" '$(InitializeVMR)' == 'true' ">
|
||||
<!-- VMR bootstrap -->
|
||||
<ItemGroup>
|
||||
<ProjectToBuild Include="$(RepoRoot)src/SourceBuild/Arcade/src/SourceBuild.Tasks.csproj" BuildInParallel="false" />
|
||||
<ProjectToBuild Include="$(RepoRoot)src/VirtualMonoRepo/Tasks/VirtualMonoRepo.Tasks.csproj" BuildInParallel="false" />
|
||||
<ProjectToBuild Include="$(RepoRoot)src/VirtualMonoRepo/InitializeVMR.proj" BuildInParallel="false" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
Basically: In this file, choose the highest version when resolving merge conflicts.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<MicrosoftWindowsSDKNETRef10_0_17763PackageVersion>10.0.17763.27</MicrosoftWindowsSDKNETRef10_0_17763PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_18362PackageVersion>10.0.18362.27</MicrosoftWindowsSDKNETRef10_0_18362PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_19041PackageVersion>10.0.19041.27</MicrosoftWindowsSDKNETRef10_0_19041PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_20348PackageVersion>10.0.20348.27</MicrosoftWindowsSDKNETRef10_0_20348PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>10.0.22000.27</MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>10.0.22621.27</MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_17763PackageVersion>10.0.17763.28</MicrosoftWindowsSDKNETRef10_0_17763PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_18362PackageVersion>10.0.18362.28</MicrosoftWindowsSDKNETRef10_0_18362PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_19041PackageVersion>10.0.19041.28</MicrosoftWindowsSDKNETRef10_0_19041PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_20348PackageVersion>10.0.20348.28</MicrosoftWindowsSDKNETRef10_0_20348PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>10.0.22000.28</MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>10.0.22621.28</MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -7,12 +7,9 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(PostBuildSign)' != 'true'">
|
||||
<ItemsToSign Remove="@(ItemsToSign)" />
|
||||
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.zip" Condition=" '$(PublishBinariesAndBadge)' == 'true' " />
|
||||
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.exe" />
|
||||
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.msi" />
|
||||
<ItemsToSign Include="$(ArtifactsNonShippingPackagesDir)*.msi" />
|
||||
<ItemsToSign Include="$(ArtifactsNonShippingPackagesDir)*.zip" Condition=" '$(PublishBinariesAndBadge)' == 'true' " />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.wixpack.zip" />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.exe" />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.zip" />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.msi" />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false</InnerBuildArgs>
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false</InnerBuildArgs>
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:DISABLE_CROSSGEN=true</InnerBuildArgs>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -1,46 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Dependencies>
|
||||
<ProductDependencies>
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.0-alpha.1.22552.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.0-alpha.1.22614.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||
<Sha>9162860562ca3b6a02d2d5683c12a668058727d8</Sha>
|
||||
<Sha>c3b86bdbd46ba1dcb6d59b5c92120636065d9ebb</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22552.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22614.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||
<Sha>9162860562ca3b6a02d2d5683c12a668058727d8</Sha>
|
||||
<Sha>c3b86bdbd46ba1dcb6d59b5c92120636065d9ebb</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.0-alpha.1.22552.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.0-alpha.1.22614.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||
<Sha>9162860562ca3b6a02d2d5683c12a668058727d8</Sha>
|
||||
<Sha>c3b86bdbd46ba1dcb6d59b5c92120636065d9ebb</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.0-alpha.1.22552.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.0-alpha.1.22614.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||
<Sha>9162860562ca3b6a02d2d5683c12a668058727d8</Sha>
|
||||
<Sha>c3b86bdbd46ba1dcb6d59b5c92120636065d9ebb</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
<SourceBuildTarball RepoName="runtime" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</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. -->
|
||||
|
@ -48,141 +48,141 @@
|
|||
<Uri>https://github.com/dotnet/core-setup</Uri>
|
||||
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.0-alpha.1.22551.9" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.0-alpha.1.22605.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>bdd67af67dbf43c0f5e9151b98dc100b9555898a</Sha>
|
||||
<Sha>1a37caf773a3b857ccff49a31be3333d4fdc491f</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
<SourceBuildTarball RepoName="aspnetcore" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="dotnet-dev-certs" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="dotnet-dev-certs" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="dotnet-user-jwts" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="dotnet-user-jwts" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="dotnet-user-secrets" Version="8.0.0-alpha.1.22552.16" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="dotnet-user-secrets" Version="8.0.0-alpha.1.22615.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>fb6b2e25211f9d310aa03edfbda9e38a066960b1</Sha>
|
||||
<Sha>232ec2e3a48b0c1f60dd02617891ca84b87aa9bf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22406.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.1.0-rc.22551.3">
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.1.0-rc.22558.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>ca9eef3c1518234d96cc1c2828f1bdf90fc708f8</Sha>
|
||||
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.1.0-rc.22551.3">
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.1.0-rc.22558.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>ca9eef3c1518234d96cc1c2828f1bdf90fc708f8</Sha>
|
||||
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.1.0-rc.22551.3">
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.1.0-rc.22558.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>ca9eef3c1518234d96cc1c2828f1bdf90fc708f8</Sha>
|
||||
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
|
||||
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.22551.3">
|
||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.22558.1">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>ca9eef3c1518234d96cc1c2828f1bdf90fc708f8</Sha>
|
||||
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.100">
|
||||
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.100-alpha.1.22615.13">
|
||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||
<Sha>d609699901b0d25bf939553b342ea887f8d7ef7f</Sha>
|
||||
<Sha>99c01747309cac187b8999f23291555b1607337c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.100-alpha.1.22553.26">
|
||||
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.100-alpha.1.22615.13">
|
||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||
<Sha>d609699901b0d25bf939553b342ea887f8d7ef7f</Sha>
|
||||
<Sha>99c01747309cac187b8999f23291555b1607337c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.100-alpha.1.22553.26">
|
||||
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.100-alpha.1.22615.13">
|
||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||
<Sha>d609699901b0d25bf939553b342ea887f8d7ef7f</Sha>
|
||||
<Sha>99c01747309cac187b8999f23291555b1607337c</Sha>
|
||||
<SourceBuild RepoName="sdk" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.100-alpha.1.22553.26">
|
||||
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.100-alpha.1.22615.13">
|
||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||
<Sha>d609699901b0d25bf939553b342ea887f8d7ef7f</Sha>
|
||||
<Sha>99c01747309cac187b8999f23291555b1607337c</Sha>
|
||||
</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="8.0.0-alpha.1.22531.9" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="8.0.0-alpha.1.22602.3" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/winforms</Uri>
|
||||
<Sha>8f1be5d8453763501aea20070bb6cabf97a49b34</Sha>
|
||||
<Sha>4f4829de9a3b4c56496a60ec18d774ca40956b53</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.0-alpha.1.22551.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.0-alpha.1.22603.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/wpf</Uri>
|
||||
<Sha>959913ec4f81cc388928fad0c95840bf3ee4962b</Sha>
|
||||
<Sha>ca0aecdb68840ba5d66ade7414e0ad5ee0cd73a5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.5.0-beta.22552.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.5.0-beta.22612.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/fsharp</Uri>
|
||||
<Sha>a934894437658f001c6388d33859da73a1ba2ba9</Sha>
|
||||
<Sha>3130e06ce88bc3d6171f5127cdb9972e776af911</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="7.0.1-beta.22552.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="7.0.1-beta.22612.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/fsharp</Uri>
|
||||
<Sha>a934894437658f001c6388d33859da73a1ba2ba9</Sha>
|
||||
<Sha>3130e06ce88bc3d6171f5127cdb9972e776af911</Sha>
|
||||
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.5.0-preview-20221102-03" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.5.0-preview-20221214-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/microsoft/vstest</Uri>
|
||||
<Sha>eb9fca1710b0430741b279fccdfb24a72151a45b</Sha>
|
||||
<Sha>d7b66728d22dd5cdee5fb1e2bc385f9f2cd03171</Sha>
|
||||
<SourceBuildTarball RepoName="vstest" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="7.0.100-1.22552.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="8.0.100-1.22612.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/linker</Uri>
|
||||
<Sha>391ac60bbfb2c618b82f08af728d2d4d259d584e</Sha>
|
||||
<Sha>2db841fc5f6bc7592b66ffe3bd0e1c888d022f93</Sha>
|
||||
<SourceBuild RepoName="linker" ManagedOnly="true" />
|
||||
<RepoName>linker</RepoName>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.5.0-1.22553.5" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.5.0-2.22613.14" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||
<Sha>c9a6d5cf04904ebd2b1aaab0adb33df16c8e76a6</Sha>
|
||||
<Sha>c80d6495d55ebbd64372755d236d0e5971b2dfc7</Sha>
|
||||
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Build" Version="17.5.0-preview-22526-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="Microsoft.Build" Version="17.5.0-preview-22615-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/msbuild</Uri>
|
||||
<Sha>3777dcaf7edb3e86a070037ba53e742dd1872873</Sha>
|
||||
<Sha>eb5ebc23a99af31731a6b6c403ceda0b44aa9966</Sha>
|
||||
<SourceBuildTarball RepoName="msbuild" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="NuGet.Build.Tasks" Version="6.5.0-preview.1.36" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Dependency Name="NuGet.Build.Tasks" Version="6.5.0-preview.3.130" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/nuget/nuget.client</Uri>
|
||||
<Sha>41c08c5549ac3c738d5bf369014da059eff53fbd</Sha>
|
||||
<Sha>0e7accb78d0df80cda1bffbcf1d522945e8a1112</Sha>
|
||||
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.ApplicationInsights" Version="2.0.0">
|
||||
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
|
||||
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100" Version="8.0.0-alpha.1.22552.9">
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100" Version="8.0.0-alpha.1.22620.1">
|
||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||
<Sha>43618b75f5db5c38a8649c4511fd5e768b200ad7</Sha>
|
||||
<Sha>66b984594a008151bdb14dc60589373e3d44be83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100" Version="8.0.0-alpha.1.22552.9">
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100" Version="8.0.0-alpha.1.22620.1">
|
||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||
<Sha>43618b75f5db5c38a8649c4511fd5e768b200ad7</Sha>
|
||||
<Sha>66b984594a008151bdb14dc60589373e3d44be83</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.0-preview5.1.22263.1">
|
||||
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
||||
<Sha>c3ad00ae84489071080a606f6a8e43c9a91a5cc2</Sha>
|
||||
<SourceBuildTarball RepoName="deployment-tools" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.22552.1">
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.22615.1">
|
||||
<Uri>https://github.com/dotnet/source-build-externals</Uri>
|
||||
<Sha>4d37f75b11b8613594fcb38bd9b965a75877c49f</Sha>
|
||||
<Sha>0c829ba73b00f015ab35d14f3cc974e79eb79ef0</Sha>
|
||||
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="1.4.0-beta2-21475-02">
|
||||
|
@ -192,34 +192,34 @@
|
|||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.22552.1">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.22612.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>5be556106f26f171f32187951b9a141f9580d03a</Sha>
|
||||
<Sha>cb37e1f67041bfc6484ec47525bda461606efe92</Sha>
|
||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.22552.1">
|
||||
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.22612.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>5be556106f26f171f32187951b9a141f9580d03a</Sha>
|
||||
<Sha>cb37e1f67041bfc6484ec47525bda461606efe92</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.22552.1">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.22612.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>5be556106f26f171f32187951b9a141f9580d03a</Sha>
|
||||
<Sha>cb37e1f67041bfc6484ec47525bda461606efe92</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.22554.2">
|
||||
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.23053.1">
|
||||
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
||||
<Sha>7a093e86507405b990f0e6aa5c634c9a5585319f</Sha>
|
||||
<Sha>11dfc0ff33280c18db03a2108673a41ade41fd55</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.22554.2">
|
||||
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.23053.1">
|
||||
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
||||
<Sha>7a093e86507405b990f0e6aa5c634c9a5585319f</Sha>
|
||||
<Sha>11dfc0ff33280c18db03a2108673a41ade41fd55</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="7.0.0-rc.1.22426.10">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="8.0.0-alpha.1.22557.12">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha>
|
||||
<Sha>af841c8b33cecc92d74222298f1e45bf7bf3d90a</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.22552.1">
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23053.1">
|
||||
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
||||
<Sha>dab1b0db4f4937b9213c5aecc5a5279d88180741</Sha>
|
||||
<Sha>9e4ae1f23e429bd64744dc71b202a5f1f4d822ce</Sha>
|
||||
<SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceLink.GitHub" Version="1.2.0-beta-22518-02" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
|
@ -227,9 +227,9 @@
|
|||
<Sha>d047202874ad79d72c75b6354c0f8a9a12d1b054</Sha>
|
||||
<SourceBuild RepoName="sourcelink" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.22513.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.22611.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
<Uri>https://github.com/dotnet/xliff-tasks</Uri>
|
||||
<Sha>366ad9b9f7af7d0eddbd36d1e13d8fcff0ac99db</Sha>
|
||||
<Sha>e3a6aaa38a3ad2284de2d50ff65ae4a8916db003</Sha>
|
||||
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
</ToolsetDependencies>
|
||||
|
|
|
@ -26,27 +26,31 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependency from https://github.com/dotnet/arcade -->
|
||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.22552.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.22612.4</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependency from https://github.com/dotnet/arcade-services -->
|
||||
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.22554.2</MicrosoftDotNetDarcLibVersion>
|
||||
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.23053.1</MicrosoftDotNetDarcLibVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependency from https://github.com/dotnet/winforms -->
|
||||
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.0-alpha.1.22531.9</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
|
||||
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.0-alpha.1.22602.3</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependency from https://github.com/dotnet/wpf -->
|
||||
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.0-alpha.1.22551.2</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
|
||||
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.0-alpha.1.22603.1</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependency from https://github.com/dotnet/test-templates -->
|
||||
<!-- Legacy versions -->
|
||||
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates21PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates30PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates30PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.1.0-rc.22551.3</MicrosoftDotNetTestProjectTemplates50PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.22551.3</MicrosoftDotNetTestProjectTemplates60PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.22551.3</MicrosoftDotNetTestProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.22551.3</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
||||
<!-- Supported versions -->
|
||||
<MicrosoftDotNetTestProjectTemplates31PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates31PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
|
||||
|
@ -54,46 +58,46 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22552.16</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.0-alpha.1.22552.16</MicrosoftAspNetCoreAppRefPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.0-alpha.1.22552.16</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22552.16</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
|
||||
<dotnetdevcertsPackageVersion>8.0.0-alpha.1.22552.16</dotnetdevcertsPackageVersion>
|
||||
<dotnetuserjwtsPackageVersion>8.0.0-alpha.1.22552.16</dotnetuserjwtsPackageVersion>
|
||||
<dotnetusersecretsPackageVersion>8.0.0-alpha.1.22552.16</dotnetusersecretsPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22615.1</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.0-alpha.1.22615.1</MicrosoftAspNetCoreAppRefPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.0-alpha.1.22615.1</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22615.1</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
|
||||
<dotnetdevcertsPackageVersion>8.0.0-alpha.1.22615.1</dotnetdevcertsPackageVersion>
|
||||
<dotnetuserjwtsPackageVersion>8.0.0-alpha.1.22615.1</dotnetuserjwtsPackageVersion>
|
||||
<dotnetusersecretsPackageVersion>8.0.0-alpha.1.22615.1</dotnetusersecretsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/sdk -->
|
||||
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.100</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
||||
<MicrosoftNETSdkPackageVersion>8.0.100-alpha.1.22553.26</MicrosoftNETSdkPackageVersion>
|
||||
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.100-alpha.1.22553.26</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.100-alpha.1.22615.13</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
||||
<MicrosoftNETSdkPackageVersion>8.0.100-alpha.1.22615.13</MicrosoftNETSdkPackageVersion>
|
||||
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.100-alpha.1.22615.13</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
|
||||
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
|
||||
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
|
||||
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/corefx -->
|
||||
<MicrosoftNETCorePlatformsPackageVersion>8.0.0-alpha.1.22551.9</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<MicrosoftNETCorePlatformsPackageVersion>8.0.0-alpha.1.22605.1</MicrosoftNETCorePlatformsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/core-setup -->
|
||||
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22551.9</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
|
||||
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.0-alpha.1.22551.9</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22551.9</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.0-alpha.1.22551.9</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>8.0.0-alpha.1.22551.9</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.0-alpha.1.22551.9</MicrosoftNETCoreDotNetHostResolverPackageVersion>
|
||||
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22605.1</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
|
||||
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.0-alpha.1.22605.1</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22605.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.0-alpha.1.22605.1</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>8.0.0-alpha.1.22605.1</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.0-alpha.1.22605.1</MicrosoftNETCoreDotNetHostResolverPackageVersion>
|
||||
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
|
||||
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22552.1</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
|
||||
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.0-alpha.1.22552.1</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22552.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.0-alpha.1.22552.1</MicrosoftWindowsDesktopAppRefPackageVersion>
|
||||
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.0-alpha.1.22614.1</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
|
||||
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.0-alpha.1.22614.1</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.0-alpha.1.22614.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.0-alpha.1.22614.1</MicrosoftWindowsDesktopAppRefPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
|
||||
|
@ -111,16 +115,16 @@
|
|||
<!-- Cross-release dependency versions -->
|
||||
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.403</MicrosoftDotNetCommonItemTemplates50PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100-rc.1.22429.2</MicrosoftDotNetCommonItemTemplates70PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.13</MicrosoftAspNetCoreAppRuntime50PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.1</MicrosoftAspNetCoreAppRuntime60PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.0-rc.1.22427.2</MicrosoftAspNetCoreAppRuntime70PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100</MicrosoftDotNetCommonItemTemplates70PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.17</MicrosoftAspNetCoreAppRuntime50PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.11</MicrosoftAspNetCoreAppRuntime60PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.0</MicrosoftAspNetCoreAppRuntime70PackageVersion>
|
||||
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
|
||||
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
|
||||
<MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion>
|
||||
<MicrosoftWPFProjectTemplates60PackageVersion>6.0.7-servicing.22322.2</MicrosoftWPFProjectTemplates60PackageVersion>
|
||||
<MicrosoftWinFormsProjectTemplates70PackageVersion>7.0.0-rc.1.22426.4</MicrosoftWinFormsProjectTemplates70PackageVersion>
|
||||
<MicrosoftWPFProjectTemplates70PackageVersion>7.0.0-rc.1.22427.1</MicrosoftWPFProjectTemplates70PackageVersion>
|
||||
<MicrosoftWinFormsProjectTemplates70PackageVersion>7.0.0-rtm.22518.7</MicrosoftWinFormsProjectTemplates70PackageVersion>
|
||||
<MicrosoftWPFProjectTemplates70PackageVersion>7.0.0-rtm.22518.2</MicrosoftWPFProjectTemplates70PackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion>
|
||||
|
@ -138,19 +142,19 @@
|
|||
<MicrosoftDotNetCommonProjectTemplates80PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonProjectTemplates80PackageVersion>
|
||||
<AspNetCorePackageVersionFor80Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor80Templates>
|
||||
<!-- 7.0 Template versions -->
|
||||
<MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>7.0.0-rc.1.22426.4</MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotNetWpfProjectTemplates70PackageVersion>7.0.0-rc.1.22427.1</MicrosoftDotNetWpfProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>$(MicrosoftWinFormsProjectTemplates70PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotNetWpfProjectTemplates70PackageVersion>$(MicrosoftWPFProjectTemplates70PackageVersion)</MicrosoftDotNetWpfProjectTemplates70PackageVersion>
|
||||
<NUnit3Templates70PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates70PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100-rc.1.22429.2</MicrosoftDotNetCommonItemTemplates70PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates70PackageVersion>7.0.100-rc.1.22429.2</MicrosoftDotNetCommonProjectTemplates70PackageVersion>
|
||||
<AspNetCorePackageVersionFor70Templates>7.0.0-rc.1.22427.2</AspNetCorePackageVersionFor70Templates>
|
||||
<MicrosoftDotNetCommonItemTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonItemTemplates70PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonProjectTemplates70PackageVersion>
|
||||
<AspNetCorePackageVersionFor70Templates>7.0.0</AspNetCorePackageVersionFor70Templates>
|
||||
<!-- 6.0 Template versions -->
|
||||
<MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftWinFormsProjectTemplates60PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>
|
||||
<MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftWPFProjectTemplates60PackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion>
|
||||
<NUnit3Templates60PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates60PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
|
||||
<AspNetCorePackageVersionFor60Templates>6.0.10</AspNetCorePackageVersionFor60Templates>
|
||||
<AspNetCorePackageVersionFor60Templates>6.0.11</AspNetCorePackageVersionFor60Templates>
|
||||
<!-- 5.0 Template versions -->
|
||||
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
|
||||
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
|
||||
|
@ -164,8 +168,7 @@
|
|||
<NUnit3Templates31PackageVersion>1.7.2</NUnit3Templates31PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.27</MicrosoftDotNetCommonItemTemplates31PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
|
||||
<AspNetCorePackageVersionFor31Templates>3.1.30</AspNetCorePackageVersionFor31Templates>
|
||||
<AspNetCorePackageVersionFor31Templates>3.1.31</AspNetCorePackageVersionFor31Templates>
|
||||
<MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>3.2.1</MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>
|
||||
<!-- 3.0 Template versions -->
|
||||
<MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>4.8.0-rc2.19462.10</MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>
|
||||
|
@ -173,58 +176,40 @@
|
|||
<NUnit3Templates30PackageVersion>1.6.5</NUnit3Templates30PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates30PackageVersion>2.0.0-preview8.19373.1</MicrosoftDotNetCommonItemTemplates30PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates30PackageVersion>$(MicrosoftDotNetCommonItemTemplates30PackageVersion)</MicrosoftDotNetCommonProjectTemplates30PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates30PackageVersion>$(MicrosoftDotNetTestProjectTemplates30PackageVersion)</MicrosoftDotNetTestProjectTemplates30PackageVersion>
|
||||
<AspNetCorePackageVersionFor30Templates>3.0.1</AspNetCorePackageVersionFor30Templates>
|
||||
<!-- 2.1 Template versions -->
|
||||
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
|
||||
<MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates21PackageVersion>$(MicrosoftDotNetTestProjectTemplates30PackageVersion)</MicrosoftDotNetTestProjectTemplates21PackageVersion>
|
||||
<AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates>
|
||||
</PropertyGroup>
|
||||
<!-- infrastructure and test only dependencies -->
|
||||
<PropertyGroup>
|
||||
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
|
||||
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
|
||||
<MicrosoftNETTestSdkVersion>17.5.0-preview-20221102-03</MicrosoftNETTestSdkVersion>
|
||||
<MicrosoftExtensionsLoggingConsoleVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingConsoleVersion>
|
||||
</PropertyGroup>
|
||||
<!-- dependencies for source-build tarball -->
|
||||
<PropertyGroup>
|
||||
<!-- These two MicrosoftBuild versions are required to build tarball tasks
|
||||
These tasks will eventually move to Arcade and then these can be
|
||||
removed. See https://github.com/dotnet/source-build/issues/2295 -->
|
||||
<MicrosoftBuildFrameworkVersion>15.7.179</MicrosoftBuildFrameworkVersion>
|
||||
<MicrosoftBuildUtilitiesCoreVersion>15.7.179</MicrosoftBuildUtilitiesCoreVersion>
|
||||
<!--
|
||||
Building .NET from source depends on one or two tar.gz files depending on the branch's current
|
||||
source-buildability status.
|
||||
|
||||
PrivateSourceBuiltArtifactsPackageVersion is a tar.gz of .NET build outputs from a previous
|
||||
build needed to build the current version of .NET. This is always defined, because .NET needs
|
||||
to be bootstrappable at any point in time.
|
||||
|
||||
PrivateSourceBuiltPrebuiltsPackageVersion is a tar.gz of assets downloaded from the internet
|
||||
that are needed to build the current version of .NET. Early in the lifecycle of a .NET major
|
||||
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
|
||||
necessary, and this property is removed from the file.
|
||||
-->
|
||||
<PrivateSourceBuiltArtifactsPackageVersion>7.0.100-rc.2</PrivateSourceBuiltArtifactsPackageVersion>
|
||||
<MicrosoftNETTestSdkVersion>17.5.0-preview-20221214-01</MicrosoftNETTestSdkVersion>
|
||||
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-alpha.1.22557.12</MicrosoftExtensionsLoggingConsoleVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
<MauiFeatureBand>7.0.100-rc.1</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>7.0.0-rc.1.6430</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>33.0.0-rc.1.136</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>15.4.1006-rc.1</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>15.4.1006-rc.1</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>12.3.1006-rc.1</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>15.4.1006-rc.1</XamarinTvOSWorkloadManifestVersion>
|
||||
<MauiFeatureBand>7.0.100</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>7.0.49</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>33.0.4</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>16.0.1478</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>15.4.2372</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>12.3.2372</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>16.0.1478</XamarinTvOSWorkloadManifestVersion>
|
||||
<MonoWorkloadManifestVersion>$(MicrosoftNETCoreAppRefPackageVersion)</MonoWorkloadManifestVersion>
|
||||
<MicrosoftNETWorkloadEmscriptennet6Manifest80100Version>8.0.0-alpha.1.22552.9</MicrosoftNETWorkloadEmscriptennet6Manifest80100Version>
|
||||
<MicrosoftNETWorkloadEmscriptennet7Manifest80100Version>8.0.0-alpha.1.22552.9</MicrosoftNETWorkloadEmscriptennet7Manifest80100Version>
|
||||
<MicrosoftNETWorkloadEmscriptennet6Manifest80100Version>8.0.0-alpha.1.22620.1</MicrosoftNETWorkloadEmscriptennet6Manifest80100Version>
|
||||
<MicrosoftNETWorkloadEmscriptennet7Manifest80100Version>8.0.0-alpha.1.22620.1</MicrosoftNETWorkloadEmscriptennet7Manifest80100Version>
|
||||
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptennet7Manifest80100Version)</EmscriptenWorkloadManifestVersion>
|
||||
</PropertyGroup>
|
||||
<!-- dependencies for VMR initialization -->
|
||||
<PropertyGroup>
|
||||
<!-- These two MicrosoftBuild versions are required to build VMR initialization tasks -->
|
||||
<MicrosoftBuildFrameworkVersion>15.7.179</MicrosoftBuildFrameworkVersion>
|
||||
<MicrosoftBuildUtilitiesCoreVersion>15.7.179</MicrosoftBuildUtilitiesCoreVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- pinned dependency. This package is not being produced outside of the 2.0 branch of corefx and should not change. -->
|
||||
<CLI_NETStandardLibraryNETFrameworkVersion>2.0.1-servicing-26011-01</CLI_NETStandardLibraryNETFrameworkVersion>
|
||||
|
|
|
@ -63,8 +63,13 @@ parameters:
|
|||
type: boolean
|
||||
default: false
|
||||
|
||||
- name: isBuiltFromVmr
|
||||
displayName: True when build is running from dotnet/dotnet
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
- template: /eng/common/templates/job/job.yml
|
||||
- template: common/templates/job/job.yml
|
||||
parameters:
|
||||
# Set up the name of the job.
|
||||
${{ if parameters.pgoInstrument }}:
|
||||
|
@ -96,9 +101,12 @@ jobs:
|
|||
vmImage: 'macOS-latest'
|
||||
|
||||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
||||
enablePublishBuildAssets: true
|
||||
enablePublishUsingPipelines: true
|
||||
enableTelemetry: true
|
||||
${{ if parameters.isBuiltFromVmr }}:
|
||||
enableSbom: false
|
||||
${{ else }}:
|
||||
enablePublishBuildAssets: true
|
||||
enablePublishUsingPipelines: true
|
||||
enableTelemetry: true
|
||||
helixRepo: dotnet/installer
|
||||
workspace:
|
||||
clean: all
|
||||
|
@ -139,29 +147,40 @@ jobs:
|
|||
- _SignType: test
|
||||
- _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)'
|
||||
|
||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- group: DotNet-HelixApi-Access
|
||||
- _PushToVSFeed: true
|
||||
- _SignType: real
|
||||
- ${{ if parameters.isBuiltFromVmr }}:
|
||||
- installerRoot: '$(Build.SourcesDirectory)/src/installer'
|
||||
- _SignType: test
|
||||
- _PushToVSFeed: false
|
||||
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
|
||||
/p:DotNetSignType=$(_SignType)
|
||||
/p:TeamName=$(_TeamName)
|
||||
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
||||
/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)
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
filePath: $(installerRoot)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(installerRoot)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- script: build.cmd
|
||||
- script: $(installerRoot)/build.cmd
|
||||
$(_TestArg) $(_PackArg)
|
||||
-publish -ci -sign
|
||||
-Configuration ${{ parameters.buildConfiguration }}
|
||||
|
@ -174,16 +193,16 @@ jobs:
|
|||
DOTNET_CLI_UI_LANGUAGE: ${{ parameters.dotnetCLIUILanguage }}
|
||||
|
||||
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
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: ./build.sh
|
||||
- script: $(installerRoot)/build.sh
|
||||
$(_TestArg) $(_PackArg)
|
||||
--publish --ci
|
||||
--noprettyprint
|
||||
|
@ -197,7 +216,7 @@ jobs:
|
|||
displayName: Build
|
||||
|
||||
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
|
||||
- script: ./build.sh
|
||||
- script: $(installerRoot)/build.sh
|
||||
$(_TestArg)
|
||||
--pack --publish --ci
|
||||
--noprettyprint
|
||||
|
@ -222,7 +241,7 @@ jobs:
|
|||
- task: CopyFiles@2
|
||||
displayName: Gather Logs
|
||||
inputs:
|
||||
SourceFolder: '$(Build.SourcesDirectory)/artifacts'
|
||||
SourceFolder: '$(installerRoot)/artifacts'
|
||||
Contents: |
|
||||
log/${{ parameters.buildConfiguration }}/**/*
|
||||
TestResults/${{ parameters.buildConfiguration }}/**/*
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
__ARM_HARDFP_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
__TIZEN_CROSSDIR="$__ARM_HARDFP_CrossDir/tizen"
|
||||
|
||||
if [[ -z "$ROOTFS_DIR" ]]; then
|
||||
echo "ROOTFS_DIR is not defined."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp
|
||||
mkdir -p $TIZEN_TMP_DIR
|
||||
|
||||
# Download files
|
||||
echo ">>Start downloading files"
|
||||
VERBOSE=1 $__ARM_HARDFP_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
|
||||
echo "<<Finish downloading files"
|
||||
|
||||
echo ">>Start constructing Tizen rootfs"
|
||||
TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm`
|
||||
cd $ROOTFS_DIR
|
||||
for f in $TIZEN_RPM_FILES; do
|
||||
rpm2cpio $f | cpio -idm --quiet
|
||||
done
|
||||
echo "<<Finish constructing Tizen rootfs"
|
||||
|
||||
# Cleanup tmp
|
||||
rm -rf $TIZEN_TMP_DIR
|
||||
|
||||
# Configure Tizen rootfs
|
||||
echo ">>Start configuring Tizen rootfs"
|
||||
ln -sfn asm-arm ./usr/include/asm
|
||||
patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
|
||||
echo "<<Finish configuring Tizen rootfs"
|
|
@ -1,170 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
|
||||
VERBOSE=0
|
||||
fi
|
||||
|
||||
Log()
|
||||
{
|
||||
if [ $VERBOSE -ge $1 ]; then
|
||||
echo ${@:2}
|
||||
fi
|
||||
}
|
||||
|
||||
Inform()
|
||||
{
|
||||
Log 1 -e "\x1B[0;34m$@\x1B[m"
|
||||
}
|
||||
|
||||
Debug()
|
||||
{
|
||||
Log 2 -e "\x1B[0;32m$@\x1B[m"
|
||||
}
|
||||
|
||||
Error()
|
||||
{
|
||||
>&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
|
||||
}
|
||||
|
||||
Fetch()
|
||||
{
|
||||
URL=$1
|
||||
FILE=$2
|
||||
PROGRESS=$3
|
||||
if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
|
||||
CURL_OPT="--progress-bar"
|
||||
else
|
||||
CURL_OPT="--silent"
|
||||
fi
|
||||
curl $CURL_OPT $URL > $FILE
|
||||
}
|
||||
|
||||
hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
|
||||
hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
|
||||
hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
|
||||
|
||||
TMPDIR=$1
|
||||
if [ ! -d $TMPDIR ]; then
|
||||
TMPDIR=./tizen_tmp
|
||||
Debug "Create temporary directory : $TMPDIR"
|
||||
mkdir -p $TMPDIR
|
||||
fi
|
||||
|
||||
TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen
|
||||
BUILD_XML=build.xml
|
||||
REPOMD_XML=repomd.xml
|
||||
PRIMARY_XML=primary.xml
|
||||
TARGET_URL="http://__not_initialized"
|
||||
|
||||
Xpath_get()
|
||||
{
|
||||
XPATH_RESULT=''
|
||||
XPATH=$1
|
||||
XML_FILE=$2
|
||||
RESULT=$(xmllint --xpath $XPATH $XML_FILE)
|
||||
if [[ -z ${RESULT// } ]]; then
|
||||
Error "Can not find target from $XML_FILE"
|
||||
Debug "Xpath = $XPATH"
|
||||
exit 1
|
||||
fi
|
||||
XPATH_RESULT=$RESULT
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs_init()
|
||||
{
|
||||
TARGET=$1
|
||||
PROFILE=$2
|
||||
Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
|
||||
|
||||
TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
|
||||
if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
|
||||
mkdir -p $TMP_PKG_DIR
|
||||
|
||||
PKG_URL=$TIZEN_URL/$PROFILE/latest
|
||||
|
||||
BUILD_XML_URL=$PKG_URL/$BUILD_XML
|
||||
TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
|
||||
TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
|
||||
TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
|
||||
TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
|
||||
|
||||
Fetch $BUILD_XML_URL $TMP_BUILD
|
||||
|
||||
Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
|
||||
|
||||
TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
|
||||
Xpath_get $TARGET_XPATH $TMP_BUILD
|
||||
TARGET_PATH=$XPATH_RESULT
|
||||
TARGET_URL=$PKG_URL/$TARGET_PATH
|
||||
|
||||
REPOMD_URL=$TARGET_URL/repodata/repomd.xml
|
||||
PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
|
||||
|
||||
Fetch $REPOMD_URL $TMP_REPOMD
|
||||
|
||||
Debug "fetch $REPOMD_URL to $TMP_REPOMD"
|
||||
|
||||
Xpath_get $PRIMARY_XPATH $TMP_REPOMD
|
||||
PRIMARY_XML_PATH=$XPATH_RESULT
|
||||
PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
|
||||
|
||||
Fetch $PRIMARY_URL $TMP_PRIMARYGZ
|
||||
|
||||
Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
|
||||
|
||||
gunzip $TMP_PRIMARYGZ
|
||||
|
||||
Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs()
|
||||
{
|
||||
ARCH=$1
|
||||
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
|
||||
|
||||
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
|
||||
|
||||
for pkg in ${@:2}
|
||||
do
|
||||
Inform "Fetching... $pkg"
|
||||
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
PKG_PATH=$XPATH_RESULT
|
||||
|
||||
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
CHECKSUM=$XPATH_RESULT
|
||||
|
||||
PKG_URL=$TARGET_URL/$PKG_PATH
|
||||
PKG_FILE=$(basename $PKG_PATH)
|
||||
PKG_PATH=$TMPDIR/$PKG_FILE
|
||||
|
||||
Debug "Download $PKG_URL to $PKG_PATH"
|
||||
Fetch $PKG_URL $PKG_PATH true
|
||||
|
||||
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
Error "Fail to fetch $PKG_URL to $PKG_PATH"
|
||||
Debug "Checksum = $CHECKSUM"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Inform "Initialize arm base"
|
||||
fetch_tizen_pkgs_init standard Tizen-Base
|
||||
Inform "fetch common packages"
|
||||
fetch_tizen_pkgs armv7hl gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils
|
||||
Inform "fetch coreclr packages"
|
||||
fetch_tizen_pkgs armv7hl lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs armv7hl libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
|
||||
|
||||
Inform "Initialize standard unified"
|
||||
fetch_tizen_pkgs_init standard Tizen-Unified
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs armv7hl gssdp gssdp-devel tizen-release
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
|
||||
VERBOSE=0
|
||||
fi
|
||||
|
||||
Log()
|
||||
{
|
||||
if [ $VERBOSE -ge $1 ]; then
|
||||
echo ${@:2}
|
||||
fi
|
||||
}
|
||||
|
||||
Inform()
|
||||
{
|
||||
Log 1 -e "\x1B[0;34m$@\x1B[m"
|
||||
}
|
||||
|
||||
Debug()
|
||||
{
|
||||
Log 2 -e "\x1B[0;32m$@\x1B[m"
|
||||
}
|
||||
|
||||
Error()
|
||||
{
|
||||
>&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
|
||||
}
|
||||
|
||||
Fetch()
|
||||
{
|
||||
URL=$1
|
||||
FILE=$2
|
||||
PROGRESS=$3
|
||||
if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
|
||||
CURL_OPT="--progress-bar"
|
||||
else
|
||||
CURL_OPT="--silent"
|
||||
fi
|
||||
curl $CURL_OPT $URL > $FILE
|
||||
}
|
||||
|
||||
hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
|
||||
hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
|
||||
hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
|
||||
|
||||
TMPDIR=$1
|
||||
if [ ! -d $TMPDIR ]; then
|
||||
TMPDIR=./tizen_tmp
|
||||
Debug "Create temporary directory : $TMPDIR"
|
||||
mkdir -p $TMPDIR
|
||||
fi
|
||||
|
||||
TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen
|
||||
BUILD_XML=build.xml
|
||||
REPOMD_XML=repomd.xml
|
||||
PRIMARY_XML=primary.xml
|
||||
TARGET_URL="http://__not_initialized"
|
||||
|
||||
Xpath_get()
|
||||
{
|
||||
XPATH_RESULT=''
|
||||
XPATH=$1
|
||||
XML_FILE=$2
|
||||
RESULT=$(xmllint --xpath $XPATH $XML_FILE)
|
||||
if [[ -z ${RESULT// } ]]; then
|
||||
Error "Can not find target from $XML_FILE"
|
||||
Debug "Xpath = $XPATH"
|
||||
exit 1
|
||||
fi
|
||||
XPATH_RESULT=$RESULT
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs_init()
|
||||
{
|
||||
TARGET=$1
|
||||
PROFILE=$2
|
||||
Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
|
||||
|
||||
TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
|
||||
if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
|
||||
mkdir -p $TMP_PKG_DIR
|
||||
|
||||
PKG_URL=$TIZEN_URL/$PROFILE/latest
|
||||
|
||||
BUILD_XML_URL=$PKG_URL/$BUILD_XML
|
||||
TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
|
||||
TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
|
||||
TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
|
||||
TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
|
||||
|
||||
Fetch $BUILD_XML_URL $TMP_BUILD
|
||||
|
||||
Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
|
||||
|
||||
TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
|
||||
Xpath_get $TARGET_XPATH $TMP_BUILD
|
||||
TARGET_PATH=$XPATH_RESULT
|
||||
TARGET_URL=$PKG_URL/$TARGET_PATH
|
||||
|
||||
REPOMD_URL=$TARGET_URL/repodata/repomd.xml
|
||||
PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
|
||||
|
||||
Fetch $REPOMD_URL $TMP_REPOMD
|
||||
|
||||
Debug "fetch $REPOMD_URL to $TMP_REPOMD"
|
||||
|
||||
Xpath_get $PRIMARY_XPATH $TMP_REPOMD
|
||||
PRIMARY_XML_PATH=$XPATH_RESULT
|
||||
PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
|
||||
|
||||
Fetch $PRIMARY_URL $TMP_PRIMARYGZ
|
||||
|
||||
Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
|
||||
|
||||
gunzip $TMP_PRIMARYGZ
|
||||
|
||||
Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs()
|
||||
{
|
||||
ARCH=$1
|
||||
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
|
||||
|
||||
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
|
||||
|
||||
for pkg in ${@:2}
|
||||
do
|
||||
Inform "Fetching... $pkg"
|
||||
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
PKG_PATH=$XPATH_RESULT
|
||||
|
||||
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
CHECKSUM=$XPATH_RESULT
|
||||
|
||||
PKG_URL=$TARGET_URL/$PKG_PATH
|
||||
PKG_FILE=$(basename $PKG_PATH)
|
||||
PKG_PATH=$TMPDIR/$PKG_FILE
|
||||
|
||||
Debug "Download $PKG_URL to $PKG_PATH"
|
||||
Fetch $PKG_URL $PKG_PATH true
|
||||
|
||||
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
Error "Fail to fetch $PKG_URL to $PKG_PATH"
|
||||
Debug "Checksum = $CHECKSUM"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Inform "Initialize arm64 base"
|
||||
fetch_tizen_pkgs_init standard Tizen-Base
|
||||
Inform "fetch common packages"
|
||||
fetch_tizen_pkgs aarch64 gcc glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils
|
||||
Inform "fetch coreclr packages"
|
||||
fetch_tizen_pkgs aarch64 lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs aarch64 libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
|
||||
|
||||
Inform "Initialize standard unified"
|
||||
fetch_tizen_pkgs_init standard Tizen-Unified
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs aarch64 gssdp gssdp-devel tizen-release
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
__ARM_SOFTFP_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
__TIZEN_CROSSDIR="$__ARM_SOFTFP_CrossDir/tizen"
|
||||
|
||||
if [[ -z "$ROOTFS_DIR" ]]; then
|
||||
echo "ROOTFS_DIR is not defined."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp
|
||||
mkdir -p $TIZEN_TMP_DIR
|
||||
|
||||
# Download files
|
||||
echo ">>Start downloading files"
|
||||
VERBOSE=1 $__ARM_SOFTFP_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
|
||||
echo "<<Finish downloading files"
|
||||
|
||||
echo ">>Start constructing Tizen rootfs"
|
||||
TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm`
|
||||
cd $ROOTFS_DIR
|
||||
for f in $TIZEN_RPM_FILES; do
|
||||
rpm2cpio $f | cpio -idm --quiet
|
||||
done
|
||||
echo "<<Finish constructing Tizen rootfs"
|
||||
|
||||
# Cleanup tmp
|
||||
rm -rf $TIZEN_TMP_DIR
|
||||
|
||||
# Configure Tizen rootfs
|
||||
echo ">>Start configuring Tizen rootfs"
|
||||
ln -sfn asm-arm ./usr/include/asm
|
||||
patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
|
||||
echo "<<Finish configuring Tizen rootfs"
|
|
@ -1,170 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
|
||||
VERBOSE=0
|
||||
fi
|
||||
|
||||
Log()
|
||||
{
|
||||
if [ $VERBOSE -ge $1 ]; then
|
||||
echo ${@:2}
|
||||
fi
|
||||
}
|
||||
|
||||
Inform()
|
||||
{
|
||||
Log 1 -e "\x1B[0;34m$@\x1B[m"
|
||||
}
|
||||
|
||||
Debug()
|
||||
{
|
||||
Log 2 -e "\x1B[0;32m$@\x1B[m"
|
||||
}
|
||||
|
||||
Error()
|
||||
{
|
||||
>&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
|
||||
}
|
||||
|
||||
Fetch()
|
||||
{
|
||||
URL=$1
|
||||
FILE=$2
|
||||
PROGRESS=$3
|
||||
if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
|
||||
CURL_OPT="--progress-bar"
|
||||
else
|
||||
CURL_OPT="--silent"
|
||||
fi
|
||||
curl $CURL_OPT $URL > $FILE
|
||||
}
|
||||
|
||||
hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
|
||||
hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
|
||||
hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
|
||||
|
||||
TMPDIR=$1
|
||||
if [ ! -d $TMPDIR ]; then
|
||||
TMPDIR=./tizen_tmp
|
||||
Debug "Create temporary directory : $TMPDIR"
|
||||
mkdir -p $TMPDIR
|
||||
fi
|
||||
|
||||
TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen
|
||||
BUILD_XML=build.xml
|
||||
REPOMD_XML=repomd.xml
|
||||
PRIMARY_XML=primary.xml
|
||||
TARGET_URL="http://__not_initialized"
|
||||
|
||||
Xpath_get()
|
||||
{
|
||||
XPATH_RESULT=''
|
||||
XPATH=$1
|
||||
XML_FILE=$2
|
||||
RESULT=$(xmllint --xpath $XPATH $XML_FILE)
|
||||
if [[ -z ${RESULT// } ]]; then
|
||||
Error "Can not find target from $XML_FILE"
|
||||
Debug "Xpath = $XPATH"
|
||||
exit 1
|
||||
fi
|
||||
XPATH_RESULT=$RESULT
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs_init()
|
||||
{
|
||||
TARGET=$1
|
||||
PROFILE=$2
|
||||
Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
|
||||
|
||||
TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
|
||||
if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
|
||||
mkdir -p $TMP_PKG_DIR
|
||||
|
||||
PKG_URL=$TIZEN_URL/$PROFILE/latest
|
||||
|
||||
BUILD_XML_URL=$PKG_URL/$BUILD_XML
|
||||
TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
|
||||
TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
|
||||
TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
|
||||
TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
|
||||
|
||||
Fetch $BUILD_XML_URL $TMP_BUILD
|
||||
|
||||
Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
|
||||
|
||||
TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
|
||||
Xpath_get $TARGET_XPATH $TMP_BUILD
|
||||
TARGET_PATH=$XPATH_RESULT
|
||||
TARGET_URL=$PKG_URL/$TARGET_PATH
|
||||
|
||||
REPOMD_URL=$TARGET_URL/repodata/repomd.xml
|
||||
PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
|
||||
|
||||
Fetch $REPOMD_URL $TMP_REPOMD
|
||||
|
||||
Debug "fetch $REPOMD_URL to $TMP_REPOMD"
|
||||
|
||||
Xpath_get $PRIMARY_XPATH $TMP_REPOMD
|
||||
PRIMARY_XML_PATH=$XPATH_RESULT
|
||||
PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
|
||||
|
||||
Fetch $PRIMARY_URL $TMP_PRIMARYGZ
|
||||
|
||||
Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
|
||||
|
||||
gunzip $TMP_PRIMARYGZ
|
||||
|
||||
Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs()
|
||||
{
|
||||
ARCH=$1
|
||||
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
|
||||
|
||||
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
|
||||
|
||||
for pkg in ${@:2}
|
||||
do
|
||||
Inform "Fetching... $pkg"
|
||||
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
PKG_PATH=$XPATH_RESULT
|
||||
|
||||
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
CHECKSUM=$XPATH_RESULT
|
||||
|
||||
PKG_URL=$TARGET_URL/$PKG_PATH
|
||||
PKG_FILE=$(basename $PKG_PATH)
|
||||
PKG_PATH=$TMPDIR/$PKG_FILE
|
||||
|
||||
Debug "Download $PKG_URL to $PKG_PATH"
|
||||
Fetch $PKG_URL $PKG_PATH true
|
||||
|
||||
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
Error "Fail to fetch $PKG_URL to $PKG_PATH"
|
||||
Debug "Checksum = $CHECKSUM"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Inform "Initialize armel base"
|
||||
fetch_tizen_pkgs_init standard Tizen-Base
|
||||
Inform "fetch common packages"
|
||||
fetch_tizen_pkgs armv7l gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils
|
||||
Inform "fetch coreclr packages"
|
||||
fetch_tizen_pkgs armv7l lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
|
||||
|
||||
Inform "Initialize standard unified"
|
||||
fetch_tizen_pkgs_init standard Tizen-Unified
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs armv7l gssdp gssdp-devel tizen-release
|
||||
|
|
@ -501,7 +501,7 @@ elif [[ -n "$__CodeName" ]]; then
|
|||
popd
|
||||
fi
|
||||
elif [[ "$__Tizen" == "tizen" ]]; then
|
||||
ROOTFS_DIR="$__RootfsDir" "$__CrossDir/$__BuildArch/tizen-build-rootfs.sh"
|
||||
ROOTFS_DIR="$__RootfsDir" "$__CrossDir/tizen-build-rootfs.sh" "$__BuildArch"
|
||||
else
|
||||
echo "Unsupported target platform."
|
||||
usage;
|
||||
|
|
|
@ -1,8 +1,34 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
ARCH=$1
|
||||
LINK_ARCH=$ARCH
|
||||
|
||||
case "$ARCH" in
|
||||
arm)
|
||||
TIZEN_ARCH="armv7hl"
|
||||
;;
|
||||
armel)
|
||||
TIZEN_ARCH="armv7l"
|
||||
LINK_ARCH="arm"
|
||||
;;
|
||||
arm64)
|
||||
TIZEN_ARCH="aarch64"
|
||||
;;
|
||||
x86)
|
||||
TIZEN_ARCH="i686"
|
||||
;;
|
||||
x64)
|
||||
TIZEN_ARCH="x86_64"
|
||||
LINK_ARCH="x86"
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported architecture for tizen: $ARCH"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
__TIZEN_CROSSDIR="$__CrossDir/tizen"
|
||||
__TIZEN_CROSSDIR="$__CrossDir/${ARCH}/tizen"
|
||||
|
||||
if [[ -z "$ROOTFS_DIR" ]]; then
|
||||
echo "ROOTFS_DIR is not defined."
|
||||
|
@ -14,7 +40,7 @@ mkdir -p $TIZEN_TMP_DIR
|
|||
|
||||
# Download files
|
||||
echo ">>Start downloading files"
|
||||
VERBOSE=1 $__CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
|
||||
VERBOSE=1 $__CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR $TIZEN_ARCH
|
||||
echo "<<Finish downloading files"
|
||||
|
||||
echo ">>Start constructing Tizen rootfs"
|
||||
|
@ -30,6 +56,6 @@ rm -rf $TIZEN_TMP_DIR
|
|||
|
||||
# Configure Tizen rootfs
|
||||
echo ">>Start configuring Tizen rootfs"
|
||||
ln -sfn asm-arm64 ./usr/include/asm
|
||||
ln -sfn asm-${LINK_ARCH} ./usr/include/asm
|
||||
patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
|
||||
echo "<<Finish configuring Tizen rootfs"
|
172
eng/common/cross/tizen-fetch.sh
Normal file
172
eng/common/cross/tizen-fetch.sh
Normal file
|
@ -0,0 +1,172 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
|
||||
VERBOSE=0
|
||||
fi
|
||||
|
||||
Log()
|
||||
{
|
||||
if [ $VERBOSE -ge $1 ]; then
|
||||
echo ${@:2}
|
||||
fi
|
||||
}
|
||||
|
||||
Inform()
|
||||
{
|
||||
Log 1 -e "\x1B[0;34m$@\x1B[m"
|
||||
}
|
||||
|
||||
Debug()
|
||||
{
|
||||
Log 2 -e "\x1B[0;32m$@\x1B[m"
|
||||
}
|
||||
|
||||
Error()
|
||||
{
|
||||
>&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
|
||||
}
|
||||
|
||||
Fetch()
|
||||
{
|
||||
URL=$1
|
||||
FILE=$2
|
||||
PROGRESS=$3
|
||||
if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
|
||||
CURL_OPT="--progress-bar"
|
||||
else
|
||||
CURL_OPT="--silent"
|
||||
fi
|
||||
curl $CURL_OPT $URL > $FILE
|
||||
}
|
||||
|
||||
hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
|
||||
hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
|
||||
hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
|
||||
|
||||
TMPDIR=$1
|
||||
if [ ! -d $TMPDIR ]; then
|
||||
TMPDIR=./tizen_tmp
|
||||
Debug "Create temporary directory : $TMPDIR"
|
||||
mkdir -p $TMPDIR
|
||||
fi
|
||||
|
||||
TIZEN_ARCH=$2
|
||||
|
||||
TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen
|
||||
BUILD_XML=build.xml
|
||||
REPOMD_XML=repomd.xml
|
||||
PRIMARY_XML=primary.xml
|
||||
TARGET_URL="http://__not_initialized"
|
||||
|
||||
Xpath_get()
|
||||
{
|
||||
XPATH_RESULT=''
|
||||
XPATH=$1
|
||||
XML_FILE=$2
|
||||
RESULT=$(xmllint --xpath $XPATH $XML_FILE)
|
||||
if [[ -z ${RESULT// } ]]; then
|
||||
Error "Can not find target from $XML_FILE"
|
||||
Debug "Xpath = $XPATH"
|
||||
exit 1
|
||||
fi
|
||||
XPATH_RESULT=$RESULT
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs_init()
|
||||
{
|
||||
TARGET=$1
|
||||
PROFILE=$2
|
||||
Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
|
||||
|
||||
TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
|
||||
if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
|
||||
mkdir -p $TMP_PKG_DIR
|
||||
|
||||
PKG_URL=$TIZEN_URL/$PROFILE/latest
|
||||
|
||||
BUILD_XML_URL=$PKG_URL/$BUILD_XML
|
||||
TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
|
||||
TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
|
||||
TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
|
||||
TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
|
||||
|
||||
Fetch $BUILD_XML_URL $TMP_BUILD
|
||||
|
||||
Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
|
||||
|
||||
TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
|
||||
Xpath_get $TARGET_XPATH $TMP_BUILD
|
||||
TARGET_PATH=$XPATH_RESULT
|
||||
TARGET_URL=$PKG_URL/$TARGET_PATH
|
||||
|
||||
REPOMD_URL=$TARGET_URL/repodata/repomd.xml
|
||||
PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
|
||||
|
||||
Fetch $REPOMD_URL $TMP_REPOMD
|
||||
|
||||
Debug "fetch $REPOMD_URL to $TMP_REPOMD"
|
||||
|
||||
Xpath_get $PRIMARY_XPATH $TMP_REPOMD
|
||||
PRIMARY_XML_PATH=$XPATH_RESULT
|
||||
PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
|
||||
|
||||
Fetch $PRIMARY_URL $TMP_PRIMARYGZ
|
||||
|
||||
Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
|
||||
|
||||
gunzip $TMP_PRIMARYGZ
|
||||
|
||||
Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
|
||||
}
|
||||
|
||||
fetch_tizen_pkgs()
|
||||
{
|
||||
ARCH=$1
|
||||
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
|
||||
|
||||
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
|
||||
|
||||
for pkg in ${@:2}
|
||||
do
|
||||
Inform "Fetching... $pkg"
|
||||
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
PKG_PATH=$XPATH_RESULT
|
||||
|
||||
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
|
||||
XPATH=${XPATH/_ARCH_/$ARCH}
|
||||
Xpath_get $XPATH $TMP_PRIMARY
|
||||
CHECKSUM=$XPATH_RESULT
|
||||
|
||||
PKG_URL=$TARGET_URL/$PKG_PATH
|
||||
PKG_FILE=$(basename $PKG_PATH)
|
||||
PKG_PATH=$TMPDIR/$PKG_FILE
|
||||
|
||||
Debug "Download $PKG_URL to $PKG_PATH"
|
||||
Fetch $PKG_URL $PKG_PATH true
|
||||
|
||||
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
Error "Fail to fetch $PKG_URL to $PKG_PATH"
|
||||
Debug "Checksum = $CHECKSUM"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Inform "Initialize ${TIZEN_ARCH} base"
|
||||
fetch_tizen_pkgs_init standard Tizen-Base
|
||||
Inform "fetch common packages"
|
||||
fetch_tizen_pkgs ${TIZEN_ARCH} gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils
|
||||
Inform "fetch coreclr packages"
|
||||
fetch_tizen_pkgs ${TIZEN_ARCH} lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs ${TIZEN_ARCH} libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
|
||||
|
||||
Inform "Initialize standard unified"
|
||||
fetch_tizen_pkgs_init standard Tizen-Unified
|
||||
Inform "fetch corefx packages"
|
||||
fetch_tizen_pkgs ${TIZEN_ARCH} gssdp gssdp-devel tizen-release
|
||||
|
|
@ -1,5 +1,12 @@
|
|||
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
|
||||
|
||||
# reset platform variables (e.g. cmake 3.25 sets LINUX=1)
|
||||
unset(LINUX)
|
||||
unset(FREEBSD)
|
||||
unset(ILLUMOS)
|
||||
unset(ANDROID)
|
||||
unset(TIZEN)
|
||||
|
||||
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
|
||||
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
|
||||
set(CMAKE_SYSTEM_NAME FreeBSD)
|
||||
|
@ -113,6 +120,10 @@ if(TIZEN)
|
|||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
|
||||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
|
||||
endif()
|
||||
if(TARGET_ARCH_NAME STREQUAL "x64")
|
||||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
|
||||
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
|
@ -241,7 +252,7 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
|
|||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
|
||||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
|
||||
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
|
||||
if(TIZEN)
|
||||
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
|
||||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
|
||||
|
|
|
@ -132,8 +132,8 @@ if [[ -z "$CC" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Only lld version >= 9 can be considered stable
|
||||
if [[ "$compiler" == "clang" && "$majorVersion" -ge 9 ]]; then
|
||||
# Only lld version >= 9 can be considered stable. lld doesn't support s390x.
|
||||
if [[ "$compiler" == "clang" && "$majorVersion" -ge 9 && "$build_arch" != "s390x" ]]; then
|
||||
if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then
|
||||
LDFLAGS="-fuse-ld=lld"
|
||||
fi
|
||||
|
|
|
@ -64,7 +64,7 @@ try {
|
|||
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
|
||||
}
|
||||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.2.1" -MemberType NoteProperty
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.4.1" -MemberType NoteProperty
|
||||
}
|
||||
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
|
||||
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
|
||||
|
|
|
@ -34,6 +34,7 @@ jobs:
|
|||
- job: Asset_Registry_Publish
|
||||
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
timeoutInMinutes: 150
|
||||
|
||||
${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
|
||||
displayName: Publish Assets
|
||||
|
@ -73,12 +74,6 @@ jobs:
|
|||
|
||||
- task: NuGetAuthenticate@0
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Enable cross-org NuGet feed authentication
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/enable-cross-org-publishing.ps1
|
||||
arguments: -token $(dn-bot-all-orgs-artifact-feeds-rw)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Publish Build Assets
|
||||
inputs:
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
variables:
|
||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||
- group: DotNet-Blob-Feed
|
||||
- group: DotNet-DotNetCli-Storage
|
||||
- group: DotNet-MSRC-Storage
|
||||
- group: Publish-Build-Assets
|
||||
|
||||
# Whether the build is internal or not
|
||||
|
|
|
@ -172,12 +172,6 @@ stages:
|
|||
- task: NuGetAuthenticate@0
|
||||
displayName: 'Authenticate to AzDO Feeds'
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Enable cross-org publishing
|
||||
inputs:
|
||||
filePath: eng\common\enable-cross-org-publishing.ps1
|
||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
# Signing validation will optionally work with the buildmanifest file which is downloaded from
|
||||
# Azure DevOps above.
|
||||
- task: PowerShell@2
|
||||
|
|
|
@ -365,8 +365,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
|
||||
# If the version of msbuild is going to be xcopied,
|
||||
# use this version. Version matches a package here:
|
||||
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.2.1&view=overview
|
||||
$defaultXCopyMSBuildVersion = '17.2.1'
|
||||
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.4.1&view=overview
|
||||
$defaultXCopyMSBuildVersion = '17.4.1'
|
||||
|
||||
if (!$vsRequirements) {
|
||||
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
|
||||
|
@ -413,6 +413,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
if($vsMinVersion -lt $vsMinVersionReqd){
|
||||
Write-Host "Using xcopy-msbuild version of $defaultXCopyMSBuildVersion since VS version $vsMinVersionStr provided in global.json is not compatible"
|
||||
$xcopyMSBuildVersion = $defaultXCopyMSBuildVersion
|
||||
$vsMajorVersion = $xcopyMSBuildVersion.Split('.')[0]
|
||||
}
|
||||
else{
|
||||
# If the VS version IS compatible, look for an xcopy msbuild package
|
||||
|
|
|
@ -416,12 +416,6 @@ function MSBuild {
|
|||
export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20
|
||||
Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20"
|
||||
Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20"
|
||||
|
||||
# https://github.com/dotnet/arcade/issues/11369 - disable new MSBuild server feature on linux
|
||||
# This feature is new and can result in build failures from connection timeout errors.
|
||||
export DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER=1
|
||||
Write-PipelineSetVariable -name "DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER" -value "1"
|
||||
|
||||
fi
|
||||
|
||||
local toolset_dir="${_InitializeToolset%/*}"
|
||||
|
@ -521,7 +515,7 @@ global_json_file="${repo_root}global.json"
|
|||
# determine if global.json contains a "runtimes" entry
|
||||
global_json_has_runtimes=false
|
||||
if command -v jq &> /dev/null; then
|
||||
if jq -er '. | select(has("runtimes"))' "$global_json_file" &> /dev/null; then
|
||||
if jq -e '.tools | has("runtimes")' "$global_json_file" &> /dev/null; then
|
||||
global_json_has_runtimes=true
|
||||
fi
|
||||
elif [[ "$(cat "$global_json_file")" =~ \"runtimes\"[[:space:]\:]*\{ ]]; then
|
||||
|
|
224
eng/pipelines/templates/jobs/vmr-build.yml
Normal file
224
eng/pipelines/templates/jobs/vmr-build.yml
Normal file
|
@ -0,0 +1,224 @@
|
|||
### This job source-builds https://github.com/dotnet/dotnet with given parameters
|
||||
### If run in a PR, new changes are applied to a local copy of the VMR, then it is source-built and tested
|
||||
|
||||
parameters:
|
||||
- name: isBuiltFromVmr
|
||||
displayName: True when build is running from dotnet/dotnet directly
|
||||
type: boolean
|
||||
|
||||
- name: vmrPath
|
||||
type: string
|
||||
default: $(Agent.BuildDirectory)/vmr
|
||||
|
||||
- name: vmrBranch
|
||||
displayName: dotnet/dotnet branch to use
|
||||
type: string
|
||||
default: $(Build.SourceBranchName)
|
||||
|
||||
- name: buildName
|
||||
type: string
|
||||
|
||||
- name: architecture
|
||||
type: string
|
||||
|
||||
- name: container
|
||||
type: string
|
||||
|
||||
- name: pool
|
||||
type: object
|
||||
|
||||
# Allow downloading artifacts from the internet during the build
|
||||
- name: runOnline
|
||||
type: boolean
|
||||
|
||||
# Skip running the SDK content smoke-tests
|
||||
- name: excludeSdkContentTests
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Name of a previous job (from the same template as this) whose output will be used to build this job
|
||||
# The SDK from its artifacts is copied to vmr/.dotnet
|
||||
- name: reuseBuildArtifactsFrom
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
- name: excludeOmniSharpTests
|
||||
type: boolean
|
||||
|
||||
- name: bootstrapPrep
|
||||
type: boolean
|
||||
|
||||
- name: enablePoison
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
|
||||
timeoutInMinutes: 150
|
||||
pool: ${{ parameters.pool }}
|
||||
${{ if ne(parameters.reuseBuildArtifactsFrom, '') }}:
|
||||
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
|
||||
# The build shortcuts when stage 1 build fails and doesn't produce the SDK.
|
||||
condition: succeededOrFailed()
|
||||
dependsOn: ${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}
|
||||
variables:
|
||||
- template: /eng/common/templates/variables/pool-providers.yml
|
||||
- ${{ if and(not(parameters.isBuiltFromVmr), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- group: DotNetBot-GitHub
|
||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||
- ${{ else }}:
|
||||
- name: BotAccount-dotnet-bot-repo-PAT
|
||||
value: N/A
|
||||
- ${{ if eq(parameters.reuseBuildArtifactsFrom, '') }}:
|
||||
- name: additionalBuildArgs
|
||||
value: ''
|
||||
- ${{ else }}:
|
||||
- name: additionalBuildArgs
|
||||
value: ' --with-sdk /vmr/.dotnet'
|
||||
|
||||
steps:
|
||||
- template: ../steps/vmr-prepare.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
skipComponentGovernanceDetection: true
|
||||
|
||||
# Synchronize new content in the VMR during PRs (we expect this to come
|
||||
- ${{ if and(not(parameters.isBuiltFromVmr), eq(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- template: ../steps/vmr-pull-updates.yml
|
||||
parameters:
|
||||
vmrPath: ${{ parameters.vmrPath }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
targetRef: $(Build.SourceVersion) # Synchronize the current installer commit
|
||||
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- script: cp ${{ parameters.vmrPath }}/src/installer/NuGet.config ${{ parameters.vmrPath }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
||||
displayName: Copy Test NuGet Config
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: ${{ parameters.vmrPath }}/src/installer/eng/common/SetupNugetSources.sh
|
||||
arguments: ${{ parameters.vmrPath }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
|
||||
- download: current
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz'
|
||||
displayName: Download MSFT SDK
|
||||
|
||||
- ${{ if ne(parameters.reuseBuildArtifactsFrom, '') }}:
|
||||
- download: current
|
||||
artifact: ${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
||||
patterns: '*.tar.gz'
|
||||
displayName: Download Previous Build
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Previous Build
|
||||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
||||
Contents: '*.tar.gz'
|
||||
TargetFolder: ${{ parameters.vmrPath }}/packages/archive/
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
if [[ -z '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
|
||||
customPrepArgs=
|
||||
if [[ '${{ parameters.bootstrapPrep }}' == 'True' ]]; then
|
||||
customPrepArgs='--bootstrap'
|
||||
fi
|
||||
|
||||
docker run --rm -v ${{ parameters.vmrPath }}:/vmr -w /vmr ${{ parameters.container }} ./prep.sh ${customPrepArgs}
|
||||
else
|
||||
mkdir ${{ parameters.vmrPath }}/.dotnet
|
||||
previousSdkPath="${{ parameters.vmrPath }}/packages/archive/dotnet-sdk-*.tar.gz"
|
||||
eval tar -ozxf "$previousSdkPath" -C "${{ parameters.vmrPath }}/.dotnet"
|
||||
eval rm -f "$previousSdkPath"
|
||||
fi
|
||||
displayName: Prep the Build
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
||||
networkArgs=
|
||||
customBuildArgs=
|
||||
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
|
||||
customBuildArgs='--online'
|
||||
else
|
||||
networkArgs='--network none'
|
||||
fi
|
||||
|
||||
if [[ '${{ parameters.enablePoison }}' == 'True' ]]; then
|
||||
customBuildArgs="$customBuildArgs --poison"
|
||||
fi
|
||||
|
||||
docker run --rm -v ${{ parameters.vmrPath }}:/vmr -w /vmr ${networkArgs} ${{ parameters.container }} ./build.sh --clean-while-building $(additionalBuildArgs) ${customBuildArgs}
|
||||
displayName: Build
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
dockerVolumeArgs="-v ${{ parameters.vmrPath }}:/vmr"
|
||||
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=${{ parameters.excludeOmniSharpTests }} -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true"
|
||||
poisonArg=''
|
||||
|
||||
if [[ '${{ parameters.excludeSdkContentTests }}' != 'True' ]]; then
|
||||
dockerVolumeArgs+=" -v $(Pipeline.Workspace)/BlobArtifacts/:/BlobArtifacts"
|
||||
msftSdkTarballName=$(find "$(Pipeline.Workspace)/BlobArtifacts/" -name "dotnet-sdk-*-linux-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
|
||||
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
|
||||
fi
|
||||
|
||||
if [[ '${{ parameters.enablePoison }}' == 'True' ]]; then
|
||||
poisonArg='--poison'
|
||||
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"
|
||||
fi
|
||||
|
||||
docker run --rm $dockerVolumeArgs -w /vmr $dockerEnvArgs ${{ parameters.container }} ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- -p:SmokeTestConsoleVerbosity=detailed
|
||||
displayName: Run Tests
|
||||
|
||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
||||
mkdir -p ${targetFolder}
|
||||
|
||||
cd "${{ parameters.vmrPath }}"
|
||||
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
|
||||
displayName: Prepare BuildLogs staging directory
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
||||
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
||||
displayName: Publish BuildLogs
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Test Results
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
||||
inputs:
|
||||
testRunner: vSTest
|
||||
testResultsFiles: 'test/**/*.trx'
|
||||
searchFolder: ${{ parameters.vmrPath }}
|
||||
mergeTestResults: true
|
||||
publishRunAttachments: true
|
||||
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
||||
|
||||
- publish: '${{ parameters.vmrPath }}/artifacts/${{ parameters.architecture }}/Release/'
|
||||
artifact: $(Agent.JobName)_Artifacts
|
||||
displayName: Publish Artifacts
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
|
@ -1,8 +1,9 @@
|
|||
### These steps synchronize code from product repositories into the VMR (https://github.com/dotnet/dotnet)
|
||||
### This job synchronizes code from product repositories into the VMR (https://github.com/dotnet/dotnet)
|
||||
### It synchronizes the content of the VMR to this new commit and pushes the changes
|
||||
|
||||
parameters:
|
||||
- name: targetRef
|
||||
displayName: Target revision in dotnet/installer to synchronize
|
||||
displayName: Target revision of dotnet/installer to synchronize
|
||||
type: string
|
||||
default: $(Build.SourceVersion)
|
||||
|
||||
|
@ -11,93 +12,56 @@ parameters:
|
|||
type: string
|
||||
default: $(Build.SourceBranchName)
|
||||
|
||||
- name: vmrToken
|
||||
displayName: PAT that allows pushing to dotnet/dotnet
|
||||
type: string
|
||||
|
||||
- name: noPush
|
||||
displayName: Don't push changes to dotnet/dotnet
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
- job: Synchronize
|
||||
- job: Synchronize_VMR
|
||||
displayName: Synchronize dotnet/dotnet
|
||||
timeoutInMinutes: 120
|
||||
|
||||
variables:
|
||||
- template: /eng/common/templates/variables/pool-providers.yml
|
||||
- name: vmrPath
|
||||
value: $(Agent.BuildDirectory)/vmr
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- group: DotNetBot-GitHub
|
||||
- ${{ else }}:
|
||||
- name: BotAccount-dotnet-bot-repo-PAT
|
||||
value: N/A
|
||||
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: NetCore-Public
|
||||
demands:
|
||||
- ImageOverride -equals Build.Ubuntu.2004.Amd64.Open
|
||||
${{ else }}:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands:
|
||||
- ImageOverride -equals Build.Ubuntu.2004.Amd64
|
||||
name: $(DncEngPublicBuildPool)
|
||||
demands: ImageOverride -equals Build.Ubuntu.2004.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: $(DncEngInternalBuildPool)
|
||||
demands: ImageOverride -equals Build.Ubuntu.2004.Amd64
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
displayName: Checkout dotnet/installer
|
||||
fetchDepth: 0
|
||||
path: installer
|
||||
- template: ../steps/vmr-prepare.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
isBuiltFromVmr: false
|
||||
|
||||
- checkout: vmr
|
||||
clean: true
|
||||
displayName: Checkout dotnet/dotnet
|
||||
fetchDepth: 0
|
||||
path: vmr
|
||||
- template: ../steps/vmr-pull-updates.yml
|
||||
parameters:
|
||||
vmrPath: $(vmrPath)
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
targetRef: ${{ parameters.targetRef }}
|
||||
|
||||
# TODO (https://github.com/dotnet/arcade/issues/11332): Allow full CG?
|
||||
# Currently, we ignore dirs of individual repos - they have been scanned before
|
||||
- ${{ if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- task: ComponentGovernanceComponentDetection@0
|
||||
inputs:
|
||||
sourceScanPath: $(vmrPath)
|
||||
ignoreDirectories: $(vmrPath)/src
|
||||
|
||||
- script: |-
|
||||
source ./eng/common/tools.sh
|
||||
InitializeDotNetCli true
|
||||
./.dotnet/dotnet tool restore
|
||||
displayName: Restore toolset
|
||||
workingDirectory: $(Agent.BuildDirectory)/installer
|
||||
|
||||
# TODO (https://github.com/dotnet/arcade/issues/11386): Remove this step
|
||||
# This step is here so that darc can find the PR commit (which might be in some fork)
|
||||
# We need to make darc understand that it needs to look in the fork from this PR
|
||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- script: |-
|
||||
cp -r $(Agent.BuildDirectory)/installer $(Agent.TempDirectory)/installer
|
||||
displayName: '[PR Only] Prepare dotnet/installer clone'
|
||||
|
||||
- script: git checkout -B ${{ parameters.vmrBranch }}
|
||||
displayName: Prepare branch ${{ parameters.vmrBranch }}
|
||||
workingDirectory: $(vmrPath)
|
||||
|
||||
- script: >
|
||||
$(Agent.BuildDirectory)/installer/.dotnet/dotnet darc vmr update
|
||||
--vmr $(vmrPath)
|
||||
--tmp $(Agent.TempDirectory)
|
||||
--azdev-pat $(System.AccessToken)
|
||||
--github-pat ${{ parameters.vmrToken }}
|
||||
--recursive
|
||||
--verbose
|
||||
installer:${{ parameters.targetRef }}
|
||||
displayName: Synchronize dotnet/dotnet
|
||||
workingDirectory: $(Agent.BuildDirectory)/installer
|
||||
|
||||
- ${{ if and(not(parameters.noPush), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- script: |-
|
||||
# For official builds, push the changes to the VMR
|
||||
# Push only main and release branches
|
||||
- ${{ if and(not(parameters.noPush), not(in(variables['Build.Reason'], 'PullRequest')), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- script: |
|
||||
set -x
|
||||
git config --global user.email 'dotnet-maestro[bot]@users.noreply.github.com' && git config --global user.name 'dotnet-maestro[bot]'
|
||||
git remote add dotnet 'https://${{ parameters.vmrToken }}@github.com/dotnet/dotnet.git'
|
||||
git remote add dotnet 'https://$(BotAccount-dotnet-bot-repo-PAT)@github.com/dotnet/dotnet.git'
|
||||
git fetch dotnet
|
||||
git branch ${{ parameters.vmrBranch }}
|
||||
git branch --set-upstream-to=dotnet/${{ parameters.vmrBranch }} ${{ parameters.vmrBranch }} || echo 'Branch ${{ parameters.vmrBranch }} not found in remote'
|
||||
git push dotnet ${{ parameters.vmrBranch }}
|
||||
displayName: Push changes to dotnet/dotnet
|
||||
workingDirectory: $(vmrPath)
|
||||
condition: and(succeeded(), or(eq(variables['vmrBranch'], 'main'), startsWith(variables['vmrBranch'], 'release/')))
|
||||
|
|
171
eng/pipelines/templates/stages/vmr-build.yml
Normal file
171
eng/pipelines/templates/stages/vmr-build.yml
Normal file
|
@ -0,0 +1,171 @@
|
|||
### This stage source-builds https://github.com/dotnet/dotnet with varying parameters
|
||||
### If run in a PR, new changes are applied to a local copy of the VMR, then it is source-built and tested
|
||||
|
||||
parameters:
|
||||
dependsOn: []
|
||||
condition: always()
|
||||
|
||||
# Branch of the VMR to use (to push to for internal builds)
|
||||
vmrBranch: $(Build.SourceBranchName)
|
||||
|
||||
# True when build is running from dotnet/dotnet directly
|
||||
isBuiltFromVmr:
|
||||
|
||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
|
||||
debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8
|
||||
fedora36Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36
|
||||
ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04
|
||||
|
||||
# Internal builds
|
||||
poolInternalAmd64:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
poolInternalAmd64PR:
|
||||
name: NetCore1ESPool-Internal-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
poolInternalArm64:
|
||||
name: Docker-Linux-Arm-Internal
|
||||
|
||||
# Public builds / PRs
|
||||
poolPublicAmd64:
|
||||
name: NetCore-Public-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
|
||||
stages:
|
||||
- stage: VMR_Source_Build
|
||||
displayName: VMR Source-Build
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
condition: ${{ parameters.condition }}
|
||||
variables:
|
||||
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
- name: defaultPoolName
|
||||
value: ${{ parameters.poolPublicAmd64.name }}
|
||||
- name: defaultPoolDemands
|
||||
value: ${{ parameters.poolPublicAmd64.demands }}
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- name: defaultPoolName
|
||||
value: ${{ parameters.poolInternalAmd64PR.name }}
|
||||
- name: defaultPoolDemands
|
||||
value: ${{ parameters.poolInternalAmd64PR.demands }}
|
||||
- ${{ else }}:
|
||||
- name: defaultPoolName
|
||||
value: ${{ parameters.poolInternalAmd64.name }}
|
||||
- name: defaultPoolDemands
|
||||
value: ${{ parameters.poolInternalAmd64.demands }}
|
||||
|
||||
jobs:
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: CentOSStream8_Online
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: true # ✅
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: true # ✅
|
||||
|
||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: CentOSStream8_Offline
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: false # 🚫
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: CentOSStream9_Offline
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream9Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Fedora36_Offline
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.fedora36Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: true # ✅
|
||||
excludeSdkContentTests: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Ubuntu2004_Offline
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.ubuntu2004Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Debian11_Offline
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: arm64
|
||||
pool: ${{ parameters.poolInternalArm64 }}
|
||||
container: ${{ parameters.debian11Arm64Container }}
|
||||
bootstrapPrep: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Fedora36_Offline_Using_Previous
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.fedora36Container }}
|
||||
bootstrapPrep: false # 🚫
|
||||
enablePoison: false # 🚫
|
||||
excludeSdkContentTests: true # ✅
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
reuseBuildArtifactsFrom: Fedora36_Offline
|
43
eng/pipelines/templates/steps/vmr-prepare.yml
Normal file
43
eng/pipelines/templates/steps/vmr-prepare.yml
Normal file
|
@ -0,0 +1,43 @@
|
|||
### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr
|
||||
### Component Governance scan is also triggered over the VMR's non-repo sources
|
||||
|
||||
parameters:
|
||||
- name: isBuiltFromVmr
|
||||
displayName: True when build is running from dotnet/dotnet directly
|
||||
type: boolean
|
||||
|
||||
- name: vmrBranch
|
||||
displayName: dotnet/dotnet branch to use
|
||||
type: string
|
||||
default: $(Build.SourceBranchName)
|
||||
|
||||
- name: skipComponentGovernanceDetection
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- ${{ if parameters.isBuiltFromVmr }}:
|
||||
- checkout: self
|
||||
displayName: Clone dotnet/dotnet
|
||||
path: vmr
|
||||
clean: true
|
||||
|
||||
- ${{ else }}:
|
||||
- checkout: vmr
|
||||
displayName: Clone dotnet/dotnet
|
||||
path: vmr
|
||||
clean: true
|
||||
|
||||
- ${{ if or(not(parameters.isBuiltFromVmr), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- script: |
|
||||
git switch -c ${{ parameters.vmrBranch }}
|
||||
displayName: Checkout ${{ parameters.vmrBranch }}
|
||||
workingDirectory: $(Agent.BuildDirectory)/vmr
|
||||
|
||||
# TODO (https://github.com/dotnet/arcade/issues/11332): Allow full CG?
|
||||
# Currently, we ignore dirs of individual repos - they have been scanned before
|
||||
- ${{ if and(not(parameters.skipComponentGovernanceDetection), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||
- task: ComponentGovernanceComponentDetection@0
|
||||
inputs:
|
||||
sourceScanPath: $(Agent.BuildDirectory)/vmr
|
||||
ignoreDirectories: $(Agent.BuildDirectory)/vmr/src
|
57
eng/pipelines/templates/steps/vmr-pull-updates.yml
Normal file
57
eng/pipelines/templates/steps/vmr-pull-updates.yml
Normal file
|
@ -0,0 +1,57 @@
|
|||
### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet).
|
||||
### They initialize the darc CLI and pull the new updates.
|
||||
### Changes are applied locally onto the already cloned VMR (located in $vmrPath).
|
||||
|
||||
parameters:
|
||||
- name: vmrBranch
|
||||
displayName: dotnet/dotnet branch to use
|
||||
type: string
|
||||
|
||||
- name: targetRef
|
||||
displayName: Target revision in dotnet/installer to synchronize
|
||||
type: string
|
||||
default: $(Build.SourceVersion)
|
||||
|
||||
- name: vmrPath
|
||||
displayName: Path where the dotnet/dotnet is checked out to
|
||||
type: string
|
||||
default: $(Agent.BuildDirectory)/vmr
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
displayName: Clone dotnet/installer
|
||||
path: installer
|
||||
|
||||
- script: |
|
||||
source ./eng/common/tools.sh
|
||||
InitializeDotNetCli true
|
||||
./.dotnet/dotnet tool restore
|
||||
displayName: Restore darc
|
||||
workingDirectory: $(Agent.BuildDirectory)/installer
|
||||
|
||||
- script: |
|
||||
git checkout -B ${{ parameters.vmrBranch }}
|
||||
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
||||
displayName: Prepare branch ${{ parameters.vmrBranch }}
|
||||
workingDirectory: ${{ parameters.vmrPath }}
|
||||
|
||||
# This step make sure that darc finds the PR commit (which might be in a fork of installer)
|
||||
# The cloned folder does have the commit so we copy it into temp where the tooling will find it
|
||||
# We also cannot keep the AzDO remote as pulling from it would require a token
|
||||
- script: |
|
||||
cp -r $(Agent.BuildDirectory)/installer $(Agent.TempDirectory)/03298978DFFFCD23
|
||||
cd $(Agent.TempDirectory)/03298978DFFFCD23
|
||||
git remote remove origin
|
||||
git remote add origin https://github.com/dotnet/installer
|
||||
displayName: Prepare dotnet/installer clone
|
||||
|
||||
- script: >
|
||||
$(Agent.BuildDirectory)/installer/.dotnet/dotnet darc vmr update
|
||||
--vmr ${{ parameters.vmrPath }}
|
||||
--tmp $(Agent.TempDirectory)
|
||||
--github-pat $(BotAccount-dotnet-bot-repo-PAT)
|
||||
--recursive
|
||||
--verbose
|
||||
installer:${{ parameters.targetRef }}
|
||||
displayName: Synchronize dotnet/dotnet
|
||||
workingDirectory: $(Agent.BuildDirectory)/installer
|
|
@ -29,6 +29,8 @@ set DOTNET_MULTILEVEL_LOOKUP=0
|
|||
|
||||
set PATH=$env:DOTNET_INSTALL_DIR;%PATH%
|
||||
set NUGET_PACKAGES=$env:NUGET_PACKAGES
|
||||
|
||||
set DOTNET_ROOT=$env:DOTNET_INSTALL_DIR
|
||||
"@
|
||||
|
||||
Out-File -FilePath $scriptPath -InputObject $scriptContents -Encoding ASCII
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
trigger: none
|
||||
pr: none
|
||||
resources:
|
||||
pipelines:
|
||||
- pipeline: installer-build-resource
|
||||
source: dotnet-installer-official-ci
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- release/*
|
||||
- internal/release/*
|
||||
stages:
|
||||
- build
|
||||
|
||||
stages:
|
||||
- stage: build
|
||||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
parameters:
|
||||
installerBuildResourceId: installer-build-resource
|
|
@ -1,14 +0,0 @@
|
|||
trigger: none
|
||||
pr: none
|
||||
resources:
|
||||
pipelines:
|
||||
- pipeline: installer-build-resource
|
||||
source: installer
|
||||
trigger: none
|
||||
|
||||
stages:
|
||||
- stage: build
|
||||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
parameters:
|
||||
installerBuildResourceId: installer-build-resource
|
180
eng/vmr-sync.sh
Executable file
180
eng/vmr-sync.sh
Executable file
|
@ -0,0 +1,180 @@
|
|||
#!/bin/bash
|
||||
|
||||
### This script helps to reproduce potential failures of the 'Synchronize dotnet/dotnet'
|
||||
### build step from the **VMR Source-Build** job locally.
|
||||
### The following scenario is assumed:
|
||||
### - There is a PR in dotnet/installer
|
||||
### - The PR is failing on the 'VMR Source-Build' job in the 'Synchronize dotnet/dotnet' step
|
||||
###
|
||||
### There are a few possible reasons but usually this happens because there is a mismatch between
|
||||
### source patches that are applied on top of the files that are being synchronized from repositories
|
||||
### into the 'dotnet/dotnet' repo and new changes in the repositories.
|
||||
### This manifests as the following error:
|
||||
### fail: Failed to synchronize repo installer
|
||||
### Failed to apply the patch for src/aspnetcore
|
||||
### Exit code: 1
|
||||
### Std err:
|
||||
### error: patch failed: src/aspnetcore/eng/SourceBuild.props:55
|
||||
### error: src/aspnetcore/eng/SourceBuild.props: patch does not apply
|
||||
###
|
||||
### where 'src/aspnetcore/eng/SourceBuild.props' would be the file that is being patched and new
|
||||
### changes to it are conflicting with the patch that is being applied.
|
||||
###
|
||||
### The whole process can be reproduced locally easily by running this script.
|
||||
### The patches are located in a folder in the 'dotnet/installer' repository.
|
||||
### At the moment of writing, the location is 'src/SourceBuild/patches' but to get
|
||||
### the up-to-date location, please see the 'patchesPath' property in
|
||||
### https://github.com/dotnet/dotnet/blob/main/src/source-mappings.json
|
||||
###
|
||||
### You will need to compare what is in the patch and what is in the file and fix the patch.
|
||||
###
|
||||
### The tooling that synchronizes the VMR will need to clone the various repositories.
|
||||
### It clones them into a temporary folder and re-uses them on future runs so it is advised
|
||||
### you dedicate a folder to this to speed up your re-runs.
|
||||
###
|
||||
### This script will synchronize the 'dotnet/dotnet' repo locally and let you inspect the changes.
|
||||
###
|
||||
### USAGE:
|
||||
### ./vmr-sync.sh --tmp-dir "$HOME/repos/tmp"
|
||||
### Options:
|
||||
### -t, --tmp, --tmp-dir PATH
|
||||
### Required. Path to the temporary folder where repositories will be cloned
|
||||
### -v, --vmr, --vmr-dir PATH
|
||||
### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder
|
||||
### -b, --branch, --vmr-branch BRANCH_NAME
|
||||
### Optional. Branch of the 'dotnet/dotnet' repo to synchronize to
|
||||
### This should match the target branch of the PR, defaults to 'main'
|
||||
### --debug
|
||||
### Optional. Turns on the most verbose logging for the VMR tooling
|
||||
|
||||
source="${BASH_SOURCE[0]}"
|
||||
|
||||
# resolve $source until the file is no longer a symlink
|
||||
while [[ -h "$source" ]]; do
|
||||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
|
||||
source="$(readlink "$source")"
|
||||
# if $source was a relative symlink, we need to resolve it relative to the path where the
|
||||
# symlink file was located
|
||||
[[ $source != /* ]] && source="$scriptroot/$source"
|
||||
done
|
||||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
|
||||
|
||||
function print_help () {
|
||||
sed -n '/^### /,/^$/p' "$source" | cut -b 5-
|
||||
}
|
||||
|
||||
COLOR_RED=$(tput setaf 1 2>/dev/null || true)
|
||||
COLOR_CYAN=$(tput setaf 6 2>/dev/null || true)
|
||||
COLOR_CLEAR=$(tput sgr0 2>/dev/null || true)
|
||||
COLOR_RESET=uniquesearchablestring
|
||||
FAILURE_PREFIX='> '
|
||||
|
||||
function fail () {
|
||||
echo "${COLOR_RED}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_RED}}${COLOR_CLEAR}" >&2
|
||||
}
|
||||
|
||||
function highlight () {
|
||||
echo "${COLOR_CYAN}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_CYAN}}${COLOR_CLEAR}"
|
||||
}
|
||||
|
||||
installer_dir="$scriptroot/../"
|
||||
tmp_dir=''
|
||||
vmr_dir=''
|
||||
vmr_branch='main'
|
||||
verbosity=verbose
|
||||
# hashed name coming from the VMR tooling
|
||||
INSTALLER_TMP_DIR_NAME='03298978DFFFCD23'
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
|
||||
case "$opt" in
|
||||
-t|--tmp|--tmp-dir)
|
||||
tmp_dir=$2
|
||||
shift
|
||||
;;
|
||||
-v|--vmr|--vmr-dir)
|
||||
vmr_dir=$2
|
||||
shift
|
||||
;;
|
||||
-b|--branch|--vmr-branch)
|
||||
vmr_branch=$2
|
||||
shift
|
||||
;;
|
||||
-d|--debug)
|
||||
verbosity=debug
|
||||
;;
|
||||
-h|--help)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
fail "Invalid argument: $1"
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ ! -d "$installer_dir" ]]; then
|
||||
fail "Directory '$installer_dir' does not exist. Please specify the path to the dotnet/installer repo"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$tmp_dir" ]]; then
|
||||
fail "Missing --tmp-dir argument. Please specify the path to the temporary folder where the repositories will be cloned"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$vmr_dir" ]]; then
|
||||
vmr_dir="$tmp_dir/dotnet"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$tmp_dir" ]]; then
|
||||
mkdir -p "$tmp_dir"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$vmr_dir" ]]; then
|
||||
highlight "Cloning 'dotnet/dotnet' into $vmr_dir.."
|
||||
git clone https://github.com/dotnet/dotnet "$vmr_dir"
|
||||
else
|
||||
if ! git -C "$vmr_dir" diff --quiet; then
|
||||
fail "There are changes in the working tree of $vmr_dir. Please commit or stash your changes"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
highlight "Preparing $vmr_dir"
|
||||
git -C "$vmr_dir" checkout "$vmr_branch"
|
||||
git -C "$vmr_dir" pull
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
# These lines makes sure the temp dir (which the tooling would clone)
|
||||
# has the synchronized commit inside as well
|
||||
highlight 'Preparing the temporary directory..'
|
||||
rm -rf "${tmp_dir:?}/$INSTALLER_TMP_DIR_NAME"
|
||||
git clone "$installer_dir" "${tmp_dir:?}/$INSTALLER_TMP_DIR_NAME"
|
||||
|
||||
# Prepare darc
|
||||
highlight 'Installing .NET, preparing the tooling..'
|
||||
source "$scriptroot/common/tools.sh"
|
||||
InitializeDotNetCli true
|
||||
dotnet="$scriptroot/../.dotnet/dotnet"
|
||||
"$dotnet" tool restore
|
||||
|
||||
# Run the sync
|
||||
target_sha=$(git -C "$installer_dir" rev-parse HEAD)
|
||||
highlight "Starting the synchronization to $target_sha.."
|
||||
set +e
|
||||
|
||||
if "$dotnet" darc vmr update --vmr "$vmr_dir" --tmp "$tmp_dir" --$verbosity --recursive installer:$target_sha; then
|
||||
highlight "Synchronization succeeded"
|
||||
else
|
||||
fail "Synchronization of dotnet/dotnet to $target_sha failed!"
|
||||
fail "$vmr_dir is left in its last state (re-run of this script will reset it)."
|
||||
fail "Please inspect the logs which contain path to the failing patch file (use --debug to get all the details)."
|
||||
fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script."
|
||||
exit 1
|
||||
fi
|
|
@ -1,47 +0,0 @@
|
|||
### This pipeline synchronizes code from product repositories into the VMR (https://github.com/dotnet/dotnet)
|
||||
|
||||
parameters:
|
||||
- name: targetRef
|
||||
displayName: Target revision in dotnet/installer to synchronize
|
||||
type: string
|
||||
default: $(Build.SourceVersion)
|
||||
|
||||
- name: vmrBranch
|
||||
displayName: dotnet/dotnet branch to use
|
||||
type: string
|
||||
default: $(Build.SourceBranchName)
|
||||
|
||||
- name: noPush
|
||||
displayName: Don't push changes to dotnet/dotnet
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
pr: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: vmr
|
||||
type: github
|
||||
name: dotnet/dotnet
|
||||
endpoint: dotnet
|
||||
|
||||
variables:
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- group: DotNetBot-GitHub
|
||||
|
||||
- ${{ else }}:
|
||||
- name: BotAccount-dotnet-bot-repo-PAT
|
||||
value: N/A
|
||||
|
||||
jobs:
|
||||
- template: ./pipelines/templates/jobs/vmr-synchronization.yml
|
||||
parameters:
|
||||
targetRef: ${{ parameters.targetRef }}
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
vmrToken: $(BotAccount-dotnet-bot-repo-PAT)
|
||||
noPush: ${{ parameters.noPush }}
|
|
@ -3,7 +3,7 @@
|
|||
"dotnet": "8.0.100-alpha.1.22423.9",
|
||||
"runtimes": {
|
||||
"dotnet": [
|
||||
"7.0.0-rc.1.22426.10"
|
||||
"7.0.0"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -11,7 +11,7 @@
|
|||
"cmake": "3.21.0"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22552.1",
|
||||
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.22552.1"
|
||||
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22612.4",
|
||||
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.22612.4"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
The source and targets in the `src/SourceBuild/Arcade` directory are intended to move into the Arcade repo at some point. They are added here for ease of development while developing the tarball generation process. See https://github.com/dotnet/source-build/issues/2295
|
|
@ -1,205 +0,0 @@
|
|||
# Builds a source-build tarball
|
||||
|
||||
parameters:
|
||||
# Architecture to build
|
||||
architecture:
|
||||
|
||||
# Custom condition to apply to the job
|
||||
condition:
|
||||
|
||||
# Dependent jobs that must be completed before this job will run
|
||||
dependsOn:
|
||||
|
||||
# Skip running the SDK content smoke-tests
|
||||
excludeSdkContentTests: false
|
||||
|
||||
# Resource id of the installer build to retrieve source/product tarball's from
|
||||
installerBuildResourceId:
|
||||
|
||||
# Matrix to run jobs over
|
||||
matrix:
|
||||
|
||||
# Job name
|
||||
name:
|
||||
|
||||
# Agent pool to use
|
||||
pool:
|
||||
|
||||
# Build using the previous source-build artifacts
|
||||
usePreviousArtifacts: false
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.name }}
|
||||
condition: ${{ parameters.condition }}
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
pool: ${{ parameters.pool }}
|
||||
strategy:
|
||||
matrix: ${{ parameters.matrix }}
|
||||
timeoutInMinutes: 300
|
||||
variables:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
|
||||
- name: additionalBuildArgs
|
||||
value: --with-sdk /tarball/.dotnet
|
||||
- name: tarballDir
|
||||
value: $(Build.StagingDirectory)/tarball
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
- download: ${{ parameters.installerBuildResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-source*.tar.gz'
|
||||
displayName: Download Source Tarball
|
||||
|
||||
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
|
||||
- download: ${{ parameters.installerBuildResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz'
|
||||
displayName: Download MSFT sdk Tarball
|
||||
|
||||
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
|
||||
- download: current
|
||||
artifact: $(_PreviousSourceBuildArtifact)
|
||||
patterns: '*.tar.gz'
|
||||
displayName: Download Previous Source Build Artifacts
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Previous Source Build Artifacts
|
||||
inputs:
|
||||
SourceFolder: $(PIPELINE.WORKSPACE)/$(_PreviousSourceBuildArtifact)
|
||||
Contents: '*.tar.gz'
|
||||
TargetFolder: $(tarballDir)/packages/archive/
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
resourceIdPathSegment=
|
||||
if [[ '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
|
||||
resourceIdPathSegment='${{ parameters.installerBuildResourceId }}/'
|
||||
fi
|
||||
|
||||
mkdir -p "$(tarballDir)"
|
||||
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
|
||||
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)"
|
||||
eval rm -f "$tarballFilePath"
|
||||
displayName: Extract Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
if [[ '${{ parameters.usePreviousArtifacts }}' != 'true' ]]; then
|
||||
customPrepArgs=
|
||||
if [[ '$(_BootstrapPrep)' == 'true' ]]; then
|
||||
customPrepArgs='--bootstrap'
|
||||
fi
|
||||
|
||||
docker run --rm -v $(tarballDir):/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
|
||||
else
|
||||
mkdir $(tarballDir)/.dotnet
|
||||
tarballFilePath="$(tarballDir)/packages/archive/dotnet-sdk-*.tar.gz"
|
||||
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)/.dotnet"
|
||||
eval rm -f "$tarballFilePath"
|
||||
fi
|
||||
displayName: Prep Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
||||
networkArgs=
|
||||
customBuildArgs=
|
||||
if [[ '$(_RunOnline)' == 'true' ]]; then
|
||||
customBuildArgs='--online'
|
||||
else
|
||||
networkArgs='--network none'
|
||||
fi
|
||||
|
||||
if [[ '$(_EnablePoison)' == 'true' ]]; then
|
||||
customBuildArgs="$customBuildArgs --poison"
|
||||
fi
|
||||
|
||||
docker run --rm -v $(tarballDir):/tarball -w /tarball ${networkArgs} $(_Container) ./build.sh --clean-while-building ${customBuildArgs} $(additionalBuildArgs)
|
||||
displayName: Build Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
# Use installer repo's NuGet.config during online testing to utilize internal feeds
|
||||
rm -f $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
||||
cp $(Build.SourcesDirectory)/NuGet.config $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
||||
|
||||
dockerVolumeArgs="-v $(tarballDir):/tarball"
|
||||
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=$(_ExcludeOmniSharpTests) -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true"
|
||||
poisonArg=''
|
||||
|
||||
if [[ '${{ parameters.excludeSdkContentTests}}' != 'true' ]]; then
|
||||
dockerVolumeArgs+=" -v $(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/:/BlobArtifacts"
|
||||
msftSdkTarballName=$(find "$(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/" -name "dotnet-sdk-*-linux-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
|
||||
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
|
||||
fi
|
||||
|
||||
if [[ '$(_EnablePoison)' == 'true' ]]; then
|
||||
poisonArg='--poison'
|
||||
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"
|
||||
fi
|
||||
|
||||
docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs $(_Container) ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- -p:SmokeTestConsoleVerbosity=detailed
|
||||
displayName: Run Tests
|
||||
|
||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
||||
mkdir -p ${targetFolder}
|
||||
|
||||
cd "$(tarballDir)"
|
||||
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
|
||||
displayName: Prepare BuildLogs staging directory
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
||||
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
||||
displayName: Publish BuildLogs
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Test Results
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
||||
inputs:
|
||||
testRunner: vSTest
|
||||
testResultsFiles: 'test/**/*.trx'
|
||||
searchFolder: $(tarballDir)
|
||||
mergeTestResults: true
|
||||
publishRunAttachments: true
|
||||
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
||||
|
||||
- publish: '$(tarballDir)/artifacts/${{ parameters.architecture}}/Release/'
|
||||
artifact: $(Agent.JobName)_Artifacts
|
||||
displayName: Publish Artifacts
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
|
@ -1,85 +0,0 @@
|
|||
# Creates a source-build tarball
|
||||
|
||||
jobs:
|
||||
- job: Source_Build_Create_Tarball
|
||||
container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36
|
||||
displayName: Source-Build Create Tarball
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
name: NetCore-Public-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ else }}:
|
||||
name: NetCore-Svc-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
name: NetCore1ESPool-Internal-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
${{ else }}:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
|
||||
variables:
|
||||
- name: _BuildConfig
|
||||
value: Release
|
||||
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- group: DotNet-Source-Build-All-Orgs-Source-Access
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
||||
officialBuildArgs=
|
||||
if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then
|
||||
officialBuildArgs='/p:OfficialBuildId=$(BUILD.BUILDNUMBER)'
|
||||
fi
|
||||
|
||||
# If building on the internal project, the internal storage variable may be available (usually only if needed)
|
||||
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
|
||||
# in the default public locations.
|
||||
internalRuntimeDownloadArgs=
|
||||
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
|
||||
internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
|
||||
fi
|
||||
|
||||
./build.sh \
|
||||
--ci \
|
||||
--configuration $(_BuildConfig) \
|
||||
--publish \
|
||||
-bl \
|
||||
$officialBuildArgs \
|
||||
$internalRuntimeDownloadArgs \
|
||||
/p:DotNetPublishUsingPipelines=true \
|
||||
/p:ArcadeBuildTarball=true \
|
||||
/p:AzDoPat=$(dn-bot-all-orgs-build-rw-code-rw)
|
||||
displayName: Create Tarball
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Prepare BuildLogs staging directory
|
||||
inputs:
|
||||
Contents: |
|
||||
**/*.log
|
||||
**/*.binlog
|
||||
TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
|
||||
CleanTargetFolder: true
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
||||
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
||||
displayName: Publish BuildLogs
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
|
@ -1,121 +0,0 @@
|
|||
# Builds a source-build tarball
|
||||
|
||||
parameters:
|
||||
# Dependent jobs that must be completed before this job will run
|
||||
dependsOn:
|
||||
|
||||
# Resource id of the installer build to retrieve source/product tarball's from
|
||||
installerBuildResourceId: current
|
||||
|
||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
|
||||
debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8
|
||||
fedora36Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36
|
||||
ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04
|
||||
poolInternalAmd64:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
poolInternalAmd64PR:
|
||||
name: NetCore1ESPool-Internal-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
poolInternalArm64:
|
||||
name: Docker-Linux-Arm-Internal
|
||||
poolPublicAmd64:
|
||||
name: NetCore-Public-XL
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
|
||||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||
parameters:
|
||||
architecture: x64
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
excludeSdkContentTests: true
|
||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||
matrix:
|
||||
CentOSStream8-Online:
|
||||
_BootstrapPrep: false
|
||||
_Container: ${{ parameters.centOSStream8Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: true
|
||||
_RunOnline: true
|
||||
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
CentOSStream8-Offline:
|
||||
_BootstrapPrep: false
|
||||
_Container: ${{ parameters.centOSStream8Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: true
|
||||
_RunOnline: false
|
||||
CentOSStream9-Offline:
|
||||
_BootstrapPrep: false
|
||||
_Container: ${{ parameters.centOSStream9Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
Fedora36-Offline:
|
||||
_BootstrapPrep: false
|
||||
_Container: ${{ parameters.fedora36Container }}
|
||||
_EnablePoison: true
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
Ubuntu2004-Offline:
|
||||
_BootstrapPrep: false
|
||||
_Container: ${{ parameters.ubuntu2004Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
name: Build_Tarball_x64
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
${{ parameters.poolPublicAmd64 }}
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
${{ parameters.poolInternalAmd64PR }}
|
||||
${{ else }}:
|
||||
${{ parameters.poolInternalAmd64 }}
|
||||
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||
parameters:
|
||||
architecture: arm64
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
excludeSdkContentTests: true
|
||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||
matrix:
|
||||
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
Debian11-Offline:
|
||||
_BootstrapPrep: true
|
||||
_Container: ${{ parameters.debian11Arm64Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
name: Build_Tarball_arm64
|
||||
pool: ${{ parameters.poolInternalArm64 }}
|
||||
|
||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||
parameters:
|
||||
architecture: x64
|
||||
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
|
||||
# The bootstrap build will shortcut if the stage 1 build failed.
|
||||
condition: succeededOrFailed()
|
||||
dependsOn: Build_Tarball_x64
|
||||
excludeSdkContentTests: true
|
||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||
matrix:
|
||||
Fedora36-Offline:
|
||||
_PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora36-Offline_Artifacts
|
||||
_Container: ${{ parameters.fedora36Container }}
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
name: Build_Tarball_x64_Using_Previous
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
${{ parameters.poolPublicAmd64 }}
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
${{ parameters.poolInternalAmd64 }}
|
||||
usePreviousArtifacts: true
|
|
@ -1,17 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net7.0</TargetFrameworks>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<RunAnalyzers>false</RunAnalyzers>
|
||||
<Nullable>disable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="*.cs" />
|
||||
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkVersion)" PrivateAssets="All" ExcludeAssets="Runtime" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildUtilitiesCoreVersion)" Publish="false" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="NuGet.Packaging" Version="5.8.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,180 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.Tasks
|
||||
{
|
||||
/// <summary>
|
||||
/// Reads entries in a Version.Details.xml file to find intermediate nupkg dependencies. For
|
||||
/// each dependency with a "SourceBuild" element, adds an item to the "Dependencies" output.
|
||||
/// </summary>
|
||||
public class Tarball_ReadSourceBuildIntermediateNupkgDependencies : Task
|
||||
{
|
||||
[Required]
|
||||
public string VersionDetailsXmlFile { get; set; }
|
||||
|
||||
[Required]
|
||||
public string SourceBuildIntermediateNupkgPrefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Convert any internal repo references to the public GitHub repos.
|
||||
/// </summary>
|
||||
public bool ConvertInternalRepos { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The intermediate nupkg RID to use if any RID-specific intermediate nupkgs are required.
|
||||
/// If this parameter isn't specified, RID-specific intermediate nupkgs can't be used and
|
||||
/// this task fails.
|
||||
/// </summary>
|
||||
public string SourceBuildIntermediateNupkgRid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// %(Identity): NuGet package ID.
|
||||
/// %(Name): The Name of the dependency from Version.Details.xml.
|
||||
/// %(ExactVersion): NuGet package version. This can be used to look up the restored package
|
||||
/// contents in a package cache.
|
||||
/// %(Version): NuGet package version, wrapped in "[version]" syntax for exact match.
|
||||
/// %(Uri): The URI for the repo.
|
||||
/// %(Sha): The commit Sha for the dependency.
|
||||
/// %(SourceBuildRepoName): The repo name to use in source-build.
|
||||
/// </summary>
|
||||
[Output]
|
||||
public ITaskItem[] Dependencies { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
XElement root = XElement.Load(VersionDetailsXmlFile, LoadOptions.PreserveWhitespace);
|
||||
|
||||
XName CreateQualifiedName(string plainName)
|
||||
{
|
||||
return root.GetDefaultNamespace().GetName(plainName);
|
||||
}
|
||||
|
||||
Dependencies = root
|
||||
.Elements()
|
||||
.Elements(CreateQualifiedName("Dependency"))
|
||||
.Select(d =>
|
||||
{
|
||||
XElement sourceBuildElement = d.Element(CreateQualifiedName("SourceBuild"));
|
||||
|
||||
if (sourceBuildElement == null)
|
||||
{
|
||||
// Workaround for https://github.com/dotnet/source-build/issues/2481
|
||||
sourceBuildElement = d.Element(CreateQualifiedName("SourceBuildTarball"));
|
||||
|
||||
if (sourceBuildElement == null)
|
||||
{
|
||||
// Ignore element: doesn't represent a source-build dependency.
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
string repoName = sourceBuildElement.Attribute("RepoName")?.Value;
|
||||
|
||||
if (string.IsNullOrEmpty(repoName))
|
||||
{
|
||||
Log.LogError($"Dependency SourceBuild RepoName null or empty in '{VersionDetailsXmlFile}' element {d}");
|
||||
return null;
|
||||
}
|
||||
|
||||
string dependencyName = d.Attribute("Name")?.Value ?? string.Empty;
|
||||
|
||||
if (string.IsNullOrEmpty(dependencyName))
|
||||
{
|
||||
// Log name missing as FYI, but this is not an error case for source-build.
|
||||
Log.LogMessage($"Dependency Name null or empty in '{VersionDetailsXmlFile}' element {d}");
|
||||
}
|
||||
|
||||
string dependencyVersion = d.Attribute("Version")?.Value;
|
||||
|
||||
string uri = d.Element(CreateQualifiedName("Uri"))?.Value;
|
||||
if (ConvertInternalRepos)
|
||||
{
|
||||
uri = ConvertInternalRepo(uri);
|
||||
}
|
||||
|
||||
string sha = d.Element(CreateQualifiedName("Sha"))?.Value;
|
||||
string sourceBuildRepoName = sourceBuildElement.Attribute("RepoName")?.Value;
|
||||
|
||||
if (string.IsNullOrEmpty(dependencyVersion))
|
||||
{
|
||||
// We need a version to bring down an intermediate nupkg. Fail.
|
||||
Log.LogError($"Dependency Version null or empty in '{VersionDetailsXmlFile}' element {d}");
|
||||
return null;
|
||||
}
|
||||
|
||||
string identity = SourceBuildIntermediateNupkgPrefix + repoName;
|
||||
|
||||
bool.TryParse(
|
||||
sourceBuildElement.Attribute("ManagedOnly")?.Value,
|
||||
out bool managedOnly);
|
||||
|
||||
// If RID-specific, add the RID to the end of the identity.
|
||||
if (!managedOnly)
|
||||
{
|
||||
if (string.IsNullOrEmpty(SourceBuildIntermediateNupkgRid))
|
||||
{
|
||||
Log.LogError(
|
||||
$"Parameter {nameof(SourceBuildIntermediateNupkgRid)} was " +
|
||||
"not specified, indicating this project depends only on managed " +
|
||||
"inputs. However, source-build element is not ManagedOnly: " +
|
||||
sourceBuildElement);
|
||||
return null;
|
||||
}
|
||||
|
||||
identity += "." + SourceBuildIntermediateNupkgRid;
|
||||
}
|
||||
|
||||
return new TaskItem(
|
||||
identity,
|
||||
new Dictionary<string, string>
|
||||
{
|
||||
["Name"] = dependencyName,
|
||||
["Version"] = $"[{dependencyVersion}]",
|
||||
["ExactVersion"] = dependencyVersion,
|
||||
["Uri"] = uri,
|
||||
["Sha"] = sha,
|
||||
["SourceBuildRepoName"] = sourceBuildRepoName
|
||||
});
|
||||
})
|
||||
.Where(d => d != null)
|
||||
.ToArray();
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private string ConvertInternalRepo(string uri)
|
||||
{
|
||||
if (uri.StartsWith("https://dev.azure.com", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
string[] repoParts = uri.Substring(uri.LastIndexOf('/')).Split('-', 2);
|
||||
|
||||
if (repoParts.Length != 2)
|
||||
{
|
||||
Log.LogError($"Repo '{uri}' does not end with the expected <GH organization>-<GH repo> format");
|
||||
return null;
|
||||
}
|
||||
|
||||
string org = repoParts[0];
|
||||
string repo = repoParts[1];
|
||||
|
||||
// The internal Nuget.Client repo has suffix which needs to be accounted for.
|
||||
const string trustedSuffix = "-Trusted";
|
||||
if (uri.EndsWith(trustedSuffix, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
repo = repo.Substring(0, repo.Length - trustedSuffix.Length);
|
||||
}
|
||||
|
||||
uri = $"https://github.com/{org}/{repo}";
|
||||
}
|
||||
|
||||
return uri;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,194 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Tasks;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.Versioning;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.Tasks
|
||||
{
|
||||
/// <summary>
|
||||
/// Writes a props file to the given directory for each dependency specified
|
||||
/// plus adds or updates an existing props file with all dependencies. The
|
||||
/// intention is for the props file to be included by a source-build build
|
||||
/// to get metadata about each dependent repo.
|
||||
/// </summary>
|
||||
public class Tarball_WriteSourceRepoProperties : Task
|
||||
{
|
||||
/// <summary>
|
||||
/// The directory to write the props files to.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string SourceBuildMetadataDir { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Dependencies to include in the props files.
|
||||
///
|
||||
/// %(Identity): NuGet package ID.
|
||||
/// %(Name): The Name of the dependency from Version.Details.xml.
|
||||
/// %(ExactVersion): NuGet package version. This can be used to look up the restored package
|
||||
/// contents in a package cache.
|
||||
/// %(Version): NuGet package version, wrapped in "[version]" syntax for exact match.
|
||||
/// %(Uri): The URI for the repo.
|
||||
/// %(Sha): The commit Sha for the dependency.
|
||||
/// %(SourceBuildRepoName): The repo name to use in source-build.
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
[Required]
|
||||
public ITaskItem[] Dependencies { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
var allRepoProps = new Dictionary<string, string>();
|
||||
|
||||
foreach (var dependency in Dependencies.Select(dep =>
|
||||
new {
|
||||
Name = dep.GetMetadata("Name"),
|
||||
SourceBuildRepoName = dep.GetMetadata("SourceBuildRepoName"),
|
||||
Version = dep.GetMetadata("ExactVersion"),
|
||||
Sha = dep.GetMetadata("Sha"),
|
||||
Uri = dep.GetMetadata("Uri"),
|
||||
GitCommitCount = dep.GetMetadata("GitCommitCount")
|
||||
}))
|
||||
{
|
||||
string repoName = dependency.SourceBuildRepoName;
|
||||
string safeRepoName = repoName.Replace("-", "").Replace(".", "");
|
||||
string propsPath = Path.Combine(SourceBuildMetadataDir, $"{repoName.Replace(".", "-")}.props");
|
||||
DerivedVersion derivedVersion = GetVersionInfo(safeRepoName, dependency.Version, "0");
|
||||
var repoProps = new Dictionary<string, string>
|
||||
{
|
||||
["GitCommitHash"] = dependency.Sha,
|
||||
["OfficialBuildId"] = derivedVersion.OfficialBuildId,
|
||||
["OutputPackageVersion"] = dependency.Version,
|
||||
["PreReleaseVersionLabel"] = derivedVersion.PreReleaseVersionLabel,
|
||||
["IsStable"] = string.IsNullOrWhiteSpace(derivedVersion.PreReleaseVersionLabel) ? "true" : "false",
|
||||
};
|
||||
if (!string.IsNullOrEmpty(dependency.GitCommitCount))
|
||||
{
|
||||
repoProps.Add("GitCommitCount", dependency.GitCommitCount);
|
||||
}
|
||||
WritePropsFile(propsPath, repoProps);
|
||||
allRepoProps[$"{safeRepoName}GitCommitHash"] = dependency.Sha;
|
||||
allRepoProps[$"{safeRepoName}OutputPackageVersion"] = dependency.Version;
|
||||
}
|
||||
string allRepoPropsPath = Path.Combine(SourceBuildMetadataDir, "AllRepoVersions.props");
|
||||
Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Writing all repo versions to {allRepoPropsPath}");
|
||||
UpdatePropsFile(allRepoPropsPath, allRepoProps);
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reverse a version in the Arcade style (https://github.com/dotnet/arcade/blob/fb92b14d8cd07cf44f8f7eefa8ac58d7ffd05f3f/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.BeforeCommonTargets.targets#L18)
|
||||
/// back to an OfficialBuildId + ReleaseLabel which we can then supply to get the same resulting version number.
|
||||
/// </summary>
|
||||
/// <param name="repoName">The source build name of the repo to get the version info for.</param>
|
||||
/// <param name="version">The complete version, e.g. 1.0.0-beta1-19720.5</param>
|
||||
/// <param name="commitCount">The current commit count of the repo. This is used for some repos that do not use the standard versioning scheme.</param>
|
||||
/// <returns></returns>
|
||||
private static DerivedVersion GetVersionInfo(string repoName, string version, string commitCount)
|
||||
{
|
||||
var nugetVersion = new NuGetVersion(version);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(nugetVersion.Release))
|
||||
{
|
||||
var releaseParts = nugetVersion.Release.Split('-', '.');
|
||||
if (repoName.Contains("nuget"))
|
||||
{
|
||||
// NuGet does this - arbitrary build IDs
|
||||
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
else if (releaseParts.Length == 3)
|
||||
{
|
||||
// VSTest uses full dates for the first part of their preview build numbers
|
||||
if (repoName.Contains("vstest"))
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"{releaseParts[1]}.{releaseParts[2]}", PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
else if (int.TryParse(releaseParts[1], out int datePart) && int.TryParse(releaseParts[2], out int buildPart))
|
||||
{
|
||||
if (datePart > 1 && datePart < 8 && buildPart > 1000 && buildPart < 10000)
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = releaseParts[2], PreReleaseVersionLabel = $"{releaseParts[0]}.{releaseParts[1]}" };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"20{((datePart / 1000))}{((datePart % 1000) / 50):D2}{(datePart % 50):D2}.{buildPart}", PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (releaseParts.Length == 4)
|
||||
{
|
||||
// new preview version style, e.g. 5.0.0-preview.7.20365.12
|
||||
if (int.TryParse(releaseParts[2], out int datePart) && int.TryParse(releaseParts[3], out int buildPart))
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"20{((datePart / 1000))}{((datePart % 1000) / 50):D2}{(datePart % 50):D2}.{buildPart}", PreReleaseVersionLabel = $"{releaseParts[0]}.{releaseParts[1]}" };
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// finalized version number (x.y.z) - probably not our code
|
||||
// Application Insights, Newtonsoft.Json do this
|
||||
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = string.Empty };
|
||||
}
|
||||
|
||||
throw new FormatException($"Can't derive a build ID from version {version} (commit count {commitCount}, release {string.Join(";", nugetVersion.Release.Split('-', '.'))})");
|
||||
}
|
||||
|
||||
private static void UpdatePropsFile(string filePath, Dictionary<string, string> properties)
|
||||
{
|
||||
if (!File.Exists(filePath))
|
||||
{
|
||||
WritePropsFile(filePath, properties);
|
||||
}
|
||||
else
|
||||
{
|
||||
var content = new StringBuilder();
|
||||
foreach (var line in File.ReadAllLines(filePath))
|
||||
{
|
||||
content.AppendLine(line);
|
||||
if (line.Contains("<PropertyGroup>"))
|
||||
{
|
||||
foreach (var propName in properties.Keys.OrderBy(k => k))
|
||||
{
|
||||
content.AppendLine($" <{propName}>{properties[propName]}</{propName}>");
|
||||
}
|
||||
}
|
||||
}
|
||||
File.WriteAllText(filePath, content.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private static void WritePropsFile(string filePath, Dictionary<string, string> properties)
|
||||
{
|
||||
var content = new StringBuilder();
|
||||
content.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
|
||||
content.AppendLine("<Project>");
|
||||
content.AppendLine(" <PropertyGroup>");
|
||||
foreach (var propName in properties.Keys.OrderBy(k => k))
|
||||
{
|
||||
content.AppendLine($" <{propName}>{properties[propName]}</{propName}>");
|
||||
}
|
||||
content.AppendLine(" </PropertyGroup>");
|
||||
content.AppendLine("</Project>");
|
||||
File.WriteAllText(filePath, content.ToString());
|
||||
}
|
||||
|
||||
private class DerivedVersion
|
||||
{
|
||||
internal string OfficialBuildId { get; set; }
|
||||
internal string PreReleaseVersionLabel { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<SourceBuildTasksAssembly>$(RepoRoot)\artifacts\bin\SourceBuild.Tasks\$(Configuration)\net7.0\SourceBuild.Tasks.dll</SourceBuildTasksAssembly>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,415 +0,0 @@
|
|||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
|
||||
<Project Sdk="Microsoft.DotNet.Arcade.Sdk">
|
||||
|
||||
<Import Project="./BuildTasks.props" />
|
||||
<Import Project="../tools/SourceBuild/SourceBuildArcadeTools.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
<Import Project="$(RepoRoot)/src/redist/targets/Versions.targets" />
|
||||
<Import Project="$(RepoRoot)/src/redist/targets/SetBuildDefaults.targets" />
|
||||
<Import Project="$(RepoRoot)/src/redist/targets/FileExtensions.targets" />
|
||||
<Import Project="$(RepoRoot)/src/redist/targets/GetRuntimeInformation.targets" />
|
||||
<Import Project="$(RepoRoot)/src/redist/targets/GenerateLayout.targets" />
|
||||
|
||||
<UsingTask TaskName="Microsoft.DotNet.SourceBuild.Tasks.Tarball_ReadSourceBuildIntermediateNupkgDependencies" AssemblyFile="$(SourceBuildTasksAssembly)" />
|
||||
<UsingTask TaskName="Microsoft.DotNet.SourceBuild.Tasks.Tarball_WriteSourceRepoProperties" AssemblyFile="$(SourceBuildTasksAssembly)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<ArtifactsDir>$(RepoRoot)artifacts/</ArtifactsDir>
|
||||
<TarballDir Condition=" '$(TarballDir)' == '' ">$(ArtifactsDir)tarball/</TarballDir>
|
||||
<TarballRootDir>$([MSBuild]::EnsureTrailingSlash('$(TarballDir)'))</TarballRootDir>
|
||||
<TarballSourceDir>$(TarballRootDir)src/</TarballSourceDir>
|
||||
<TarballGitInfoDir>$(TarballRootDir)git-info/</TarballGitInfoDir>
|
||||
<CloneVerbosity>quiet</CloneVerbosity> <!-- Support quiet and full -->
|
||||
<ConvertInternalRepos Condition="'$(ConvertInternalRepos)' == '' and '$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' == '' and '$(AzDoPat)' == ''">true</ConvertInternalRepos>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CreateSourceTarball"
|
||||
DependsOnTargets="
|
||||
GenerateFullNuGetVersion;
|
||||
GenerateVersionFile;
|
||||
CreateTarballDir;
|
||||
SetupSelfGithubInfo;
|
||||
CloneRepoAndDependentsRecursive;
|
||||
CleanClonedSource;
|
||||
RestoreTextOnlyPackages;
|
||||
CopyTextOnlyPackages;
|
||||
CopyTarballContent;
|
||||
">
|
||||
|
||||
<PropertyGroup>
|
||||
<TarballFileDir>$([System.IO.Path]::GetDirectoryName('$(TarballFilePath)'))</TarballFileDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<Error Text="TarballFilePath not specified." Condition=" '$(TarballFilePath)' == '' " />
|
||||
|
||||
<MakeDir Directories="$(TarballFileDir)" Condition=" '$(TarballFileDir)' != '' " />
|
||||
<Exec Command="tar --numeric-owner -zcf $(TarballFilePath) -C $(TarballDir) ." />
|
||||
|
||||
<Message Text="Tarball '$(TarballFilePath)' was successfully created from '$(TarballDir)'" Importance="High" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateTarballDir" >
|
||||
<RemoveDir Directories='$(TarballRootDir)' Condition=" EXISTS('$(TarballRootDir)') " />
|
||||
<Error Text="Tarball directory not specified. Pass /p:TarballDir=[new dir name] to specify a tarball directory." Condition=" '$(TarballDir)' == '' " />
|
||||
<Error Text="Tarball directory already exists: $(TarballRootDir)" Condition=" '$(TarballRootDir)' != '' AND EXISTS('$(TarballRootDir)') " />
|
||||
|
||||
<MakeDir Directories="$(TarballRootDir)" Condition=" '$(TarballRootDir)' != '' " />
|
||||
<MakeDir Directories="$(TarballSourceDir)" Condition=" '$(TarballSourceDir)' != '' " />
|
||||
<MakeDir Directories="$(TarballGitInfoDir)" Condition=" '$(TarballGitInfoDir)' != '' " />
|
||||
</Target>
|
||||
|
||||
<Target Name="SetupSelfGithubInfo" Condition=" '$(IsRootRepo)' != 'true' ">
|
||||
|
||||
<Exec
|
||||
Command="cd $(RepoRoot);git config --get remote.origin.url"
|
||||
ConsoleToMSBuild="true"
|
||||
WorkingDirectory="$(RepoRoot)">
|
||||
<Output TaskParameter="ConsoleOutput" ItemName="RootRepoUri" />
|
||||
</Exec>
|
||||
|
||||
<Exec
|
||||
Command="cd $(RepoRoot);git rev-parse HEAD"
|
||||
ConsoleToMSBuild="true"
|
||||
WorkingDirectory="$(RepoRoot)">
|
||||
<Output TaskParameter="ConsoleOutput" ItemName="RootRepoCommitSha" />
|
||||
</Exec>
|
||||
|
||||
<!-- Get commit count for installer repo only -->
|
||||
<Exec
|
||||
Command="cd $(RepoRoot);git rev-list --count HEAD"
|
||||
ConsoleToMSBuild="true"
|
||||
WorkingDirectory="$(RepoRoot)">
|
||||
<Output TaskParameter="ConsoleOutput" ItemName="RootRepoCommitCount" />
|
||||
</Exec>
|
||||
|
||||
<!-- This is hardcoding version for the root repo (installer), since there
|
||||
isn't a Version.Details.xml file to read it from.
|
||||
See https://github.com/dotnet/source-build/issues/2250 -->
|
||||
<ItemGroup>
|
||||
<SourceBuildRepos Include="$(GitHubRepositoryName)">
|
||||
<Name>$(GitHubRepositoryName)</Name>
|
||||
<Version>$(VersionPrefix)</Version>
|
||||
<ExactVersion>$(VersionPrefix)</ExactVersion>
|
||||
<Sha>@(RootRepoCommitSha)</Sha>
|
||||
<Uri>@(RootRepoUri)</Uri>
|
||||
<GitCommitCount>@(RootRepoCommitCount)</GitCommitCount>
|
||||
<SourceBuildRepoName>$(GitHubRepositoryName)</SourceBuildRepoName>
|
||||
<IsRootRepo>true</IsRootRepo>
|
||||
</SourceBuildRepos>
|
||||
</ItemGroup>
|
||||
|
||||
<Tarball_WriteSourceRepoProperties
|
||||
SourceBuildMetadataDir="$(TarballGitInfoDir)"
|
||||
Dependencies="@(SourceBuildRepos)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SourceBuildRepoName>%(SourceBuildRepos.SourceBuildRepoName)</SourceBuildRepoName>
|
||||
<RepoUri>%(SourceBuildRepos.Uri)</RepoUri>
|
||||
<RepoSha>%(SourceBuildRepos.Sha)</RepoSha>
|
||||
<IsRootRepo>%(SourceBuildRepos.IsRootRepo)</IsRootRepo>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Remove root repo from SourceBuildRepos so it doesn't try to clone twice -->
|
||||
<ItemGroup>
|
||||
<SourceBuildRepos Remove="@(SourceBuildRepos)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="CloneRepoAndDependentsRecursive"
|
||||
DependsOnTargets="GetSourceBuildIntermediateNupkgNameConvention">
|
||||
|
||||
<Message Text="--> Start Cloning Repo $(SourceBuildRepoName)" Importance="High" />
|
||||
<PropertyGroup>
|
||||
<SourceDir>$(SourceBuildRepoName)/</SourceDir>
|
||||
<TarballRepoSourceDir>$(TarballSourceDir)$(SourceDir)</TarballRepoSourceDir>
|
||||
<TarballRepoSourceEngDir>$(TarballSourceDir)$(SourceDir)eng/</TarballRepoSourceEngDir>
|
||||
<TarballVersionDetailsFile>$(TarballRepoSourceEngDir)Version.Details.xml</TarballVersionDetailsFile>
|
||||
<CloneParam Condition=" '$(CloneVerbosity)' == 'quiet' ">-q</CloneParam>
|
||||
<OriginalRepoUri>$(RepoUri)</OriginalRepoUri>
|
||||
<RepoUri Condition=" '$(AzDoPat)' != '' ">$(RepoUri.Replace('https://dev.azure.com', 'https://dn-bot:$(AzDoPat)@dev.azure.com'))</RepoUri>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Perform a local clone of the root repo, it's faster and doesn't require the RepoSha to be a tree. -->
|
||||
<Exec
|
||||
Command="git clone ./.git $(TarballRepoSourceDir)"
|
||||
WorkingDirectory="$(RepoRoot)"
|
||||
Condition="$(IsRootRepo) == 'true'" />
|
||||
|
||||
<!-- Because the root repo was locally cloned, the remote.origin.url needs to be updated from the local source to the real origin -->
|
||||
<Exec
|
||||
Command="git config --file $(TarballRepoSourceDir)/.git/config --unset remote.origin.url"
|
||||
WorkingDirectory="$(RepoRoot)"
|
||||
Condition="$(IsRootRepo) == 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git config --file $(TarballRepoSourceDir)/.git/config --add remote.origin.url `git config --get remote.origin.url`"
|
||||
WorkingDirectory="$(RepoRoot)"
|
||||
Condition="$(IsRootRepo) == 'true'" />
|
||||
|
||||
<!-- Needed in cases where source-build is pinned to a version of the root repo. -->
|
||||
<Exec
|
||||
Command="git reset --hard $(RepoSha)"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="$(IsRootRepo) == 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git init $(TarballRepoSourceDir)"
|
||||
WorkingDirectory="$(RepoRoot)"
|
||||
Condition="$(IsRootRepo) != 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git remote add origin $(RepoUri)"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="$(IsRootRepo) != 'true'" />
|
||||
|
||||
<!-- Fetching a sha requires git 2.5.0 or newer -->
|
||||
<Exec
|
||||
Command="git fetch --depth 1 origin $(RepoSha)"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="$(IsRootRepo) != 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git reset --hard FETCH_HEAD"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="$(IsRootRepo) != 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git submodule update --init --recursive --depth 1"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)" />
|
||||
|
||||
<Exec
|
||||
Command="git submodule foreach 'rm -rf %24%28git rev-parse --git-dir%29/objects ||:'"
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="$(PreserveTarballGitFolders) != 'true'" />
|
||||
|
||||
<Exec
|
||||
Command="git config --file $(TarballRepoSourceDir)/.git/config --unset remote.origin.url"
|
||||
WorkingDirectory="$(RepoRoot)"/>
|
||||
|
||||
<Exec
|
||||
Command="git config --file $(TarballRepoSourceDir)/.git/config --add remote.origin.url $(OriginalRepoUri)"
|
||||
WorkingDirectory="$(RepoRoot)"/>
|
||||
|
||||
<!-- Remove the git objects folder to free up tarball space -->
|
||||
<Exec
|
||||
Command="rm -rf objects"
|
||||
WorkingDirectory="$(TarballRepoSourceDir).git"
|
||||
Condition="$(PreserveTarballGitFolders) != 'true'" />
|
||||
|
||||
<Message Text="--> Done Cloning Repo $(SourceBuildRepoName)" Importance="High" />
|
||||
|
||||
<!-- Apply source-build patches -->
|
||||
<ItemGroup>
|
||||
<SourceBuildPatchFile Include="$(RepoRoot)src/SourceBuild/tarball/patches/$(SourceBuildRepoName)/*.patch" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message
|
||||
Text="--> Applying $(SourceBuildRepoName) Patches"
|
||||
Importance="High"
|
||||
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||
<Exec
|
||||
Command="git --work-tree=$(TarballRepoSourceDir) apply --ignore-whitespace --whitespace=nowarn "%(SourceBuildPatchFile.FullPath)""
|
||||
WorkingDirectory="$(TarballRepoSourceDir)"
|
||||
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||
<Message
|
||||
Text="--> Done Applying $(SourceBuildRepoName) Patches"
|
||||
Importance="High"
|
||||
Condition="'@(SourceBuildPatchFile)' != ''" />
|
||||
|
||||
<Tarball_ReadSourceBuildIntermediateNupkgDependencies
|
||||
VersionDetailsXmlFile="$([MSBuild]::NormalizePath($(TarballVersionDetailsFile)))"
|
||||
SourceBuildIntermediateNupkgPrefix="$(SourceBuildIntermediateNupkgPrefix)"
|
||||
SourceBuildIntermediateNupkgRid="$(SourceBuildIntermediateNupkgRid)"
|
||||
ConvertInternalRepos="$(ConvertInternalRepos)">
|
||||
<Output TaskParameter="Dependencies" ItemName="SourceBuildRepos" />
|
||||
</Tarball_ReadSourceBuildIntermediateNupkgDependencies>
|
||||
|
||||
<!-- Remove repo if it has already be cloned at any sha. This results in
|
||||
The commit sha for the cloned repo in the tarball being the one that
|
||||
was first encountered. -->
|
||||
<ItemGroup>
|
||||
<SourceBuildRepos Remove="@(SourceBuildRepos)" Condition=" EXISTS('$(TarballGitInfoDir)%(SourceBuildRepoName).props')" />
|
||||
</ItemGroup>
|
||||
|
||||
<Tarball_WriteSourceRepoProperties
|
||||
SourceBuildMetadataDir="$(TarballGitInfoDir)"
|
||||
Dependencies="@(SourceBuildRepos)" />
|
||||
|
||||
<Message Text="--> Dependencies for $(TarballVersionDetailsFile):" Importance="High" Condition=" '@(SourceBuildRepos)' != '' " />
|
||||
<Message Text="--> %(SourceBuildRepos.SourceBuildRepoName) / %(SourceBuildRepos.Sha)" Importance="High" Condition=" '@(SourceBuildRepos)' != '' " />
|
||||
<MSBuild Projects="$(MSBuildProjectFile)"
|
||||
Condition=" '@(SourceBuildRepos)' != '' "
|
||||
Targets="CloneRepoAndDependentsRecursive"
|
||||
Properties="SourceBuildRepoName=%(SourceBuildRepos.SourceBuildRepoName);RepoSha=%(SourceBuildRepos.Sha);RepoUri=%(SourceBuildRepos.Uri)" />
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="CleanClonedSource">
|
||||
<ItemGroup>
|
||||
<TarballSrcBinaryExtension Include="
|
||||
.dll;
|
||||
.Dll;
|
||||
.exe;
|
||||
.pdb;
|
||||
.mdb;
|
||||
.zip;
|
||||
.nupkg" />
|
||||
|
||||
<TarballSrcBinaryToRemove Include="$(TarballSourceDir)**\*%(TarballSrcBinaryExtension.Identity)" />
|
||||
|
||||
<!-- Runtime coreclr and installer parts have empty placeholder PDB files. Keep them. -->
|
||||
<TarballSrcBinaryToRemove Remove="
|
||||
$(TarballSourceDir)runtime*\src\coreclr\.nuget\**\*%(TarballSrcBinaryExtension.Identity);
|
||||
$(TarballSourceDir)runtime*\src\installer\pkg\**\*%(TarballSrcBinaryExtension.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message Importance="Normal" Text="Deleting checked in binary files: @(TarballSrcBinaryToRemove, ' ')" />
|
||||
<Delete Files="@(TarballSrcBinaryToRemove)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RestoreTextOnlyPackages">
|
||||
<PropertyGroup>
|
||||
<TextOnlyPackageRestoreDir>$(ArtifactsDir)text-only-packages/</TextOnlyPackageRestoreDir>
|
||||
<TextOnlyPackageTarballDir>$(TarballRootDir)packages/text-only/</TextOnlyPackageTarballDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<Message Text="Restoring text only packages..." Importance="High" />
|
||||
|
||||
<MSBuild Projects="$(RepoRoot)src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj"
|
||||
Properties="TargetPackagesPath=$(TextOnlyPackageRestoreDir)"
|
||||
Targets="Restore" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyTarballContent">
|
||||
<ItemGroup>
|
||||
<TarballContent Include="$(RepoRoot)src/SourceBuild/tarball/content/**/*" />
|
||||
<EngCommonContent Include="$(RepoRoot)eng/common/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
SourceFiles="@(TarballContent)"
|
||||
DestinationFiles="@(TarballContent->'$(TarballRootDir)%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
|
||||
<Copy
|
||||
SourceFiles="@(EngCommonContent)"
|
||||
DestinationFiles="@(EngCommonContent->'$(TarballRootDir)eng/common/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
|
||||
<PropertyGroup>
|
||||
<ExternalTarballsDir>$(TarballRootDir)packages/archive/</ExternalTarballsDir>
|
||||
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
||||
<SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName>
|
||||
<SourceBuiltArtifactsTarballUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/</SourceBuiltArtifactsTarballUrl>
|
||||
<ArchiveArtifactsTextFileName>archiveArtifacts.txt</ArchiveArtifactsTextFileName>
|
||||
<ArchiveArtifactsTextFile>$(ExternalTarballsDir)$(ArchiveArtifactsTextFileName)</ArchiveArtifactsTextFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(ExternalTarballsDir)" />
|
||||
|
||||
<ItemGroup>
|
||||
<ArtifactUrls Include="$(SourceBuiltArtifactsTarballUrl)$(SourceBuiltArtifactsTarballName).$(PrivateSourceBuiltArtifactsPackageVersion).tar.gz" />
|
||||
<ArtifactUrls
|
||||
Include="$(SourceBuiltArtifactsTarballUrl)$(SourceBuiltPrebuiltsTarballName).$(PrivateSourceBuiltPrebuiltsPackageVersion).tar.gz"
|
||||
Condition="'$(PrivateSourceBuiltPrebuiltsPackageVersion)' != ''" />
|
||||
</ItemGroup>
|
||||
|
||||
<WriteLinesToFile
|
||||
File="$(ArchiveArtifactsTextFile)"
|
||||
Lines="@(ArtifactUrls)"
|
||||
Overwrite="true" />
|
||||
|
||||
<MakeDir Directories="$(TarballRootDir)packages/prebuilt" />
|
||||
<!-- make sure this directory is persisted through source control, NuGet depends on it existing -->
|
||||
<Exec Command="touch $(TarballRootDir)packages/prebuilt/_" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Read directories in which text-only packages have been downloaded and copy content to tarball.
|
||||
-->
|
||||
<Target Name="CopyTextOnlyPackages" DependsOnTargets="RestoreTextOnlyPackages" >
|
||||
|
||||
<ReadLinesFromFile File="$(TextOnlyPackageRestoreDir)/TextOnlyPackageDirectories.txt" Condition="Exists('$(TextOnlyPackageRestoreDir)/TextOnlyPackageDirectories.txt')">
|
||||
<Output TaskParameter="Lines" ItemName="TextOnlyPackageDirectories" />
|
||||
</ReadLinesFromFile>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFile)"
|
||||
Targets="CopySingleTextOnlyDirectory"
|
||||
Properties="TextOnlyDirectory=%(TextOnlyPackageDirectories.Identity);TextOnlyPackageTarballDir=$(TextOnlyPackageTarballDir)" />
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="CopySingleTextOnlyDirectory">
|
||||
|
||||
<PropertyGroup>
|
||||
<DirectoryName>$([System.IO.Path]::GetFileName('$(TextOnlyDirectory)'))</DirectoryName>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TextOnlyPackageContent
|
||||
Include="$(TextOnlyDirectory)/**/*"
|
||||
Exclude="
|
||||
$(TextOnlyDirectory)/**/.nupkg.metadata;
|
||||
$(TextOnlyDirectory)/**/.signature.p7s;
|
||||
$(TextOnlyDirectory)/**/*.nupkg;
|
||||
$(TextOnlyDirectory)/**/*.nupkg.sha512;
|
||||
" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- ttf, woff, woff2, eot are permissible font related content -->
|
||||
<AllowedTextOnlyExtensions Include="
|
||||
.-;
|
||||
.bowerrc;
|
||||
.config;
|
||||
.cs;
|
||||
.cshtml;
|
||||
.csproj;
|
||||
.css;
|
||||
.db;
|
||||
.editorconfig;
|
||||
.env;
|
||||
.env.development;
|
||||
.eot;
|
||||
.fs;
|
||||
.fsproj;
|
||||
.gitignore;
|
||||
.gitkeep;
|
||||
.html;
|
||||
.ico;
|
||||
.js;
|
||||
.json;
|
||||
.map;
|
||||
.md;
|
||||
.nuspec;
|
||||
.otf;
|
||||
.png;
|
||||
.props;
|
||||
.proto;
|
||||
.razor;
|
||||
.sln;
|
||||
.svg;
|
||||
.targets;
|
||||
.ts;
|
||||
.ttf;
|
||||
.tsx;
|
||||
.txt;
|
||||
.vb;
|
||||
.vbproj;
|
||||
.woff;
|
||||
.woff2;
|
||||
browserslist;
|
||||
browserslistrc;
|
||||
LICENSE;" />
|
||||
|
||||
<UnsupportedTextOnlyPackageContent Include="@(TextOnlyPackageContent)" />
|
||||
<UnsupportedTextOnlyPackageContent Remove="$(TextOnlyDirectory)/**/*$([System.String]::Copy('%(AllowedTextOnlyExtensions.Identity)').ToLowerInvariant())" />
|
||||
<UnsupportedTextOnlyPackageContent Remove="$(TextOnlyDirectory)/**/*$([System.String]::Copy('%(AllowedTextOnlyExtensions.Identity)').ToUpperInvariant())" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Unsupported content found in text-only packages: @(UnsupportedTextOnlyPackageContent)" Condition=" '@(UnsupportedTextOnlyPackageContent)' != '' " />
|
||||
|
||||
<Copy
|
||||
SourceFiles="@(TextOnlyPackageContent)"
|
||||
DestinationFiles="@(TextOnlyPackageContent->'$(TextOnlyPackageTarballDir)$(DirectoryName)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,45 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net7.0</TargetFrameworks>
|
||||
<RestorePackagesPath>$(TargetPackagesPath)</RestorePackagesPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
The following text-only packages are ones that are consumed by the installer repo, whose
|
||||
versions are dynamic. These are maintained here so the dynamic version numbers can
|
||||
come from the source (eng/Versions.props). All other more static text-only packages
|
||||
should be added to source-build-reference-packages.
|
||||
-->
|
||||
<ItemGroup>
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-$(MauiFeatureBand)" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-$(MauiFeatureBand)" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinMacOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-$(MauiFeatureBand)" Version="[$(MauiWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinTvOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-8.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-8.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-8.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
Write out directories in which text-only packages are downloaded to be consumed by the "CopyTextOnlyPackages"
|
||||
target.
|
||||
-->
|
||||
<Target Name="WriteTextOnlyDirectoryFile" BeforeTargets="Restore">
|
||||
<ItemGroup>
|
||||
<TextOnlyPackagesDirectories Include="$(TargetPackagesPath)$([System.String]::copy('%(PackageDownload.Identity)').ToLower())" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TextOnlyPackageDirectoriesContent>@(TextOnlyPackagesDirectories)</TextOnlyPackageDirectoriesContent>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile
|
||||
Lines="$(TextOnlyPackageDirectoriesContent)"
|
||||
File="$(TargetPackagesPath)/TextOnlyPackageDirectories.txt"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -44,7 +44,7 @@ git format-patch --zero-commit --no-signature -1
|
|||
```
|
||||
|
||||
Then, move the patch file into this repo, at
|
||||
`src/SourceBuild/tarball/patches/<repo>`.
|
||||
`src/SourceBuild/patches/<repo>`.
|
||||
|
||||
> If you define `PATCH_DIR` to point at the `patches` directory, you can use
|
||||
> `-o` to place the patch file directly in the right directory:
|
||||
|
|
10
src/SourceBuild/content/.gitignore
vendored
Normal file
10
src/SourceBuild/content/.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
/.dotnet
|
||||
/artifacts
|
||||
/eng/tools/**/bin
|
||||
/eng/tools/**/obj
|
||||
/prereqs/packages
|
||||
/src/linker/src/ILLink.Tasks/ILLink.Tasks.nuspec
|
||||
/src/nuget-client/NuGet.config
|
||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin
|
||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/obj
|
||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults
|
6
src/SourceBuild/content/CODE_OF_CONDUCT.md
Normal file
6
src/SourceBuild/content/CODE_OF_CONDUCT.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Code of Conduct
|
||||
|
||||
This project has adopted the code of conduct defined by the Contributor Covenant
|
||||
to clarify expected behavior in our community.
|
||||
|
||||
For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
|
|
@ -33,13 +33,15 @@
|
|||
<PropertyGroup>
|
||||
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
|
||||
<TargetsDir>$(ProjectDir)targets/</TargetsDir>
|
||||
<KeysDir>$(ProjectDir)keys/</KeysDir>
|
||||
<PrereqsDir>$(ProjectDir)prereqs/</PrereqsDir>
|
||||
<KeysDir>$(PrereqsDir)/keys/</KeysDir>
|
||||
<DotNetCliToolDir Condition="'$(DotNetCliToolDir)' == '' and '$(CustomDotNetSdkDir)' != ''">$([MSBuild]::EnsureTrailingSlash('$(CustomDotNetSdkDir)'))</DotNetCliToolDir>
|
||||
<DotNetCliToolDir Condition="'$(DotNetCliToolDir)' == '' and '$(DOTNET_INSTALL_DIR)' != ''">$([MSBuild]::NormalizeDirectory('$(DOTNET_INSTALL_DIR)'))</DotNetCliToolDir>
|
||||
<DotNetCliToolDir Condition="'$(DotNetCliToolDir)' == ''">$(ProjectDir).dotnet/</DotNetCliToolDir>
|
||||
<DotnetToolCommand>$(DotNetCliToolDir)dotnet</DotnetToolCommand>
|
||||
<PrereqsPackagesDir>$(ProjectDir)prereqs/packages/</PrereqsPackagesDir>
|
||||
<PackagesDir Condition="'$(NuGetPackageRoot)' != ''">$(NuGetPackageRoot)</PackagesDir>
|
||||
<PackagesDir Condition="'$(PackagesDir)' == ''">$(ProjectDir)packages/restored/</PackagesDir>
|
||||
<PackagesDir Condition="'$(PackagesDir)' == ''">$(PrereqsPackagesDir)restored/</PackagesDir>
|
||||
<ArcadeBootstrapPackageDir>$(PackagesDir)ArcadeBootstrapPackage/</ArcadeBootstrapPackageDir>
|
||||
<!-- if we're not currently building, Visual Studio will still set this -->
|
||||
<SDK_VERSION Condition="'$(SDK_VERSION)' == ''">$(NETCoreSdkVersion)</SDK_VERSION>
|
||||
|
@ -83,12 +85,12 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ArcadeOverridesDir>$(RepositoryEngineeringDir)arcade-overrides/</ArcadeOverridesDir>
|
||||
<BaseOutputPath>$(ArtifactsDir)</BaseOutputPath>
|
||||
<ClonedSubmoduleGitRootDirectory Condition="'$(ClonedSubmoduleGitRootDirectory)' == ''">$(ProjectDir).git/modules/src/</ClonedSubmoduleGitRootDirectory>
|
||||
<ToolsDir>$(ProjectDir)Tools/</ToolsDir>
|
||||
<ToolPackageExtractDir>$(ToolsDir)source-built/</ToolPackageExtractDir>
|
||||
<ToolsLocalDir>$(ProjectDir)tools-local/</ToolsLocalDir>
|
||||
<TaskDirectory>$(ToolsLocalDir)tasks/</TaskDirectory>
|
||||
<SourceBuiltSdksDir>$(ArtifactsDir)source-built-sdks/</SourceBuiltSdksDir>
|
||||
<ToolsDir>$(RepositoryEngineeringDir)/tools/</ToolsDir>
|
||||
<TaskDirectory>$(ToolsDir)tasks/</TaskDirectory>
|
||||
|
||||
<XPlatTasksBinDir>$(TaskDirectory)Microsoft.DotNet.SourceBuild.Tasks.XPlat/bin/$(Configuration)/</XPlatTasksBinDir>
|
||||
<XPlatSourceBuildTasksAssembly>$(XPlatTasksBinDir)Microsoft.DotNet.SourceBuild.Tasks.XPlat.dll</XPlatSourceBuildTasksAssembly>
|
||||
|
@ -104,9 +106,9 @@
|
|||
<SourceBuiltBlobFeedDir>$(IntermediatePath)blob-feed/</SourceBuiltBlobFeedDir>
|
||||
<SourceBuiltPackagesPath>$(SourceBuiltBlobFeedDir)packages/</SourceBuiltPackagesPath>
|
||||
<SourceBuiltAssetsDir>$(SourceBuiltBlobFeedDir)assets/</SourceBuiltAssetsDir>
|
||||
<PrebuiltPackagesPath>$(ProjectDir)packages/prebuilt/</PrebuiltPackagesPath>
|
||||
<PreviouslyRestoredPackagesPath>$(ProjectDir)packages/previouslyRestored/</PreviouslyRestoredPackagesPath>
|
||||
<PrebuiltSourceBuiltPackagesPath>$(ProjectDir)packages/previously-source-built/</PrebuiltSourceBuiltPackagesPath>
|
||||
<PrebuiltPackagesPath>$(PrereqsPackagesDir)prebuilt/</PrebuiltPackagesPath>
|
||||
<PreviouslyRestoredPackagesPath>$(PrereqsPackagesDir)previouslyRestored/</PreviouslyRestoredPackagesPath>
|
||||
<PrebuiltSourceBuiltPackagesPath>$(PrereqsPackagesDir)previously-source-built/</PrebuiltSourceBuiltPackagesPath>
|
||||
<PrebuiltSourceBuiltPackagesPath Condition="'$(CustomPrebuiltSourceBuiltPackagesPath)' != ''">$(CustomPrebuiltSourceBuiltPackagesPath)/</PrebuiltSourceBuiltPackagesPath>
|
||||
<SourceBuiltTarBallPath>$(OutputPath)</SourceBuiltTarBallPath>
|
||||
<SourceBuiltToolsetDir>$(LocalBlobStorageRoot)Sdk/</SourceBuiltToolsetDir>
|
||||
|
@ -120,15 +122,11 @@
|
|||
<RoslynDebugPathTargetDir>$(BaseOutputPath)roslyn-debug/</RoslynDebugPathTargetDir>
|
||||
<AspNetRazorBuildServerLogDir>$(BaseOutputPath)aspnet-debug</AspNetRazorBuildServerLogDir>
|
||||
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
|
||||
<!-- Dir where git info is generated during online builds. -->
|
||||
<GitInfoOutputDir>$(BaseOutputPath)git-info/</GitInfoOutputDir>
|
||||
<!-- Dir where git info is placed inside the tarball. -->
|
||||
<GitInfoOfflineDir>$(ProjectDir)git-info/</GitInfoOfflineDir>
|
||||
<OutputGitInfoPropsFile>$(GitInfoOutputDir)$(RepositoryName).props</OutputGitInfoPropsFile>
|
||||
<ProductionAllRepoPropsFile>$(GitInfoOutputDir)AllRepoVersions.props</ProductionAllRepoPropsFile>
|
||||
<OfflineGitInfoPropsFile>$(GitInfoOfflineDir)$(RepositoryName).props</OfflineGitInfoPropsFile>
|
||||
<OfflineAllRepoPropsFile>$(GitInfoOfflineDir)AllRepoVersions.props</OfflineAllRepoPropsFile>
|
||||
<GitInfoDir>$(PrereqsDir)git-info/</GitInfoDir>
|
||||
<GitInfoRepoPropsFile>$(GitInfoDir)$(RepositoryName).props</GitInfoRepoPropsFile>
|
||||
<GitInfoAllRepoPropsFile>$(GitInfoDir)AllRepoVersions.props</GitInfoAllRepoPropsFile>
|
||||
<PackageReportDir>$(BaseOutputPath)prebuilt-report/</PackageReportDir>
|
||||
<RepoProjectsDir>$(ProjectDir)/repo-projects/</RepoProjectsDir>
|
||||
<ResultingPrebuiltPackagesDir>$(PackageReportDir)prebuilt-packages/</ResultingPrebuiltPackagesDir>
|
||||
<PackageReportDataFile>$(PackageReportDir)prebuilt-usage.xml</PackageReportDataFile>
|
||||
<PoisonUsageReportFile>$(PackageReportDir)poison-usage.xml</PoisonUsageReportFile>
|
||||
|
@ -141,23 +139,19 @@
|
|||
<PoisonedReportFile>$(PackageReportDir)poisoned.txt</PoisonedReportFile>
|
||||
<ConflictingPackageReportDir>$(BaseOutputPath)conflict-report/</ConflictingPackageReportDir>
|
||||
<PrebuiltBurndownDataFile>$(PackageReportDir)PrebuiltBurndownData.csv</PrebuiltBurndownDataFile>
|
||||
<ExternalTarballsDir>$(ProjectDir)packages/archive/</ExternalTarballsDir>
|
||||
<TextOnlyPackageBaseDir>$(ProjectDir)packages/text-only/</TextOnlyPackageBaseDir>
|
||||
<ReferencePackagesDir>$(ProjectDir)packages/reference/</ReferencePackagesDir>
|
||||
<ExternalTarballsDir>$(PrereqsPackagesDir)archive/</ExternalTarballsDir>
|
||||
<ReferencePackagesDir>$(PrereqsPackagesDir)reference/</ReferencePackagesDir>
|
||||
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
||||
<SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName>
|
||||
<SourceBuiltArtifactsTarballUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/</SourceBuiltArtifactsTarballUrl>
|
||||
<ArchiveArtifactsTextFileName>archiveArtifacts.txt</ArchiveArtifactsTextFileName>
|
||||
<ArchiveArtifactsTextFile>$(ExternalTarballsDir)$(ArchiveArtifactsTextFileName)</ArchiveArtifactsTextFile>
|
||||
<BaselineDataFile>$(ToolsLocalDir)prebuilt-baseline.xml</BaselineDataFile>
|
||||
<BaselineDataFile>$(ToolsDir)prebuilt-baseline.xml</BaselineDataFile>
|
||||
<!--Exclude tests that are failing for test enabled projects like - corefx -->
|
||||
<TestExclusionsDir>$(ProjectDir)test/exclusions/</TestExclusionsDir>
|
||||
<SmokeTestsDir>$(ProjectDir)test/Microsoft.DotNet.SourceBuild.SmokeTests/</SmokeTestsDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Import Build tools common props file where repo-independent properties are found -->
|
||||
<Import Project="$(ToolsDir)Build.Common.props" Condition="Exists('$(ToolsDir)Build.Common.props')" />
|
||||
|
||||
<PropertyGroup>
|
||||
<ArmEnvironmentVariables Condition="'$(ArmEnvironmentVariables)' == ''">ROOTFS_DIR=$(BaseIntermediatePath)crossrootfs/arm</ArmEnvironmentVariables>
|
||||
<ArmEnvironmentVariables Condition="'$(Platform)' == 'armel'">ROOTFS_DIR=$(BaseIntermediatePath)crossrootfs/armel</ArmEnvironmentVariables>
|
||||
|
@ -208,8 +202,7 @@
|
|||
<ExtraPackageVersionPropsPackageInfo Include="DotnetCliInternalVersion" Version="3.0.100-$(CliInternalReleaseTag)-$(CliInternalBuildVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(ProductionAllRepoPropsFile)" Condition="Exists('$(ProductionAllRepoPropsFile)')" />
|
||||
<Import Project="$(OfflineAllRepoPropsFile)" Condition="Exists('$(OfflineAllRepoPropsFile)')" />
|
||||
<Import Project="$(GitInfoAllRepoPropsFile)" />
|
||||
|
||||
<!-- Additional psuedo-versions that some repos depend on -->
|
||||
<ItemGroup>
|
||||
|
@ -223,12 +216,8 @@
|
|||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimePackageVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimeVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppHostPackageVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntime$(TargetRid.Replace('-', '').Replace('.', ''))PackageVersion)" />
|
||||
<!-- core-sdk uses this property for ASP.NET blob directory -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="VSRedistCommonAspNetCoreTargetingPackx6430PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />
|
||||
<!-- OSX needs the OSX version instead of Linux. We don't have a lot of flexibility in how we output these properties so we're relying on the previous one being blank if the Linux version of the package is missing. -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntimeOsxX64PackageVersion)" DoNotOverwrite="true" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntimewinx64PackageVersion)" DoNotOverwrite="true" />
|
||||
|
||||
<!-- Used by installer to determine sdk version -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
23
src/SourceBuild/content/LICENSE.TXT
Normal file
23
src/SourceBuild/content/LICENSE.TXT
Normal file
|
@ -0,0 +1,23 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) .NET Foundation and Contributors
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
41
src/SourceBuild/content/SECURITY.md
Normal file
41
src/SourceBuild/content/SECURITY.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.3 BLOCK -->
|
||||
|
||||
## Security
|
||||
|
||||
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
|
||||
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below.
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||
|
||||
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
|
||||
|
||||
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
|
||||
|
||||
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
|
||||
|
||||
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
|
||||
|
||||
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
|
||||
* Full paths of source file(s) related to the manifestation of the issue
|
||||
* The location of the affected source code (tag/branch/commit or direct URL)
|
||||
* Any special configuration required to reproduce the issue
|
||||
* Step-by-step instructions to reproduce the issue
|
||||
* Proof-of-concept or exploit code (if possible)
|
||||
* Impact of the issue, including how an attacker might exploit the issue
|
||||
|
||||
This information will help us triage your report more quickly.
|
||||
|
||||
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
|
||||
|
||||
## Preferred Languages
|
||||
|
||||
We prefer all communications to be in English.
|
||||
|
||||
## Policy
|
||||
|
||||
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
|
||||
|
||||
<!-- END MICROSOFT SECURITY.MD BLOCK -->
|
|
@ -11,20 +11,19 @@
|
|||
<Target Name="Build" DependsOnTargets="PrepareOutput;InitBuild">
|
||||
<Message Text="Build Environment: $(Platform) $(Configuration) $(TargetOS) $(TargetRid)" />
|
||||
|
||||
<MSBuild Projects="repos\$(RootRepo).proj" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RunRepoTests" DependsOnTargets="PrepareOutput;InitBuild">
|
||||
<Message Text="Build Environment: $(Platform) $(Configuration) $(TargetOS) $(TargetRid)" />
|
||||
|
||||
<MSBuild Projects="repos\$(RootRepoTests).proj" Targets="Build" Properties="PrepForTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
<MSBuild Projects="repos\$(RootRepoTests).proj" Targets="Build" Properties="RunTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepoTests).proj" Targets="Build" Properties="PrepForTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepoTests).proj" Targets="Build" Properties="RunTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareOutput">
|
||||
<MakeDir Directories="$(OutputPath)" />
|
||||
<MakeDir Directories="$(LoggingDir)" />
|
||||
<MakeDir Directories="$(GitInfoOutputDir)" />
|
||||
<MakeDir Directories="$(IntermediatePath)" />
|
||||
<MakeDir Directories="$(SourceBuiltBlobFeedDir)" />
|
||||
<MakeDir Directories="$(SourceBuiltPackagesPath)" />
|
||||
|
@ -36,7 +35,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="InitBuild">
|
||||
<MSBuild Projects="tools-local/init-build.proj" />
|
||||
<MSBuild Projects="$(ToolsDir)init-build.proj" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
|
@ -47,7 +46,7 @@
|
|||
<Target Name="ReportPrebuiltUsage"
|
||||
AfterTargets="Build"
|
||||
Condition="'$(SkipReportPrebuiltUsage)' != 'true'">
|
||||
<MSBuild Projects="repos\$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
|
@ -57,7 +56,7 @@
|
|||
XMLs based on the info put in artifacts/.
|
||||
-->
|
||||
<Target Name="RewritePrebuiltUsageReport">
|
||||
<MSBuild Projects="repos\$(RootRepo).proj" Targets="ReportPrebuiltUsage" />
|
||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="ReportPrebuiltUsage" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ReportPoisonUsage"
|
|
@ -9,6 +9,7 @@ usage() {
|
|||
echo " --online build using online sources"
|
||||
echo " --poison build with poisoning checks"
|
||||
echo " --run-smoke-test don't build; run smoke tests"
|
||||
echo " --use-mono-runtime output uses the mono runtime"
|
||||
echo " --with-packages <dir> use the specified directory of previously-built packages"
|
||||
echo " --with-sdk <dir> use the SDK in the specified directory for bootstrapping"
|
||||
echo "use -- to send the remaining arguments to MSBuild"
|
||||
|
@ -22,6 +23,10 @@ CUSTOM_REF_PACKAGES_DIR=''
|
|||
CUSTOM_PACKAGES_DIR=''
|
||||
alternateTarget=false
|
||||
runningSmokeTests=false
|
||||
packagesDir="$SCRIPT_ROOT/prereqs/packages/"
|
||||
packagesArchiveDir="${packagesDir}archive/"
|
||||
packagesRestoredDir="${packagesDir}restored/"
|
||||
packagesPreviouslySourceBuiltDir="${packagesDir}previously-source-built/"
|
||||
CUSTOM_SDK_DIR=''
|
||||
|
||||
while :; do
|
||||
|
@ -45,6 +50,9 @@ while :; do
|
|||
runningSmokeTests=true
|
||||
MSBUILD_ARGUMENTS+=( "-t:RunSmokeTest" )
|
||||
;;
|
||||
--use-mono-runtime)
|
||||
MSBUILD_ARGUMENTS+=( "/p:SourceBuildUseMonoRuntime=true" )
|
||||
;;
|
||||
--with-packages)
|
||||
CUSTOM_PACKAGES_DIR="$(cd -P "$2" && pwd)"
|
||||
if [ ! -d "$CUSTOM_PACKAGES_DIR" ]; then
|
||||
|
@ -91,14 +99,14 @@ if [ "$CUSTOM_PACKAGES_DIR" != "" ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ -f "$SCRIPT_ROOT/packages/archive/archiveArtifacts.txt" ]; then
|
||||
if [ -f "${packagesArchiveDir}archiveArtifacts.txt" ]; then
|
||||
ARCHIVE_ERROR=0
|
||||
if [ ! -d "$SCRIPT_ROOT/.dotnet" ] && [ "$CUSTOM_SDK_DIR" == "" ]; then
|
||||
echo "ERROR: SDK not found at $SCRIPT_ROOT/.dotnet"
|
||||
ARCHIVE_ERROR=1
|
||||
fi
|
||||
if [ ! -f $SCRIPT_ROOT/packages/archive/Private.SourceBuilt.Artifacts*.tar.gz ] && [ "$CUSTOM_PACKAGES_DIR" == "" ]; then
|
||||
echo "ERROR: Private.SourceBuilt.Artifacts artifact not found at $SCRIPT_ROOT/packages/archive/ - Either run prep.sh or pass --with-packages parameter"
|
||||
if [ ! -f ${packagesArchiveDir}Private.SourceBuilt.Artifacts*.tar.gz ] && [ "$CUSTOM_PACKAGES_DIR" == "" ]; then
|
||||
echo "ERROR: Private.SourceBuilt.Artifacts artifact not found at $packagesArchiveDir - Either run prep.sh or pass --with-packages parameter"
|
||||
ARCHIVE_ERROR=1
|
||||
fi
|
||||
if [ $ARCHIVE_ERROR == 1 ]; then
|
||||
|
@ -127,14 +135,13 @@ else
|
|||
fi
|
||||
|
||||
packageVersionsPath=''
|
||||
restoredPackagesDir="$SCRIPT_ROOT/packages/restored"
|
||||
|
||||
if [[ "$CUSTOM_PACKAGES_DIR" != "" && -f "$CUSTOM_PACKAGES_DIR/PackageVersions.props" ]]; then
|
||||
packageVersionsPath="$CUSTOM_PACKAGES_DIR/PackageVersions.props"
|
||||
elif [ -d "$SCRIPT_ROOT/packages/archive" ]; then
|
||||
sourceBuiltArchive=`find $SCRIPT_ROOT/packages/archive -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz'`
|
||||
if [ -f "$SCRIPT_ROOT/packages/previously-source-built/PackageVersions.props" ]; then
|
||||
packageVersionsPath=$SCRIPT_ROOT/packages/previously-source-built/PackageVersions.props
|
||||
elif [ -d "$packagesArchiveDir" ]; then
|
||||
sourceBuiltArchive=`find $packagesArchiveDir -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz'`
|
||||
if [ -f "${packagesPreviouslySourceBuiltDir}}PackageVersions.props" ]; then
|
||||
packageVersionsPath=${packagesPreviouslySourceBuiltDir}PackageVersions.props
|
||||
elif [ -f "$sourceBuiltArchive" ]; then
|
||||
tar -xzf "$sourceBuiltArchive" -C /tmp PackageVersions.props
|
||||
packageVersionsPath=/tmp/PackageVersions.props
|
||||
|
@ -143,7 +150,7 @@ fi
|
|||
|
||||
if [ ! -f "$packageVersionsPath" ]; then
|
||||
echo "Cannot find PackagesVersions.props. Debugging info:"
|
||||
echo " Attempted archive path: $SCRIPT_ROOT/packages/archive"
|
||||
echo " Attempted archive path: $packagesArchiveDir"
|
||||
echo " Attempted custom PVP path: $CUSTOM_PACKAGES_DIR/PackageVersions.props"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -158,7 +165,7 @@ if [[ $arcadeSdkLine =~ $versionPattern ]]; then
|
|||
# projects overwrite this so that they use the source-built Arcade SDK instad.
|
||||
export SOURCE_BUILT_SDK_ID_ARCADE=Microsoft.DotNet.Arcade.Sdk
|
||||
export SOURCE_BUILT_SDK_VERSION_ARCADE=$ARCADE_BOOTSTRAP_VERSION
|
||||
export SOURCE_BUILT_SDK_DIR_ARCADE=$restoredPackagesDir/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/$ARCADE_BOOTSTRAP_VERSION
|
||||
export SOURCE_BUILT_SDK_DIR_ARCADE=$packagesRestoredDir/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/$ARCADE_BOOTSTRAP_VERSION
|
||||
fi
|
||||
|
||||
sourceLinkLine=`grep -m 1 'MicrosoftSourceLinkCommonVersion' "$packageVersionsPath"`
|
||||
|
@ -170,7 +177,7 @@ fi
|
|||
echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION, bootstrap SourceLink $SOURCE_LINK_BOOTSTRAP_VERSION"
|
||||
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export NUGET_PACKAGES=$restoredPackagesDir/
|
||||
export NUGET_PACKAGES=$packagesRestoredDir/
|
||||
|
||||
LogDateStamp=$(date +"%m%d%H%M%S")
|
||||
|
||||
|
@ -179,7 +186,7 @@ LogDateStamp=$(date +"%m%d%H%M%S")
|
|||
if [ "$alternateTarget" == "true" ]; then
|
||||
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log -clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
|
||||
else
|
||||
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/tools-local/init-build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log -t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
|
||||
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/eng/tools/init-build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log -t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
|
||||
# kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver
|
||||
"$CLI_ROOT/dotnet" build-server shutdown
|
||||
|
29
src/SourceBuild/content/eng/Versions.props
Normal file
29
src/SourceBuild/content/eng/Versions.props
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- Repo Version Information -->
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>0.1.0</VersionPrefix>
|
||||
<PreReleaseVersionLabel>alpha.1</PreReleaseVersionLabel>
|
||||
</PropertyGroup>
|
||||
<!-- Humanizer expects us to tell the version it's building -->
|
||||
<PropertyGroup>
|
||||
<HumanizerCorePackageVersion>2.2.0</HumanizerCorePackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
Building .NET from source depends on one or two tar.gz files depending on the branch's current
|
||||
source-buildability status.
|
||||
|
||||
PrivateSourceBuiltArtifactsPackageVersion is a tar.gz of .NET build outputs from a previous
|
||||
build needed to build the current version of .NET. This is always defined, because .NET needs
|
||||
to be bootstrappable at any point in time.
|
||||
|
||||
PrivateSourceBuiltPrebuiltsPackageVersion is a tar.gz of assets downloaded from the internet
|
||||
that are needed to build the current version of .NET. Early in the lifecycle of a .NET major
|
||||
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
|
||||
necessary, and this property is removed from the file.
|
||||
-->
|
||||
<PrivateSourceBuiltArtifactsPackageVersion>7.0.100.2</PrivateSourceBuiltArtifactsPackageVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,11 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- 7.0.0 produced improperly versioned runtime assets because the OfficialBuildId
|
||||
was not set correctly. This is the actual shipping version that it should have been -->
|
||||
<NonshippingRuntimeVersionFor700>7.0.0-rtm.22518.5</NonshippingRuntimeVersionFor700>
|
||||
|
||||
<MicrosoftNETHostModelVersion>$(NonshippingRuntimeVersionFor700)</MicrosoftNETHostModelVersion>
|
||||
<MicrosoftNETCoreTestHostVersion>$(NonshippingRuntimeVersionFor700)</MicrosoftNETCoreTestHostVersion>
|
||||
<RuntimeLinuxX64MicrosoftNETCoreTestHostVersion>$(NonshippingRuntimeVersionFor700)</RuntimeLinuxX64MicrosoftNETCoreTestHostVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
175
src/SourceBuild/content/eng/bootstrap/README.template.md
Normal file
175
src/SourceBuild/content/eng/bootstrap/README.template.md
Normal file
|
@ -0,0 +1,175 @@
|
|||
# dotnet/dotnet - Home of the .NET VMR
|
||||
|
||||
This repository is a **Virtual Monolithic Repository (VMR)** which includes all the source code and infrastructure needed to build the .NET SDK.
|
||||
|
||||
What this means:
|
||||
- **Monolithic** - a join of multiple repositories that make up the whole product, such as [dotnet/runtime](https://github.com/dotnet/runtime) or [dotnet/sdk](https://github.com/dotnet/sdk).
|
||||
- **Virtual** - a mirror (not replacement) of product repos where sources from those repositories are synchronized into.
|
||||
- **Experimental** - not to be depended on as we reserve the right to delete the current instance and create a new, different one in its stead. See [Limitations](#limitations).
|
||||
|
||||
In the VMR, you can find:
|
||||
- source files of [each product repository](#list-of-components) which are mirrored inside of their respective directories under [`src/`](https://github.com/dotnet/dotnet/tree/main/src),
|
||||
- tooling that enables [building the whole .NET product from source](https://github.com/dotnet/source-build) on Linux platforms,
|
||||
- small customizations, in the form of [patches](https://github.com/dotnet/dotnet/tree/main/src/installer/src/SourceBuild/patches), applied on top of the original code to make the build possible,
|
||||
- *[in future]* E2E tests for the whole .NET product.
|
||||
|
||||
Just like the development repositories, the VMR will have a release branch for every feature band (e.g. `release/8.0.1xx-preview1`).
|
||||
Similarly, VMR's `main` branch will follow `main` branches of product repositories (see [Synchronization Based on Declared Dependencies](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#synchronization-based-on-declared-dependencies)).
|
||||
|
||||
More in-depth documentation about the VMR can be found in [VMR Design And Operation](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#layout).
|
||||
See also [dotnet/source-build](https://github.com/dotnet/source-build) for more information about our whole-product source-build.
|
||||
|
||||
## Goals
|
||||
|
||||
- The main purpose of the [dotnet/dotnet](https://github.com/dotnet/dotnet) repository is to have all source code necessary to build the .NET product available in one repository and identified by a single commit.
|
||||
- The VMR also aims to become the place from which we release and service future versions of .NET to reduce the complexity of the product construction process. This should allow our partners and and 3rd parties to easily build, test and modify .NET using their custom infrastructure as well as make the process available to the community.
|
||||
- Lastly, we hope to solve other problems that the current multi-repo setup brings:
|
||||
- Enable the standard [down-/up-stream open-source model](src/arcade/Documentation/UnifiedBuild/VMR-Upstream-Downstream.md).
|
||||
- Fulfill requirements of .NET distro builders such as RedHat or Canonical to natively include .NET in their distribution repositories.
|
||||
- Simplify scenarios such as client-run testing of bug fixes and improvements. The build should work in an offline environment too for certain platforms.
|
||||
- Enable developers to make and test changes spanning multiple repositories.
|
||||
- More efficient pipeline for security fixes during the CVE pre-disclosure process.
|
||||
|
||||
## Limitations
|
||||
|
||||
**This is a work-in-progress and an experiment.**
|
||||
There are considerable limitations to what is possible at the moment. For an extensive list of current limitations, please see [Temporary Mechanics](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#temporary-mechanics).
|
||||
|
||||
The VMR is expected to become non-experimental by .NET 8 Preview 1 (Februrary, 2023).
|
||||
This means it won't be short-lived anymore and we won't be reserving the right to delete and re-create it anymore.
|
||||
Other limitations might apply until the .NET 9 timeframe.
|
||||
See the [Unified Build roadmap](src/arcade/Documentation/UnifiedBuild/Roadmap.md) for more details.
|
||||
|
||||
### Supported platforms
|
||||
|
||||
The VMR only supports .NET 8.0 and higher. Additionally, source-build currently supports Linux only.
|
||||
It is expected that Mac and Windows will be supported in the .NET 9.0.
|
||||
|
||||
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
|
||||
|
||||
### Online build only
|
||||
|
||||
Building the product offline is not fully working at the moment. The `--online` switch is needed when building the VMR as not all dependencies are currently built from source.
|
||||
|
||||
### Code flow
|
||||
For the time being, the source code only flows one way - from the development repos into the VMR.
|
||||
More details on this process:
|
||||
|
||||
- [Source Synchronization Process](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#source-synchronization-process)
|
||||
- [Synchronization Based on Declared Dependencies](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#synchronization-based-on-declared-dependencies)
|
||||
- [Moving Code and Dependencies between the VMR and Development Repos](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#moving-code-and-dependencies-between-the-vmr-and-development-repos)
|
||||
|
||||
We expect the code flow to start working both ways in the .NET 9 timeframe.
|
||||
See the [Unified Build roadmap](src/arcade/Documentation/UnifiedBuild/Roadmap.md) for more details.
|
||||
|
||||
### Contribution
|
||||
|
||||
At this time, the VMR will not accept any changes and is a read-only mirror of the development repositories only.
|
||||
Please, make the changes in the respective development repositories (e.g., [dotnet/runtime](https://github.com/dotnet/runtime) or [dotnet/sdk](https://github.com/dotnet/sdk)) and they will get synchronized into the VMR automatically.
|
||||
|
||||
## Dev instructions
|
||||
|
||||
Please note that **this repository is an experiment and a work-in-progress so it is possible that the build is broken**.
|
||||
For the latest information about Source-Build support, please watch for announcements posted on our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions).
|
||||
|
||||
### Prerequisites
|
||||
|
||||
The dependencies for building .NET from source can be found [here](https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md).
|
||||
In case you don't want to / cannot prepare your environment per the requirements, consider [using Docker](#building-using-docker).
|
||||
|
||||
### Building
|
||||
|
||||
1. **Clone the VMR**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/dotnet/dotnet dotnet-dotnet
|
||||
```
|
||||
|
||||
2. **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.
|
||||
|
||||
```bash
|
||||
cd dotnet-dotnet
|
||||
./prep.sh
|
||||
```
|
||||
|
||||
3. **Build the .NET SDK**
|
||||
|
||||
```bash
|
||||
./build.sh --clean-while-building --online
|
||||
```
|
||||
|
||||
This builds the entire .NET SDK from source.
|
||||
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-8.0.100-your-RID.tar.gz`.
|
||||
|
||||
Currently, the `--online` flag is required to allow NuGet restore from online sources during the build.
|
||||
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
|
||||
|
||||
Run `./build.sh --help` to see more information about supported build options.
|
||||
|
||||
4. *(Optional)* **Unpack and install the .NET SDK**
|
||||
|
||||
```bash
|
||||
mkdir -p $HOME/dotnet
|
||||
tar zxf artifacts/[your-arch]/Release/dotnet-sdk-8.0.100-[your-RID].tar.gz -C $HOME/dotnet
|
||||
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
|
||||
```
|
||||
|
||||
To test your source-built SDK, run the following:
|
||||
|
||||
```bash
|
||||
dotnet --info
|
||||
```
|
||||
|
||||
### Building using Docker
|
||||
|
||||
You can also build the repository using a Docker image which has the required prerequisites inside.
|
||||
The example below creates a Docker volume named `vmr` and clones and builds the VMR there.
|
||||
|
||||
```sh
|
||||
docker run --rm -it -v vmr:/vmr -w /vmr mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||
git clone https://github.com/dotnet/dotnet .
|
||||
./prep.sh && ./build.sh --online
|
||||
mkdir -p $HOME/.dotnet
|
||||
tar -zxf artifacts/x64/Release/dotnet-sdk-8.0.100-centos.8-x64.tar.gz -C $HOME/.dotnet
|
||||
ln -s $HOME/.dotnet/dotnet /usr/bin/dotnet
|
||||
```
|
||||
|
||||
## List of components
|
||||
|
||||
To enable full offline source-building of the VMR, we have no other choice than to synchronize all the necessary code into the VMR. This also includes any code referenced via git submodules. More details on why and how this is done can be found here:
|
||||
- [Strategy for managing external source dependencies](src/arcade/Documentation/UnifiedBuild/VMR-Strategy-For-External-Source.md)
|
||||
- [Source Synchronization Process](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#source-synchronization-process)
|
||||
|
||||
### Detailed list
|
||||
|
||||
<!-- component list beginning -->
|
||||
|
||||
> Auto-generated list of components will go here
|
||||
|
||||
<!-- component list end -->
|
||||
|
||||
The repository also contains a [JSON manifest](https://github.com/dotnet/dotnet/blob/main/src/source-manifest.json) listing all components in a machine-readable format.
|
||||
|
||||
## Filing Issues
|
||||
|
||||
This repo does not accept issues as of now. Please file issues to the appropriate development repos.
|
||||
For issues with the VMR itself, please use the [source-build repository](https://github.com/dotnet/source-build).
|
||||
|
||||
## Useful Links
|
||||
|
||||
- Design documentation for the VMR - a set of documents describing the high-level design and the why's and how's
|
||||
- [Design and Operation](src/arcade/Documentation/UnifiedBuild/VMR-Design-And-Operation.md)
|
||||
- [Upstream/Downstream Relationships](src/arcade/Documentation/UnifiedBuild/VMR-Upstream-Downstream.md)
|
||||
- [Code and Build Workflow](src/arcade/Documentation/UnifiedBuild/VMR-Code-And-Build-Workflow.md)
|
||||
- [Strategy for Managing External Source Dependencies](src/arcade/Documentation/UnifiedBuild/VMR-Strategy-For-External-Source.md)
|
||||
- [.NET Source-Build](https://github.com/dotnet/source-build)
|
||||
- [What is .NET](https://dotnet.microsoft.com)
|
||||
|
||||
## .NET Foundation
|
||||
|
||||
.NET Runtime is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project.
|
||||
|
||||
## License
|
||||
|
||||
.NET is licensed under the [MIT](LICENSE.TXT) license.
|
|
@ -0,0 +1,13 @@
|
|||
.NET Core uses third-party libraries or other resources that may be
|
||||
distributed under licenses different than the .NET Core software.
|
||||
|
||||
Attributions and licence notices for test cases originally authored by
|
||||
third parties can be found in the respective test directories.
|
||||
|
||||
In the event that we accidentally failed to list a required notice, please
|
||||
bring it to our attention. Post an issue or email us:
|
||||
|
||||
dotnet@microsoft.com
|
||||
|
||||
The attached notices are provided for information only.
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Import Project="$(MSBuildProjectDirectory)/PackageVersions.props" />
|
||||
<Import Project="$(BootstrapOverrideVersionsProps)" Condition="Exists('$(BootstrapOverrideVersionsProps)')" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
0
src/SourceBuild/tarball/content/eng/install-nuget-credprovider.sh → src/SourceBuild/content/eng/install-nuget-credprovider.sh
Normal file → Executable file
0
src/SourceBuild/tarball/content/eng/install-nuget-credprovider.sh → src/SourceBuild/content/eng/install-nuget-credprovider.sh
Normal file → Executable file
52
src/SourceBuild/content/eng/pipelines/ci.yml
Normal file
52
src/SourceBuild/content/eng/pipelines/ci.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
# This is the main build definition (PR+CI) for dotnet/dotnet
|
||||
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- release/*
|
||||
- internal/release/*
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- release/*
|
||||
- internal/release/*
|
||||
|
||||
stages:
|
||||
# For rolling builds we want to build the MSFT SDK first so that we can
|
||||
# compare the contents with the source-built one later.
|
||||
# This only works because we don't run this test in PRs. If we decided
|
||||
# to run this test in PRs, we would need to build the MSFT SDK there too.
|
||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- stage: Build_MSFT_SDK
|
||||
displayName: Build MSFT SDK
|
||||
jobs:
|
||||
- template: /src/installer/eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_LinuxPortable_Release_x64
|
||||
buildConfiguration: Release
|
||||
buildArchitecture: x64
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
isBuiltFromVmr: true
|
||||
- template: /src/installer/eng/build.yml
|
||||
parameters:
|
||||
agentOs: Linux
|
||||
jobName: Build_Arm64_Release
|
||||
buildConfiguration: Release
|
||||
buildArchitecture: arm64
|
||||
runtimeIdentifier: 'linux-arm64'
|
||||
linuxPortable: true
|
||||
runTests: false
|
||||
isBuiltFromVmr: true
|
||||
|
||||
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
|
||||
parameters:
|
||||
isBuiltFromVmr: true
|
||||
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
dependsOn: Build_MSFT_SDK
|
||||
condition: always()
|
|
@ -0,0 +1,18 @@
|
|||
trigger: none
|
||||
|
||||
jobs:
|
||||
- template: ../../src/installer/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||
parameters:
|
||||
architecture: x64
|
||||
excludeSdkContentTests: true
|
||||
matrix:
|
||||
Ubuntu2004-Offline:
|
||||
_BootstrapPrep: false
|
||||
_Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-20220813234344-4c008dd
|
||||
_EnablePoison: false
|
||||
_ExcludeOmniSharpTests: false
|
||||
_RunOnline: false
|
||||
name: Build_Tarball_x64
|
||||
pool:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
|
@ -4,10 +4,10 @@
|
|||
<Target Name="Build">
|
||||
<ItemGroup>
|
||||
<AllRepoProjects
|
||||
Include="$(ProjectDir)repos\*.proj"
|
||||
Include="$(ProjectDir)repo-projects\*.proj"
|
||||
Exclude="
|
||||
$(ProjectDir)repos\known-good.proj;
|
||||
$(ProjectDir)repos\known-good-tests.proj" />
|
||||
$(ProjectDir)repo-projects\known-good.proj;
|
||||
$(ProjectDir)repo-projects\known-good-tests.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<Import Project="$(OfflineAllRepoPropsFile)" Condition="Exists('$(OfflineAllRepoPropsFile)')" />
|
||||
<Import Project="$(GitInfoAllRepoPropsFile)" />
|
||||
|
||||
<UsingTask AssemblyFile="$(LeakDetectionTasksAssembly)" TaskName="MarkAndCatalogPackages" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="NuGetPack" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ZipFileExtractToDirectory" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceRegexInFiles" />
|
||||
|
||||
<ItemGroup>
|
||||
<BuildTasksTarget Include="Restore;Build;InstallResolver" />
|
||||
|
@ -22,10 +23,10 @@
|
|||
<CallTarget Targets="
|
||||
UnpackTarballs;
|
||||
BuildXPlatTasks;
|
||||
PatchPackageVersions;
|
||||
BuildLeakDetection;
|
||||
ExtractToolPackage;
|
||||
GenerateRootFs;
|
||||
BuildTextOnlyPackages;
|
||||
PoisonPrebuiltPackages" />
|
||||
</Target>
|
||||
|
||||
|
@ -118,6 +119,16 @@
|
|||
<WriteLinesToFile File="$(CompletedSemaphorePath)BuildXPlatTasks.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<!-- TODO: Remove this when the .NET 8 artifacts tarball no longer includes MicrosoftAspNetCoreAppRuntimePackageVersion -->
|
||||
<Target Name="PatchPackageVersions">
|
||||
<!-- Rename MicrosoftAspNetCoreAppRuntimePackageVersion so it isn't used
|
||||
Fixes https://github.com/dotnet/installer/issues/14492 -->
|
||||
<ReplaceRegexInFiles
|
||||
InputFiles="$(IntermediatePath)PreviouslySourceBuiltPackageVersions.props"
|
||||
OldTextRegex="\bMicrosoftAspNetCoreAppRuntimePackageVersion\b"
|
||||
NewText="__unused" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildLeakDetection"
|
||||
DependsOnTargets="ExtractToolPackage"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
|
@ -142,32 +153,6 @@
|
|||
<Exec Condition="'$(Platform)' == 'armel'" Command="$(ArmEnvironmentVariables) $(ProjectDir)cross/armel/tizen-build-rootfs.sh" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildTextOnlyPackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)BuildTextOnlyPackages.complete">
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Packing text-only packages." />
|
||||
|
||||
<ItemGroup>
|
||||
<TextOnlyPackageNuspecFile Include="$(TextOnlyPackageBaseDir)/**/*.nuspec" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message Importance="High" Text="Found text only package nuspec file: %(TextOnlyPackageNuspecFile.Identity)" />
|
||||
|
||||
<ReplaceTextInFile
|
||||
InputFile="%(TextOnlyPackageNuspecFile.Identity)"
|
||||
OldText="</package>"
|
||||
NewText="<files><file src=".\**\*"/></files></package>" />
|
||||
|
||||
<NugetPack
|
||||
Nuspecs="%(TextOnlyPackageNuspecFile.Identity)"
|
||||
OutputDirectory="$(SourceBuiltPackagesPath)"
|
||||
ExcludeEmptyDirectories="false"
|
||||
CreateSymbolPackage="false" />
|
||||
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done packing text-only packages." />
|
||||
<WriteLinesToFile File="$(CompletedSemaphorePath)BuildTextOnlyPackages.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ExtractToolPackage"
|
||||
DependsOnTargets="UnpackTarballs;BuildXPlatTasks"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
|
@ -188,7 +173,7 @@
|
|||
<!-- Allow overriding of Arcade targets for SourceBuild to enable quicker
|
||||
dev turnaround for Preview 6 -->
|
||||
<ItemGroup>
|
||||
<OverrideArcadeFiles Include="$(ProjectDir)ArcadeOverrides/**/*" />
|
||||
<OverrideArcadeFiles Include="$(ArcadeOverridesDir)**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
|
@ -1,7 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<OutputPath>$(LeakDetectionTasksBinDir)</OutputPath>
|
||||
</PropertyGroup>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue