Skip to content

Commit 81bccd1

Browse files
authored
Merge branch 'release/3.0' => 'release/3.1' #16621
- hurray 🎆 🍾 - thanks @wtgodbe /fyi @Pilchie @mmitche
2 parents f89c8d1 + 6ce4719 commit 81bccd1

File tree

327 files changed

+11334
-5793
lines changed

Some content is hidden

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

327 files changed

+11334
-5793
lines changed

.azure/pipelines/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ variables:
6363
- name: _BuildArgs
6464
value: ''
6565
- name: _SignType
66-
valule: test
66+
value: test
6767
- name: _PublishArgs
6868
value: ''
6969
# used for post-build phases, internal builds only
@@ -636,7 +636,6 @@ stages:
636636
parameters:
637637
# See https://github.com/dotnet/arcade/issues/2871
638638
enableSymbolValidation: false
639-
enableSigningValidation: false
640639
publishInstallersAndChecksums: true
641640
# This is to enable SDL runs part of Post-Build Validation Stage
642641
SDLValidationParameters:

Directory.Build.props

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,14 @@
8484
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
8585
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
8686

87-
<!-- Used to only produce targeting pack installers/packages once per major.minor. -->
88-
<IsTargetingPackBuilding Condition="'$(AspNetCorePatchVersion)' != '0' OR '$(DotNetBuildFromSource)' == 'true'">false</IsTargetingPackBuilding>
87+
<!-- Produce targeting pack installers/packages once per major.minor except in extraordinary cases i.e. 3.0.1. -->
88+
<!-- We can remove the 3.0.1 line from any branch other than release/3.0 and from here after 3.0.1 is released. -->
89+
<IsTargetingPackBuilding Condition=" '$(DotNetBuildFromSource)' == 'true' ">false</IsTargetingPackBuilding>
90+
<IsTargetingPackBuilding
91+
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(VersionPrefix)' == '3.0.1' ">true</IsTargetingPackBuilding>
92+
<IsTargetingPackBuilding
93+
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(AspNetCorePatchVersion)' != '0' ">false</IsTargetingPackBuilding>
94+
<IsTargetingPackBuilding Condition=" '$(IsTargetingPackBuilding)' == '' ">true</IsTargetingPackBuilding>
8995

9096
<!--
9197
Archives and installers using this prefix are intended for internal-use only.
@@ -171,7 +177,6 @@
171177

172178
<Import Project="eng\Workarounds.props" />
173179
<Import Project="eng\Dependencies.props" />
174-
<Import Project="eng\PatchConfig.props" />
175180
<Import Project="eng\ProjectReferences.props" />
176181
<Import Project="eng\SharedFramework.Local.props" />
177182
<Import Project="eng\SharedFramework.External.props" />

Directory.Build.targets

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
-->
1010
<IsPackable Condition="'$(IsAspNetCoreApp)' == 'true' AND '$(IsShippingPackage)' != 'true'">false</IsPackable>
1111

12-
<!-- Only build assemblies in Microsoft.AspNetCore.App in source build -->
12+
<!-- Only build Microsoft.AspNetCore.App and ref/ assemblies in source build. -->
1313
<!-- Analyzer package are needed in source build for WebSDK -->
14-
<ExcludeFromSourceBuild Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
14+
<ExcludeFromSourceBuild
15+
Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsReferenceAssemblyProject)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
1516
</PropertyGroup>
1617

1718
<PropertyGroup Label="Resx settings">
@@ -58,18 +59,18 @@
5859

5960
<Import Project="eng\Baseline.Designer.props" />
6061

61-
<PropertyGroup
62-
Condition=" '$(IsPackable)' != 'false' AND '$(AspNetCorePatchVersion)' != '0' AND '$(DisableServicingFeatures)' != 'true' ">
63-
<IsPackageInThisPatch Condition="'$(IsPackageInThisPatch)' == ''">$(PackagesInPatch.Contains(' $(PackageId);'))</IsPackageInThisPatch>
64-
</PropertyGroup>
65-
6662
<PropertyGroup Condition=" '$(IsPackable)' != 'false' AND '$(IsServicingBuild)' == 'true' ">
63+
<IsPackageInThisPatch Condition="'$(IsPackageInThisPatch)' == ''">true</IsPackageInThisPatch>
6764
<!-- Used to distinguish between packages building -->
6865
<IsPackableInNonServicingBuild>true</IsPackableInNonServicingBuild>
69-
<!-- Suppress creation of .nupkg for servicing builds. -->
66+
<!-- Suppress creation of .nupkg for servicing builds of non-shipping projects. -->
7067
<IsPackable Condition=" '$(IsPackageInThisPatch)' != 'true' ">false</IsPackable>
7168
</PropertyGroup>
7269

70+
<PropertyGroup>
71+
<PackageVersionForPackageVersionInfo>$(PackageVersion)</PackageVersionForPackageVersionInfo>
72+
</PropertyGroup>
73+
7374
<PropertyGroup Condition=" '$(IsPackageInThisPatch)' != 'true' AND '$(BaselinePackageVersion)' != '' AND '$(IsServicingBuild)' == 'true' ">
7475
<!-- This keeps assembly and package versions consistent across patches. If a package is not included in a patch, its version should stay at the baseline. -->
7576
<AssemblyVersion Condition="$(BaselinePackageVersion.Contains('-'))">$(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0</AssemblyVersion>
@@ -83,6 +84,9 @@
8384
-->
8485
<Version Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</Version>
8586
<PackageVersion Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</PackageVersion>
87+
88+
<!-- For servicing builds, we want to resolve baseline versions of project packages that aren't building, always -->
89+
<PackageVersionForPackageVersionInfo>$(BaselinePackageVersion)</PackageVersionForPackageVersionInfo>
8690
</PropertyGroup>
8791

8892
<PropertyGroup>
@@ -92,7 +96,8 @@
9296
<!-- This determines whether a project is available as a <Reference> to other projects in this repo. -->
9397
<IsProjectReferenceProvider Condition=" '$(IsProjectReferenceProvider)' == '' AND '$(IsImplementationProject)' == 'true' AND '$(PackAsTool)' != 'true' ">true</IsProjectReferenceProvider>
9498

95-
<HasReferenceAssembly Condition="'$(HasReferenceAssembly)' == '' AND '$(IsProjectReferenceProvider)' == 'true'">true</HasReferenceAssembly>
99+
<HasReferenceAssembly
100+
Condition=" '$(HasReferenceAssembly)' == '' AND '$(IsProjectReferenceProvider)' == 'true' AND '$(IsAspNetCoreApp)' == 'true' ">true</HasReferenceAssembly>
96101
<HasReferenceAssembly Condition="'$(HasReferenceAssembly)' == ''">false</HasReferenceAssembly>
97102

98103
<IsPackable Condition="'$(IsPackable)' == '' AND ('$(IsImplementationProject)' == 'true' OR '$(IsAnalyzersProject)' == 'true') ">true</IsPackable>
@@ -105,9 +110,8 @@
105110
<Compile Include="$(SharedSourceRoot)ReferenceAssemblyInfo.cs" LinkBase="Properties" />
106111
</ItemGroup>
107112

108-
<PropertyGroup Condition="'$(Language)' == 'C#'">
113+
<PropertyGroup Condition="'$(Language)' == 'C#' AND '$(IsReferenceAssemblyProject)' == 'true'">
109114
<!-- Reference assemblies should always use Major.Minor.0.0 for assembly versions even during servicing. Only the package version should be updated. -->
110-
<!-- Pinning the implementation assemblies at Major.Minor.0.0 as we figure out compiling against ref assemblies. -->
111115
<AssemblyVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0.0</AssemblyVersion>
112116
</PropertyGroup>
113117

@@ -161,6 +165,6 @@
161165
<Import Project="eng\targets\FSharp.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />
162166
<Import Project="eng\targets\Wix.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
163167
<Import Project="eng\targets\Npm.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.npmproj'" />
164-
<Import Project="eng\targets\ReferenceAssembly.targets" Condition=" '$(HasReferenceAssembly)' == 'true' " />
168+
<Import Project="eng\targets\ReferenceAssembly.targets" Condition=" $(HasReferenceAssembly) " />
165169

166170
</Project>

NuGet.config

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,10 @@
88
<add key="darc-pub-dotnet-corefx-0f7f38c" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-corefx-0f7f38c4/nuget/v3/index.json" />
99
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
1010
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
11-
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
12-
<add key="aspnet-blazor" value="https://dotnetfeed.blob.core.windows.net/aspnet-blazor/index.json" />
13-
<add key="aspnet-extensions" value="https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json" />
14-
<add key="aspnet-entityframeworkcore" value="https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json" />
15-
<add key="aspnet-aspnetcore-tooling" value="https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json" />
11+
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
12+
<add key="dotnet3.1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json" />
13+
<add key="dotnet3.1-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
1614
<add key="grpc-nuget-dev" value="https://grpc.jfrog.io/grpc/api/nuget/v3/grpc-nuget-dev" />
17-
<add key="roslyn" value="https://dotnet.myget.org/F/roslyn/api/v3/index.json" />
1815
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
19-
<add key="aspnetcore-dev" value="https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json" />
20-
<add key="aspnetcore-tools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
21-
<add key="roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
2216
</packageSources>
2317
</configuration>

docs/PreparingPatchUpdates.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,3 @@ In order to prepare this repo to build a new servicing update, the following cha
1212

1313
* Update the package baselines. This is used to ensure packages keep a consistent set of dependencies between releases.
1414
See [eng/tools/BaselineGenerator/](/eng/tools/BaselineGenerator/README.md) for instructions on how to run this tool.
15-
16-
* Update the list of packages in [eng/PatchConfig.props](/eng/PatchConfig.props) to list which packages should be patching in this release.

docs/ReferenceResolution.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ The requirements that led to this system are:
3131

3232
* [eng/Baseline.xml](/eng/Baseline.xml) - this contains the 'baseline' of the latest servicing release for this branch. It should be modified and used to update the generated file, Baseline.Designer.props.
3333
* [eng/Dependencies.props](/eng/Dependencies.props) - contains a list of all package references that might be used in the repo.
34-
* [eng/PatchConfig.props](/eng/PatchConfig.props) - lists which assemblies or packages are patching in the current build.
3534
* [eng/ProjectReferences.props](/eng/ProjectReferences.props) - lists which assemblies or packages might be available to be referenced as a local project.
3635
* [eng/Versions.props](/eng/Versions.props) - contains a list of versions which may be updated by automation. This is used by MSBuild to restore and build.
3736
* [eng/Version.Details.xml](/eng/Version.Details.xml) - used by automation to update dependencies variables in other files.

eng/Build.props

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,35 @@
158158
@(ProjectToExclude);
159159
$(RepoRoot)**\node_modules\**\*;
160160
$(RepoRoot)**\bin\**\*;
161-
$(RepoRoot)**\obj\**\*;" />
161+
$(RepoRoot)**\obj\**\*;"
162+
Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " />
163+
<DotNetProjects Include="
164+
$(RepoRoot)src\DefaultBuilder\**\src\*.csproj;
165+
$(RepoRoot)src\Features\JsonPatch\**\src\*.csproj;
166+
$(RepoRoot)src\DataProtection\**\src\*.csproj;
167+
$(RepoRoot)src\Antiforgery\**\src\*.csproj;
168+
$(RepoRoot)src\Hosting\**\src\*.csproj;
169+
$(RepoRoot)src\Http\**\src\*.csproj;
170+
$(RepoRoot)src\Html\**\src\*.csproj;
171+
$(RepoRoot)src\Identity\**\src\*.csproj;
172+
$(RepoRoot)src\Servers\**\src\*.csproj;
173+
$(RepoRoot)src\Security\**\src\*.csproj;
174+
$(RepoRoot)src\SiteExtensions\**\src\*.csproj;
175+
$(RepoRoot)src\Tools\**\src\*.csproj;
176+
$(RepoRoot)src\Middleware\**\src\*.csproj;
177+
$(RepoRoot)src\Razor\**\src\*.csproj;
178+
$(RepoRoot)src\Mvc\**\src\*.csproj;
179+
$(RepoRoot)src\Azure\**\src\*.csproj;
180+
$(RepoRoot)src\SignalR\**\src\*.csproj;
181+
$(RepoRoot)src\Components\**\src\*.csproj;
182+
"
183+
Exclude="
184+
@(ProjectToBuild);
185+
@(ProjectToExclude);
186+
$(RepoRoot)**\node_modules\**\*;
187+
$(RepoRoot)**\bin\**\*;
188+
$(RepoRoot)**\obj\**\*;"
189+
Condition=" '$(BuildMainlyReferenceProviders)' == 'true' " />
162190

163191
<ProjectToBuild Condition=" '$(BuildManaged)' == 'true'" Include="@(DotNetProjects)" Exclude="@(ProjectToExclude)" />
164192
<ProjectToExclude Condition=" '$(BuildManaged)' != 'true'" Include="@(DotNetProjects)" />

eng/CodeGen.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<PropertyGroup>
44
<BuildManaged>true</BuildManaged>
55
<RepoRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..'))</RepoRoot>
6+
<BuildMainlyReferenceProviders>true</BuildMainlyReferenceProviders>
67
</PropertyGroup>
78

89
<Import Project="Build.props" />
@@ -15,7 +16,6 @@
1516
BuildInParallel="true"
1617
SkipNonexistentTargets="true"
1718
SkipNonexistentProjects="true" >
18-
1919
<Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceProvider"/>
2020
</MSBuild>
2121

eng/Dependencies.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,14 @@ and are generated based on the last package release.
8282
<LatestPackageReference Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
8383
<LatestPackageReference Include="Microsoft.JSInterop" Version="$(MicrosoftJSInteropPackageVersion)" />
8484
<LatestPackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" />
85+
<LatestPackageReference Include="Microsoft.Win32.SystemEvents" Version="$(MicrosoftWin32SystemEventsPackageVersion)" />
8586
<LatestPackageReference Include="System.Buffers" Version="$(SystemBuffersPackageVersion)" />
8687
<LatestPackageReference Include="System.CodeDom" Version="$(SystemCodeDomPackageVersion)" />
8788
<LatestPackageReference Include="System.CommandLine.Experimental" Version="$(SystemCommandlineExperimentalPackageVersion)" />
8889
<LatestPackageReference Include="System.ComponentModel" Version="$(SystemComponentModelPackageVersion)" />
8990
<LatestPackageReference Include="System.ComponentModel.Annotations" Version="$(SystemComponentModelAnnotationsPackageVersion)" />
9091
<LatestPackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
92+
<LatestPackageReference Include="System.Drawing.Common" Version="$(SystemDrawingCommonPackageVersion)" />
9193
<LatestPackageReference Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" />
9294
<LatestPackageReference Include="System.Net.Http" Version="$(SystemNetHttpPackageVersion)" />
9395
<LatestPackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataPackageVersion)" />
@@ -99,6 +101,7 @@ and are generated based on the last package release.
99101
<LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" />
100102
<LatestPackageReference Include="System.Text.Json" Version="$(SystemTextJsonPackageVersion)" />
101103
<LatestPackageReference Include="System.Threading.Channels" Version="$(SystemThreadingChannelsPackageVersion)" />
104+
<LatestPackageReference Include="System.Windows.Extensions" Version="$(SystemWindowsExtensionsPackageVersion)" />
102105

103106
<!-- Runtime packages required for crossgen -->
104107
<LatestPackageReference Include="microsoft.netcore.app.runtime.win-x64" Version="$(MicrosoftNETCoreAppRuntimeVersion)" />

eng/GenAPI.exclusions.txt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,24 @@
22
T:Microsoft.AspNetCore.Components.RenderTree.RenderTreeFrame
33
# Manually implemented - https://github.com/dotnet/arcade/issues/2066
44
T:Microsoft.AspNetCore.Mvc.ApplicationModels.PageParameterModel
5-
T:Microsoft.AspNetCore.Mvc.ApplicationModels.PagePropertyModel
5+
T:Microsoft.AspNetCore.Mvc.ApplicationModels.PagePropertyModel
6+
# Manually implemented - Need to include internal setter
7+
P:Microsoft.AspNetCore.Mvc.Razor.Infrastructure.TagHelperMemoryCacheProvider.Cache
8+
P:Microsoft.AspNetCore.Mvc.RazorPages.RazorPagesOptions.Conventions
9+
P:Microsoft.AspNetCore.Routing.Matching.CandidateState.Values
10+
P:Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.KestrelServerOptions
11+
# public structs with public fields that GenAPI doesn't handle
12+
T:Microsoft.AspNetCore.Components.EventCallback
13+
T:Microsoft.AspNetCore.Components.EventCallback`1
14+
# Break GenAPI - https://github.com/dotnet/arcade/issues/4488
15+
T:Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.<CreateInitialRenderAsync>d__17
16+
T:Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.<RenderComponentAsync>d__8
17+
T:Microsoft.AspNetCore.Mvc.ApplicationModels.ActionAttributeRouteModel.<>c
18+
T:Microsoft.AspNetCore.Mvc.ApplicationModels.ActionAttributeRouteModel.<GetAttributeRoutes>d__3
19+
T:Microsoft.AspNetCore.Mvc.ControllerBase.<TryUpdateModelAsync>d__181`1
20+
T:Microsoft.AspNetCore.Mvc.ControllerBase.<TryUpdateModelAsync>d__183`1
21+
T:Microsoft.AspNetCore.Mvc.ControllerBase.<TryUpdateModelAsync>d__184`1
22+
T:Microsoft.AspNetCore.Mvc.ControllerBase.<TryUpdateModelAsync>d__187
23+
T:Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegateProvider.<>c__DisplayClass0_0
24+
T:Microsoft.AspNetCore.Mvc.ModelBinding.CompositeValueProvider.<TryCreateAsync>d__4
25+
T:Microsoft.AspNetCore.Mvc.Routing.ConsumesMatcherPolicy.<>c

eng/PatchConfig.props

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)