Skip to content

Commit 7f015aa

Browse files
Merge branch 'master' into merge/release/3.1-to-master
2 parents a0dfffa + 271ebe0 commit 7f015aa

File tree

683 files changed

+13636
-6376
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

683 files changed

+13636
-6376
lines changed

.azure/pipelines/ci.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ stages:
139139
-pack
140140
-noBuildDeps
141141
$(_BuildArgs)
142+
condition: ne(variables['Build.Reason'], 'PullRequest')
142143
displayName: Build SiteExtension
143144

144145
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If https://github.com/dotnet/arcade/issues/1957 is resolved,
@@ -456,7 +457,7 @@ stages:
456457
- name: Windows_Test_Dumps
457458
path: artifacts/dumps/
458459
publishOnError: true
459-
includeForks: false
460+
includeForks: true
460461
- name: Windows_Test_Logs
461462
path: artifacts/log/
462463
publishOnError: true
@@ -484,7 +485,7 @@ stages:
484485
- name: Windows_Test_Templates_Dumps
485486
path: artifacts/dumps/
486487
publishOnError: true
487-
includeForks: false
488+
includeForks: true
488489
- name: Windows_Test_Templates_Logs
489490
path: artifacts/log/
490491
publishOnError: true
@@ -566,6 +567,25 @@ stages:
566567
publishOnError: true
567568
includeForks: true
568569

570+
# Helix x64
571+
- template: jobs/default-build.yml
572+
parameters:
573+
jobName: Helix_x64
574+
jobDisplayName: 'Tests: Helix x64'
575+
agentOs: Windows
576+
timeoutInMinutes: 180
577+
steps:
578+
- script: .\restore.cmd -ci
579+
displayName: Restore
580+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=false -bl
581+
displayName: Run build.cmd helix target
582+
env:
583+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
584+
artifacts:
585+
- name: Helix_logs
586+
path: artifacts/log/
587+
publishOnError: true
588+
569589
# Source build
570590
- job: Source_Build
571591
displayName: 'Test: Linux Source Build'

.azure/pipelines/helix-daily.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Uses Scheduled Triggers, which aren't supported in YAML yet.
2+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=vsts&tabs=yaml#scheduled
3+
4+
# Daily Helix Tests for ASP.NET Core
5+
6+
jobs:
7+
- template: jobs/default-build.yml
8+
parameters:
9+
jobName: Helix_x64_daily
10+
jobDisplayName: 'Tests: Helix x64 Daily'
11+
agentOs: Windows
12+
timeoutInMinutes: 240
13+
steps:
14+
- script: .\restore.cmd -ci
15+
displayName: Restore
16+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true -bl
17+
displayName: Run build.cmd helix target
18+
env:
19+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
20+
artifacts:
21+
- name: Helix_logs
22+
path: artifacts/log/
23+
publishOnError: true
24+
25+
# Helix ARM64
26+
- template: jobs/default-build.yml
27+
parameters:
28+
jobName: Helix_arm64_daily
29+
jobDisplayName: "Tests: Helix ARM64 Daily"
30+
agentOs: Linux
31+
timeoutInMinutes: 180
32+
steps:
33+
- script: ./restore.sh -ci
34+
displayName: Restore
35+
- script: ./build.sh -ci --arch arm64 -test --no-build-nodejs -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true -bl
36+
displayName: Run build.sh helix arm64 target
37+
env:
38+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
39+
installNodeJs: false
40+
artifacts:
41+
- name: Helix_arm64_logs
42+
path: artifacts/log/
43+
publishOnError: true
44+
includeForks: true
45+

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/src/Hosting/ @tratcher @anurse
1515
/src/Http/ @tratcher @jkotalik @anurse
1616
/src/Middleware/ @tratcher @anurse
17-
/src/ProjectTemplates/ @ryanbrandenburg
17+
# /src/ProjectTemplates/ @ryanbrandenburg
1818
/src/Security/ @tratcher @anurse
1919
/src/Servers/ @tratcher @jkotalik @anurse @halter73
2020
/src/Middleware/Rewrite @jkotalik @anurse

.github/labeler.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# "AzureAD" is an area-security area.
2+
area-azure:
3+
- src/Azure/AzureAppServices.HostingStartup/**/*
4+
- src/Azure/AzureAppServicesIntegration/**/*
5+
6+
area-blazor:
7+
- src/Components/**/*
8+
9+
area-commandlinetools:
10+
- src/Tools/**/*
11+
12+
area-dataprotection:
13+
- src/DataProtection/**/*
14+
15+
#area-grpc:
16+
17+
#area-healthchecks:
18+
19+
area-hosting:
20+
- src/Hosting/**/*
21+
- src/SiteExtensions/**/*
22+
- src/DefaultBuilder/**/*
23+
24+
#area-httpclientfactory:
25+
26+
area-identity:
27+
- src/Identity/**/*
28+
29+
area-infrastructure:
30+
- global.json
31+
- .azure/**/*
32+
- .config/**/*
33+
- eng/**/*
34+
35+
area-installers:
36+
- src/Installers/**/*
37+
38+
area-middleware:
39+
- src/Middleware/**/*
40+
41+
area-mvc:
42+
- src/ProjectTemplates/**/*
43+
- src/Razor/**/*
44+
- src/Mvc/**/*
45+
- src/MusicStore/**/*
46+
47+
area-platform:
48+
- src/Framework/**/*
49+
50+
area-security:
51+
- src/Security/**/*
52+
- src/Azure/AzureAD/**/*
53+
54+
# For now, "Http" is under servers. We might adjust that later.
55+
area-servers:
56+
- src/Servers/**/*
57+
- src/Http/**/*
58+
59+
area-signalr:
60+
- src/SignalR/**/*
61+
62+
area-websockets:
63+
- src/Middleware/WebSockets/**/*
64+
65+
api-suggestion:
66+
- src/**/ref/**/*

.github/workflows/labeler.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: "Pull Request Labeler"
2+
on:
3+
- pull_request
4+
5+
jobs:
6+
triage:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/labeler@v2
10+
if: github.repository == 'aspnet/AspNetCore'
11+
with:
12+
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,4 @@ launchSettings.json
4040
msbuild.ProjectImports.zip
4141
StyleCop.Cache
4242
UpgradeLog.htm
43+
.idea

Directory.Build.props

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
<IncludeSymbols>true</IncludeSymbols>
5353

54-
<DefaultNetCoreTargetFramework>netcoreapp3.1</DefaultNetCoreTargetFramework>
54+
<DefaultNetCoreTargetFramework>netcoreapp5.0</DefaultNetCoreTargetFramework>
5555
</PropertyGroup>
5656

5757
<!-- Warnings and errors -->
@@ -61,6 +61,10 @@
6161
<WarningsNotAsErrors>$(WarningsNotAsErrors);CS1591</WarningsNotAsErrors>
6262
<!-- xUnit1004 = warns about skipped tests. Make this a non-fatal build warning. -->
6363
<WarningsNotAsErrors>$(WarningsNotAsErrors);xUnit1004</WarningsNotAsErrors>
64+
<!-- Working around https://github.com/NuGet/Home/issues/8467 -->
65+
<NoWarn>$(NoWarn);NU5131</NoWarn>
66+
<!-- Needed until we resolve https://github.com/aspnet/AspNetCore-Internal/issues/3103 -->
67+
<NoWarn>$(NoWarn);NU5048</NoWarn>
6468
</PropertyGroup>
6569

6670
<!-- Source code settings -->

NuGet.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
<configuration>
33
<packageSources>
44
<clear />
5+
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
6+
<add key="darc-pub-dotnet-corefx-4ac4c03" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-corefx-4ac4c036/nuget/v3/index.json" />
7+
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
58
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
69
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
710
<add key="aspnet-blazor" value="https://dotnetfeed.blob.core.windows.net/aspnet-blazor/index.json" />

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ASP.NET Core
22
============
33

4-
ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. [Learn more about ASP.NET Core](https://docs.microsoft.com/aspnet/core/).
4+
ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps run on [.NET Core](https://dot.net), a free, cross-platform and open-source application runtime. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. [Learn more about ASP.NET Core](https://docs.microsoft.com/aspnet/core/).
55

66
## Get Started
77

THIRD-PARTY-NOTICES.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,31 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
189189
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
190190
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
191191
THE SOFTWARE.
192+
193+
License notice for corefx
194+
195+
------------------------------------------------
196+
197+
The MIT License (MIT)
198+
199+
Copyright (c) .NET Foundation and Contributors
200+
201+
All rights reserved.
202+
203+
Permission is hereby granted, free of charge, to any person obtaining a copy
204+
of this software and associated documentation files (the "Software"), to deal
205+
in the Software without restriction, including without limitation the rights
206+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
207+
copies of the Software, and to permit persons to whom the Software is
208+
furnished to do so, subject to the following conditions:
209+
210+
The above copyright notice and this permission notice shall be included in all
211+
copies or substantial portions of the Software.
212+
213+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
214+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
215+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
216+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
217+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
218+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
219+
SOFTWARE.

docs/BuildFromSource.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Build ASP.NET Core from Source
22
==============================
33

4-
Building ASP.NET Core from source allows you tweak and customize ASP.NET Core, and to contribute your improvements back to the project.
4+
Building ASP.NET Core from source allows you to tweak and customize ASP.NET Core, and to contribute your improvements back to the project.
55

66
See https://github.com/aspnet/AspNetCore/labels/area-infrastructure for known issues and to track ongoing work.
77

8-
## Install pre-requistes
8+
## Install pre-requisites
99

1010
### Windows
1111

@@ -44,7 +44,7 @@ Building ASP.NET Core on macOS or Linux requires:
4444
4545
## Clone the source code
4646
47-
ASP.NET Core uses git submodules to include source from a few other projects.
47+
ASP.NET Core uses git submodules to include the source from a few other projects.
4848
4949
For a new copy of the project, run:
5050
```
@@ -64,19 +64,19 @@ Before opening our .sln files in Visual Studio or VS Code, you need to perform t
6464
```
6565
.\restore.cmd
6666
```
67-
This will download required tools and build the entire repository once. At that point, you should be able to open .sln files to work on the projects you care about.
67+
This will download the required tools and build the entire repository once. At that point, you should be able to open .sln files to work on the projects you care about.
6868
6969
> :bulb: Pro tip: you will also want to run this command after pulling large sets of changes. On the master branch, we regularly update the versions of .NET Core SDK required to build the repo.
7070
> You will need to restart Visual Studio every time we update the .NET Core SDK.
7171
72-
2. Use the `startvs.cmd` script to open Visual Studio .sln files. This script first sets required environment variables.
72+
2. Use the `startvs.cmd` script to open Visual Studio .sln files. This script first sets the required environment variables.
7373
7474
### Solution files
7575
7676
We don't have a single .sln file for all of ASP.NET Core because Visual Studio doesn't currently handle projects of this scale.
7777
Instead, we have many .sln files which include a sub-set of projects. These principles guide how we create and manage .slns:
7878
79-
1. Solution files are not used by CI or command line build scripts. They are for meant for use by developers only.
79+
1. Solution files are not used by CI or command line build scripts. They are meant for use by developers only.
8080
2. Solution files group together projects which are frequently edited at the same time.
8181
3. Can't find a solution that has the projects you care about? Feel free to make a PR to add a new .sln file.
8282
@@ -91,7 +91,7 @@ Opening solution files and building may produce an error code CS0006 with a mess
9191
The cause of this problem is that the solution you are using does not include the project that produces this .dll. This most often occurs after we have added new projects to the repo, but failed to update our .sln files to include the new project. In some cases, it is sometimes the intended behavior of the .sln which has been crafted to only include a subset of projects.
9292
9393
**You can fix this in one of two ways**
94-
1. Build the project on command line. In most cases, running `build.cmd` on command line solve this problem.
94+
1. Build the project on command line. In most cases, running `build.cmd` on command line solves this problem.
9595
2. Update the solution to include the missing project. You can either do this one by one using `dotnet sln`
9696
```
9797
dotnet sln add C:\src\AspNetCore\src\Hosting\Abstractions\src\Microsoft.AspNetCore.Hosting.Abstractions.csproj
@@ -139,7 +139,7 @@ On macOS/Linux:
139139
./build.sh
140140
```
141141

142-
By default, all of the C# projects are built. Some C# projects requires NodeJS to be installed to compile JavaScript assets which are then checked in as source. If NodeJS is detected on the path, the NodeJS projects will be compiled as part of building C# projects. If NodeJS is not detected on the path, the JavaScript assets checked in previously will be used instead. To disable building NodeJS projects, specify /p:BuildNodeJs=false on the command line.
142+
By default, all of the C# projects are built. Some C# projects require NodeJS to be installed to compile JavaScript assets which are then checked in as source. If NodeJS is detected on the path, the NodeJS projects will be compiled as part of building C# projects. If NodeJS is not detected on the path, the JavaScript assets checked in previously will be used instead. To disable building NodeJS projects, specify /p:BuildNodeJs=false on the command line.
143143

144144
### Using `dotnet` on command line in this repo
145145

docs/ReferenceAssemblies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ Set `<HasReferenceAssembly>false</HasReferenceAssembly>` in the implementation (
2222

2323
### Regenerate reference assemblies for all projects
2424

25-
Run `.\eng\scripts\GenerateReferenceAssemblies.ps1` from repository root.
25+
Run `.\eng\scripts\GenerateReferenceAssemblies.ps1` from repository root. Make sure you've run `.\restore.cmd` first.

eng/ProjectReferences.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Core" ProjectPath="$(RepoRoot)src\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj" RefProjectPath="$(RepoRoot)src\Servers\Kestrel\Core\ref\Microsoft.AspNetCore.Server.Kestrel.Core.csproj" />
6161
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel" ProjectPath="$(RepoRoot)src\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj" RefProjectPath="$(RepoRoot)src\Servers\Kestrel\Kestrel\ref\Microsoft.AspNetCore.Server.Kestrel.csproj" />
6262
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" ProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.Libuv\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj" RefProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.Libuv\ref\Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj" />
63+
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Transport.MsQuic" ProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.MsQuic\src\Microsoft.AspNetCore.Server.Kestrel.Transport.MsQuic.csproj" RefProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.MsQuic\ref\Microsoft.AspNetCore.Server.Kestrel.Transport.MsQuic.csproj" />
6364
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" ProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.Sockets\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj" RefProjectPath="$(RepoRoot)src\Servers\Kestrel\Transport.Sockets\ref\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj" />
6465
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Authentication.Certificate" ProjectPath="$(RepoRoot)src\Security\Authentication\Certificate\src\Microsoft.AspNetCore.Authentication.Certificate.csproj" RefProjectPath="$(RepoRoot)src\Security\Authentication\Certificate\ref\Microsoft.AspNetCore.Authentication.Certificate.csproj" />
6566
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Authentication.Cookies" ProjectPath="$(RepoRoot)src\Security\Authentication\Cookies\src\Microsoft.AspNetCore.Authentication.Cookies.csproj" RefProjectPath="$(RepoRoot)src\Security\Authentication\Cookies\ref\Microsoft.AspNetCore.Authentication.Cookies.csproj" />

0 commit comments

Comments
 (0)