Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.azure/pipelines/ci.yml30
-rw-r--r--.azure/pipelines/devBuilds.yml8
-rw-r--r--.azure/pipelines/helix-matrix.yml8
-rw-r--r--.azure/pipelines/jobs/default-build.yml2
-rw-r--r--.azure/pipelines/quarantined-pr.yml18
-rw-r--r--.azure/pipelines/quarantined-tests.yml10
-rw-r--r--AspNetCore.sln2
-rwxr-xr-xdockerbuild.sh2
-rw-r--r--docs/BuildFromSource.md12
-rw-r--r--eng/Build.props4
-rw-r--r--eng/ProjectReferences.props2
-rw-r--r--eng/build.cmd (renamed from build.cmd)0
-rw-r--r--eng/build.ps1 (renamed from build.ps1)10
-rwxr-xr-xeng/build.sh (renamed from build.sh)4
-rw-r--r--eng/scripts/CodeCheck.ps12
-rw-r--r--restore.cmd2
-rwxr-xr-xrestore.sh2
-rw-r--r--src/Analyzers/Analyzers.slnf2
-rw-r--r--src/Analyzers/build.cmd2
-rwxr-xr-xsrc/Analyzers/build.sh2
-rw-r--r--src/Antiforgery/build.cmd2
-rwxr-xr-xsrc/Antiforgery/build.sh2
-rw-r--r--src/Azure/build.cmd2
-rwxr-xr-xsrc/Azure/build.sh7
-rw-r--r--src/Caching/build.cmd3
-rwxr-xr-xsrc/Caching/build.sh7
-rw-r--r--src/Components/Components.slnf2
-rw-r--r--src/Components/build.cmd2
-rwxr-xr-xsrc/Components/build.sh2
-rw-r--r--src/Configuration.KeyPerFile/build.cmd3
-rwxr-xr-xsrc/Configuration.KeyPerFile/build.sh7
-rw-r--r--src/DataProtection/build.cmd2
-rwxr-xr-xsrc/DataProtection/build.sh2
-rw-r--r--src/DefaultBuilder/build.cmd3
-rwxr-xr-xsrc/DefaultBuilder/build.sh7
-rw-r--r--src/Features/JsonPatch/build.cmd3
-rwxr-xr-xsrc/Features/JsonPatch/build.sh7
-rw-r--r--src/FileProviders/Embedded/build.cmd3
-rwxr-xr-xsrc/FileProviders/Embedded/build.sh7
-rw-r--r--src/FileProviders/Manifest.MSBuildTask/build.cmd3
-rwxr-xr-xsrc/FileProviders/Manifest.MSBuildTask/build.sh7
-rw-r--r--src/Framework/Framework.slnf2
-rw-r--r--src/Framework/build.cmd2
-rwxr-xr-xsrc/Framework/build.sh7
-rw-r--r--src/Grpc/build.cmd2
-rwxr-xr-xsrc/Grpc/build.sh2
-rw-r--r--src/HealthChecks/build.cmd2
-rwxr-xr-xsrc/HealthChecks/build.sh7
-rw-r--r--src/Hosting/build.cmd2
-rwxr-xr-xsrc/Hosting/build.sh7
-rw-r--r--src/Html.Abstractions/README.md (renamed from src/Html/Abstractions/README.md)0
-rw-r--r--src/Html.Abstractions/build.cmd3
-rwxr-xr-xsrc/Html.Abstractions/build.sh7
-rw-r--r--src/Html.Abstractions/src/HtmlContentBuilder.cs (renamed from src/Html/Abstractions/src/HtmlContentBuilder.cs)0
-rw-r--r--src/Html.Abstractions/src/HtmlContentBuilderExtensions.cs (renamed from src/Html/Abstractions/src/HtmlContentBuilderExtensions.cs)0
-rw-r--r--src/Html.Abstractions/src/HtmlFormattableString.cs (renamed from src/Html/Abstractions/src/HtmlFormattableString.cs)0
-rw-r--r--src/Html.Abstractions/src/HtmlString.cs (renamed from src/Html/Abstractions/src/HtmlString.cs)0
-rw-r--r--src/Html.Abstractions/src/IHtmlContent.cs (renamed from src/Html/Abstractions/src/IHtmlContent.cs)0
-rw-r--r--src/Html.Abstractions/src/IHtmlContentBuilder.cs (renamed from src/Html/Abstractions/src/IHtmlContentBuilder.cs)0
-rw-r--r--src/Html.Abstractions/src/IHtmlContentContainer.cs (renamed from src/Html/Abstractions/src/IHtmlContentContainer.cs)0
-rw-r--r--src/Html.Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj (renamed from src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj)0
-rw-r--r--src/Html.Abstractions/src/Properties/AssemblyInfo.cs (renamed from src/Html/Abstractions/src/Properties/AssemblyInfo.cs)0
-rw-r--r--src/Html.Abstractions/src/PublicAPI.Shipped.txt (renamed from src/Html/Abstractions/src/PublicAPI.Shipped.txt)0
-rw-r--r--src/Html.Abstractions/src/PublicAPI.Unshipped.txt (renamed from src/Html/Abstractions/src/PublicAPI.Unshipped.txt)0
-rw-r--r--src/Html.Abstractions/test/HtmlContentBuilderExtensionsTest.cs (renamed from src/Html/Abstractions/test/HtmlContentBuilderExtensionsTest.cs)0
-rw-r--r--src/Html.Abstractions/test/HtmlContentBuilderTest.cs (renamed from src/Html/Abstractions/test/HtmlContentBuilderTest.cs)0
-rw-r--r--src/Html.Abstractions/test/HtmlFormattableStringTest.cs (renamed from src/Html/Abstractions/test/HtmlFormattableStringTest.cs)0
-rw-r--r--src/Html.Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj (renamed from src/Html/Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj)0
-rw-r--r--src/Http/build.cmd2
-rwxr-xr-xsrc/Http/build.sh7
-rw-r--r--src/HttpClientFactory/build.cmd3
-rwxr-xr-xsrc/HttpClientFactory/build.sh7
-rw-r--r--src/Identity/Identity.slnf2
-rw-r--r--src/Identity/build.cmd2
-rwxr-xr-xsrc/Identity/build.sh7
-rw-r--r--src/Installers/Windows/build.ps12
-rw-r--r--src/JSInterop/build.cmd3
-rwxr-xr-xsrc/JSInterop/build.sh7
-rw-r--r--src/Localization/build.cmd2
-rwxr-xr-xsrc/Localization/build.sh7
-rw-r--r--src/Logging.AzureAppServices/build.cmd3
-rwxr-xr-xsrc/Logging.AzureAppServices/build.sh7
-rw-r--r--src/Middleware/build.cmd2
-rwxr-xr-xsrc/Middleware/build.sh7
-rw-r--r--src/Mvc/Mvc.slnf2
-rw-r--r--src/Mvc/build.cmd2
-rwxr-xr-xsrc/Mvc/build.sh2
-rw-r--r--src/ObjectPool/build.cmd3
-rwxr-xr-xsrc/ObjectPool/build.sh7
-rw-r--r--src/ProjectTemplates/ProjectTemplates.slnf2
-rw-r--r--src/ProjectTemplates/build.cmd2
-rwxr-xr-xsrc/ProjectTemplates/build.sh2
-rw-r--r--src/Razor/build.cmd2
-rwxr-xr-xsrc/Razor/build.sh2
-rw-r--r--src/Security/build.cmd2
-rwxr-xr-xsrc/Security/build.sh2
-rw-r--r--src/Servers/HttpSys/build.cmd2
-rw-r--r--src/Servers/IIS/build.cmd2
-rw-r--r--src/Servers/Kestrel/build.cmd2
-rwxr-xr-xsrc/Servers/Kestrel/build.sh2
-rw-r--r--src/Servers/Kestrel/stress/build.cmd2
-rw-r--r--src/Servers/build.cmd2
-rwxr-xr-xsrc/Servers/build.sh7
-rw-r--r--src/Shared/build.cmd3
-rwxr-xr-xsrc/Shared/build.sh7
-rwxr-xr-xsrc/SignalR/build.sh2
-rw-r--r--src/SignalR/clients/ts/build.cmd2
-rw-r--r--src/SiteExtensions/build.cmd10
-rwxr-xr-xsrc/SiteExtensions/build.sh7
-rw-r--r--src/Testing/build.cmd3
-rwxr-xr-xsrc/Testing/build.sh7
-rw-r--r--src/Tools/build.cmd2
-rwxr-xr-xsrc/Tools/build.sh2
-rw-r--r--src/WebEncoders/build.cmd3
-rwxr-xr-xsrc/WebEncoders/build.sh7
115 files changed, 320 insertions, 104 deletions
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 1920bc8eb1..f4cb66affe 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -153,7 +153,7 @@ stages:
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
# The sign settings have been configured to
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch x64
-pack
@@ -165,7 +165,7 @@ stages:
# Build the x86 shared framework
# This is going to actually build x86 native assets.
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-noBuildRepoTasks
-arch x86
@@ -193,7 +193,7 @@ stages:
# 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, consider running code-signing inline with the other
# previous steps. Sign check is disabled because it is run in a separate step below, after installers are built.
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-noBuildRepoTasks
-noBuildNative
@@ -206,7 +206,7 @@ stages:
displayName: Code sign packages
# Windows installers bundle both x86 and x64 assets
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-noBuildRepoTasks
-sign
@@ -287,7 +287,7 @@ stages:
- name: Windows_arm64_Installers
path: artifacts/installers/
steps:
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch arm64
-sign
@@ -302,7 +302,7 @@ stages:
displayName: Build ARM64
# Windows installers bundle for arm64
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-noBuildRepoTasks
-arch arm64
@@ -399,7 +399,7 @@ stages:
agentOs: Linux
useHostedUbuntu: false
steps:
- - script: ./build.sh
+ - script: ./eng/build.sh
--ci
--arch x64
--pack
@@ -529,7 +529,7 @@ stages:
jobDisplayName: "Build: Linux Musl x64"
agentOs: Linux
container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-WithNode-0fc54a3-20190918214015
- buildScript: ./build.sh
+ buildScript: ./eng/build.sh
buildArgs:
--arch x64
--os-name linux-musl
@@ -566,7 +566,7 @@ stages:
agentOs: Linux
useHostedUbuntu: false
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm-alpine-20200827125937-14441ae
- buildScript: ./build.sh
+ buildScript: ./eng/build.sh
buildArgs:
--arch arm
--os-name linux-musl
@@ -602,7 +602,7 @@ stages:
agentOs: Linux
useHostedUbuntu: false
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a
- buildScript: ./build.sh
+ buildScript: ./eng/build.sh
buildArgs:
--arch arm64
--os-name linux-musl
@@ -670,7 +670,7 @@ stages:
isTestingJob: true
testRunTitle: Templates-$(AgentOsName)-$(BuildConfiguration)
steps:
- - script: ./build.cmd -ci -nobl -all -pack $(_InternalRuntimeDownloadArgs)
+ - script: ./eng/build.cmd -ci -nobl -all -pack $(_InternalRuntimeDownloadArgs)
displayName: Build Repo
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -pack -NoRestore -noBuildNative -NoBuilddeps "/p:RunTemplateTests=true"
displayName: Pack Templates
@@ -745,13 +745,13 @@ stages:
timeoutInMinutes: 240
steps:
# Build the shared framework
- - script: ./build.cmd -ci -nobl -all -pack -arch x64
+ - script: ./eng/build.cmd -ci -nobl -all -pack -arch x64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
displayName: Build shared fx
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
displayName: Restore interop projects
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildNative -projects eng\helix\helix.proj
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildNative -projects eng\helix\helix.proj
/p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
displayName: Run build.cmd helix target
@@ -854,4 +854,4 @@ stages:
enableSymbolValidation: false
enableSigningValidation: false
enableNugetValidation: false
- publishInstallersAndChecksums: true \ No newline at end of file
+ publishInstallersAndChecksums: true
diff --git a/.azure/pipelines/devBuilds.yml b/.azure/pipelines/devBuilds.yml
index d29b7449ad..67275e0141 100644
--- a/.azure/pipelines/devBuilds.yml
+++ b/.azure/pipelines/devBuilds.yml
@@ -20,7 +20,7 @@ stages:
jobDisplayName: "Build: Components"
agentOs: Windows
steps:
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch x64
/bl:$(Build.SourcesDirectory)/artifacts/log/build.components.x64.binlog
@@ -43,7 +43,7 @@ stages:
jobDisplayName: "Build: Servers"
agentOs: Windows
steps:
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch x64
/bl:$(Build.SourcesDirectory)/artifacts/log/build.servers.x64.binlog
@@ -66,7 +66,7 @@ stages:
jobDisplayName: "Build: Project Templates"
agentOs: Windows
steps:
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch x64
/bl:$(Build.SourcesDirectory)/artifacts/log/build.projectTemplates.x64.binlog
@@ -89,7 +89,7 @@ stages:
jobDisplayName: "Build: Everything"
agentOs: Windows
steps:
- - script: ./build.cmd
+ - script: ./eng/build.cmd
-ci
-arch x64
/bl:$(Build.SourcesDirectory)/artifacts/log/build.all.x64.binlog
diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml
index 558afc7bba..d90aa23125 100644
--- a/.azure/pipelines/helix-matrix.yml
+++ b/.azure/pipelines/helix-matrix.yml
@@ -32,10 +32,10 @@ jobs:
timeoutInMinutes: 480
steps:
# Build the shared framework
- - script: ./build.cmd -ci -nobl -all -pack -arch x64
+ - script: ./eng/build.cmd -ci -nobl -all -pack -arch x64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared fx
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Restore interop projects
- script: .\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -noBuildNative -projects eng\helix\helix.proj
@@ -59,10 +59,10 @@ jobs:
agentOs: Linux
timeoutInMinutes: 480
steps:
- - script: ./build.sh --ci --nobl --pack --arch arm64
+ - script: ./eng/build.sh --ci --nobl --pack --arch arm64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared Fx
- - script: ./build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all
+ - script: ./eng/build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all
--projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Run build.sh helix arm64 target
diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index ea7af919f5..88f0bebc17 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -54,7 +54,7 @@ parameters:
# jobName: '' - use agentOs by default.
# jobDisplayName: '' - use agentOs by default.
artifacts: []
- buildDirectory: ''
+ buildDirectory: $(System.DefaultWorkingDirectory)/eng/
buildScript: ''
installTar: true
installNodeJs: true
diff --git a/.azure/pipelines/quarantined-pr.yml b/.azure/pipelines/quarantined-pr.yml
index 40a2f4f21b..26b44e9716 100644
--- a/.azure/pipelines/quarantined-pr.yml
+++ b/.azure/pipelines/quarantined-pr.yml
@@ -56,13 +56,13 @@ jobs:
timeoutInMinutes: 120
steps:
# Build the shared framework
- - script: ./build.cmd -ci -nobl -all -pack -arch x64
+ - script: ./eng/build.cmd -ci -nobl -all -pack -arch x64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared fx
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Restore interop projects
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
-projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
/p:BuildInteropProjects=true /p:RunTemplateTests=true
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
@@ -84,12 +84,12 @@ jobs:
timeoutInMinutes: 90
isTestingJob: true
steps:
- - powershell: "& ./build.ps1 -CI -nobl -all -pack -NoBuildJava"
+ - powershell: "& ./eng/build.ps1 -CI -nobl -all -pack -NoBuildJava"
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuildNative -NoBuilddeps "/p:RunTemplateTests=true"
displayName: Pack Templates
- - script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
+ - script: ./eng/build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
@@ -119,12 +119,12 @@ jobs:
timeoutInMinutes: 120
isTestingJob: true
steps:
- - bash: ./build.sh --all --pack --ci --nobl --no-build-java
+ - bash: ./eng/build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- - bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
+ - bash: ./eng/build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
@@ -155,12 +155,12 @@ jobs:
isTestingJob: true
useHostedUbuntu: false
steps:
- - bash: ./build.sh --all --pack --ci --nobl --no-build-java
+ - bash: ./eng/build.sh --all --pack --ci --nobl --no-build-java
displayName: Build
# The templates part can be removed when the Blazor Templates run on Helix
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
displayName: Pack Templates (for Template tests)
- - bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
+ - bash: ./eng/build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
displayName: Run Quarantined Tests
continueOnError: true
- task: PublishTestResults@2
diff --git a/.azure/pipelines/quarantined-tests.yml b/.azure/pipelines/quarantined-tests.yml
index b29c0d3184..c705d46da3 100644
--- a/.azure/pipelines/quarantined-tests.yml
+++ b/.azure/pipelines/quarantined-tests.yml
@@ -28,13 +28,13 @@ jobs:
timeoutInMinutes: 480
steps:
# Build the shared framework
- - script: ./build.cmd -ci -nobl -all -pack -arch x64
+ - script: ./eng/build.cmd -ci -nobl -all -pack -arch x64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared fx
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Restore interop projects
- - script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
+ - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
-projects eng\helix\helix.proj /p:IsHelixDaily=true /p:RunQuarantinedTests=true /p:IsRequiredCheck=true
/p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
@@ -56,10 +56,10 @@ jobs:
agentOs: Linux
timeoutInMinutes: 480
steps:
- - script: ./build.sh --ci --nobl --pack --arch arm64
+ - script: ./eng/build.sh --ci --nobl --pack --arch arm64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Build shared Fx
- - script: ./build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all
+ - script: ./eng/build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all
--projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true
/p:RunQuarantinedTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
displayName: Run build.sh helix arm64 target
diff --git a/AspNetCore.sln b/AspNetCore.sln
index 049d69d11e..86cea0758f 100644
--- a/AspNetCore.sln
+++ b/AspNetCore.sln
@@ -111,7 +111,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Html", "Html", "{13E7C397-F
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abstractions", "Abstractions", "{412D4C15-F48F-4DB1-940A-131D1AA87088}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "src\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{A400C938-46E2-4B84-B06E-487B13D22E1B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "src\Html.Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{A400C938-46E2-4B84-B06E-487B13D22E1B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Http", "Http", "{3D330C1E-D773-4BA8-9E91-123544B0D672}"
EndProject
diff --git a/dockerbuild.sh b/dockerbuild.sh
index 13366cc6fa..ef459ac57a 100755
--- a/dockerbuild.sh
+++ b/dockerbuild.sh
@@ -148,5 +148,5 @@ docker run \
-v "$DIR:$DIR" \
${docker_args[@]+"${docker_args[@]}"} \
$tagname \
- ./build.sh \
+ ./eng/build.sh \
${build_args[@]+"${build_args[@]}"}
diff --git a/docs/BuildFromSource.md b/docs/BuildFromSource.md
index ffe8949ef7..755200965e 100644
--- a/docs/BuildFromSource.md
+++ b/docs/BuildFromSource.md
@@ -224,13 +224,19 @@ code .
When developing in VS Code, you'll need to use the `build.cmd` or `build.sh` scripts in order to build the project. You can learn more about the command line options available, check out [the section below](using-dotnet-on-command-line-in-this-repo).
-On Windows:
+The source code in this repo is divided into directories for each project area. Each directory will typically contain a `src` directory that contains the source files for a project and a `test` directory that contains the test projects and assets within a project.
+
+Some projects, like the `Components` project or the `Razor` project, might contain additional subdirectories.
+
+To build a code change associated with a modification, run the build script in the directory closest to the modified file. For example, if you've modified `src/Components/WebAssembly/Server/src/WebAssemblyNetDebugProxyAppBuilderExtensions.cs` then run the build script located in `src/Components`.
+
+On Windows, you can run the command script:
```powershell
.\build.cmd
```
-On macOS/Linux:
+On macOS/Linux, you can run the shell script:
```bash
./build.sh
@@ -266,7 +272,7 @@ source ./activate.sh
### Running tests on command-line
-Tests are not run by default. Use the `-test` option to run tests in addition to building.
+Tests are not run by default. When invoking a `build.cmd`/`build.sh` script, use the `-test` option to run tests in addition to building.
On Windows:
diff --git a/eng/Build.props b/eng/Build.props
index 70f313691d..1ac125ac50 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -151,7 +151,7 @@
$(RepoRoot)src\Hosting\**\*.*proj;
$(RepoRoot)src\Http\**\*.*proj;
$(RepoRoot)src\HttpClientFactory\**\*.*proj;
- $(RepoRoot)src\Html\**\*.*proj;
+ $(RepoRoot)src\Html.Abstractions\*.*proj;
$(RepoRoot)src\Identity\**\*.*proj;
$(RepoRoot)src\Servers\**\*.csproj;
$(RepoRoot)src\Security\**\*.*proj;
@@ -195,7 +195,7 @@
$(RepoRoot)src\Hosting\**\src\*.csproj;
$(RepoRoot)src\Http\**\src\*.csproj;
$(RepoRoot)src\HttpClientFactory\**\src\*.csproj;
- $(RepoRoot)src\Html\**\src\*.csproj;
+ $(RepoRoot)src\Html.Abstractions\src\*.csproj;
$(RepoRoot)src\Identity\**\src\*.csproj;
$(RepoRoot)src\Servers\**\src\*.csproj;
$(RepoRoot)src\Security\**\src\*.csproj;
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index 3afacb9161..541a8559fb 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -35,7 +35,7 @@
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Routing" ProjectPath="$(RepoRoot)src\Http\Routing\src\Microsoft.AspNetCore.Routing.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.WebUtilities" ProjectPath="$(RepoRoot)src\Http\WebUtilities\src\Microsoft.AspNetCore.WebUtilities.csproj" />
<ProjectReferenceProvider Include="Microsoft.Extensions.Http.Polly" ProjectPath="$(RepoRoot)src\HttpClientFactory\Polly\src\Microsoft.Extensions.Http.Polly.csproj" />
- <ProjectReferenceProvider Include="Microsoft.AspNetCore.Html.Abstractions" ProjectPath="$(RepoRoot)src\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj" />
+ <ProjectReferenceProvider Include="Microsoft.AspNetCore.Html.Abstractions" ProjectPath="$(RepoRoot)src\Html.Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" ProjectPath="$(RepoRoot)src\Identity\ApiAuthorization.IdentityServer\src\Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Identity" ProjectPath="$(RepoRoot)src\Identity\Core\src\Microsoft.AspNetCore.Identity.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" ProjectPath="$(RepoRoot)src\Identity\EntityFrameworkCore\src\Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj" />
diff --git a/build.cmd b/eng/build.cmd
index b14907452a..b14907452a 100644
--- a/build.cmd
+++ b/eng/build.cmd
diff --git a/build.ps1 b/eng/build.ps1
index 5c2671d2a6..9e7fd3057e 100644
--- a/build.ps1
+++ b/eng/build.ps1
@@ -194,7 +194,7 @@ if ($Help) {
if ($DumpProcesses -or $CI) {
# Dump running processes
- Start-Job -Name DumpProcesses -FilePath $PSScriptRoot\eng\scripts\dump_process.ps1 -ArgumentList $PSScriptRoot
+ Start-Job -Name DumpProcesses -FilePath $PSScriptRoot\scripts\dump_process.ps1 -ArgumentList $PSScriptRoot
}
# Project selection
@@ -305,7 +305,7 @@ $performDotnetBuild = $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
($Projects -and -not ($BuildInstallers -or $specifiedBuildNative))
$foundJdk = $false
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
-$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
+$localJdkPath = "$PSScriptRoot\..\.tools\jdk\win-x64\"
if (Test-Path "$localJdkPath\bin\javac.exe") {
$foundJdk = $true
Write-Host -f Magenta "Detected JDK in $localJdkPath (via local repo convention)"
@@ -353,7 +353,7 @@ if ($env:PATH -notlike "*${env:JAVA_HOME}*") {
}
if (-not $foundJdk -and $RunBuild -and ($All -or $BuildJava) -and -not $NoBuildJava) {
- Write-Error "Could not find the JDK. Either run $PSScriptRoot\eng\scripts\InstallJdk.ps1 to install for this repo, or install the JDK globally on your machine (see $PSScriptRoot\docs\BuildFromSource.md for details)."
+ Write-Error "Could not find the JDK. Either run $PSScriptRoot\scripts\InstallJdk.ps1 to install for this repo, or install the JDK globally on your machine (see $PSScriptRoot\..\docs\BuildFromSource.md for details)."
}
# Initialize global variables need to be set before the import of Arcade is imported
@@ -381,7 +381,7 @@ Remove-Item variable:global:_ToolsetBuildProj -ea Ignore
Remove-Item variable:global:_MSBuildExe -ea Ignore
# Import Arcade
-. "$PSScriptRoot/eng/common/tools.ps1"
+. "$PSScriptRoot/common/tools.ps1"
# Add default .binlog location if not already on the command line. tools.ps1 does not handle this; it just checks
# $BinaryLog, $CI and $ExcludeCIBinarylog values for an error case. But tools.ps1 provides a nice function to help.
@@ -474,7 +474,7 @@ finally {
}
if ($ci) {
- & "$PSScriptRoot/eng/scripts/KillProcesses.ps1"
+ & "$PSScriptRoot/scripts/KillProcesses.ps1"
}
}
diff --git a/build.sh b/eng/build.sh
index 7d24f71e45..0721865b00 100755
--- a/build.sh
+++ b/eng/build.sh
@@ -321,7 +321,7 @@ if [ "$(uname)" = "Darwin" ]; then
fi
# Import Arcade
-. "$DIR/eng/common/tools.sh"
+. "$DIR/common/tools.sh"
# Add default .binlog location if not already on the command line. tools.sh does not handle this; it just checks
# $binary_log, $ci and $exclude_ci_binary_log values for an error case.
@@ -358,7 +358,7 @@ restore=$_tmp_restore=
if [ "$build_repo_tasks" = true ]; then
MSBuild $_InitializeToolset \
-p:RepoRoot="$repo_root" \
- -p:Projects="$DIR/eng/tools/RepoTasks/RepoTasks.csproj" \
+ -p:Projects="$DIR/tools/RepoTasks/RepoTasks.csproj" \
-p:Configuration=Release \
-p:Restore=$run_restore \
-p:Build=true \
diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1
index a33ef2bdde..078c34bc9a 100644
--- a/eng/scripts/CodeCheck.ps1
+++ b/eng/scripts/CodeCheck.ps1
@@ -195,7 +195,7 @@ try {
# Retrieve the set of changed files compared to main
$commitSha = git rev-parse HEAD
- $changedFilesFromMain = git --no-pager diff origin/main...$commitSha --ignore-space-change --name-only
+ $changedFilesFromMain = git --no-pager diff origin/main...$commitSha --ignore-space-change --name-only --diff-filter=ar
$changedAPIBaselines = [System.Collections.Generic.List[string]]::new()
if ($changedFilesFromMain) {
diff --git a/restore.cmd b/restore.cmd
index 26e2fe2f21..caf66e4029 100644
--- a/restore.cmd
+++ b/restore.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SETLOCAL
-PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0build.ps1' -all -nobuild -restore %*; exit $LASTEXITCODE"
+PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0\eng\build.ps1' -all -nobuild -restore %*; exit $LASTEXITCODE"
diff --git a/restore.sh b/restore.sh
index 9a6d0ac5ce..091d957194 100755
--- a/restore.sh
+++ b/restore.sh
@@ -3,4 +3,4 @@
set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-"$DIR/build.sh" --all --restore --no-build "$@"
+"$DIR/eng/build.sh" --all --restore --no-build "$@"
diff --git a/src/Analyzers/Analyzers.slnf b/src/Analyzers/Analyzers.slnf
index 3d9e04d06e..7c644f7dea 100644
--- a/src/Analyzers/Analyzers.slnf
+++ b/src/Analyzers/Analyzers.slnf
@@ -20,7 +20,7 @@
"src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
"src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
"src\\SignalR\\common\\Http.Connections\\src\\Microsoft.AspNetCore.Http.Connections.csproj",
diff --git a/src/Analyzers/build.cmd b/src/Analyzers/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Analyzers/build.cmd
+++ b/src/Analyzers/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Analyzers/build.sh b/src/Analyzers/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Analyzers/build.sh
+++ b/src/Analyzers/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Antiforgery/build.cmd b/src/Antiforgery/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Antiforgery/build.cmd
+++ b/src/Antiforgery/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Antiforgery/build.sh b/src/Antiforgery/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Antiforgery/build.sh
+++ b/src/Antiforgery/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Azure/build.cmd b/src/Azure/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Azure/build.cmd
+++ b/src/Azure/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Azure/build.sh b/src/Azure/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Azure/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Caching/build.cmd b/src/Caching/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Caching/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Caching/build.sh b/src/Caching/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Caching/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Components/Components.slnf b/src/Components/Components.slnf
index cebce63d3b..487b0cc4e4 100644
--- a/src/Components/Components.slnf
+++ b/src/Components/Components.slnf
@@ -52,7 +52,7 @@
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
"src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
"src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
diff --git a/src/Components/build.cmd b/src/Components/build.cmd
index 35fb6cc3a3..568876895e 100644
--- a/src/Components/build.cmd
+++ b/src/Components/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj "/p:EnforceE2ETestPrerequisites=true" %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj "/p:EnforceE2ETestPrerequisites=true" %*
diff --git a/src/Components/build.sh b/src/Components/build.sh
index fa8fecd0e0..6a15d55209 100755
--- a/src/Components/build.sh
+++ b/src/Components/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "/p:EnforceE2ETestPrerequisites=true" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "/p:EnforceE2ETestPrerequisites=true" "$@"
diff --git a/src/Configuration.KeyPerFile/build.cmd b/src/Configuration.KeyPerFile/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Configuration.KeyPerFile/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Configuration.KeyPerFile/build.sh b/src/Configuration.KeyPerFile/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Configuration.KeyPerFile/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/DataProtection/build.cmd b/src/DataProtection/build.cmd
index 2406296662..5274e00264 100644
--- a/src/DataProtection/build.cmd
+++ b/src/DataProtection/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/DataProtection/build.sh b/src/DataProtection/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/DataProtection/build.sh
+++ b/src/DataProtection/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/DefaultBuilder/build.cmd b/src/DefaultBuilder/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/DefaultBuilder/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/DefaultBuilder/build.sh b/src/DefaultBuilder/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/DefaultBuilder/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Features/JsonPatch/build.cmd b/src/Features/JsonPatch/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Features/JsonPatch/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Features/JsonPatch/build.sh b/src/Features/JsonPatch/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Features/JsonPatch/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/FileProviders/Embedded/build.cmd b/src/FileProviders/Embedded/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/FileProviders/Embedded/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/FileProviders/Embedded/build.sh b/src/FileProviders/Embedded/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/FileProviders/Embedded/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/FileProviders/Manifest.MSBuildTask/build.cmd b/src/FileProviders/Manifest.MSBuildTask/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/FileProviders/Manifest.MSBuildTask/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/FileProviders/Manifest.MSBuildTask/build.sh b/src/FileProviders/Manifest.MSBuildTask/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/FileProviders/Manifest.MSBuildTask/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Framework/Framework.slnf b/src/Framework/Framework.slnf
index 93da2b6795..13d83a2877 100644
--- a/src/Framework/Framework.slnf
+++ b/src/Framework/Framework.slnf
@@ -25,7 +25,7 @@
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
"src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
"src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
diff --git a/src/Framework/build.cmd b/src/Framework/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Framework/build.cmd
+++ b/src/Framework/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Framework/build.sh b/src/Framework/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Framework/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Grpc/build.cmd b/src/Grpc/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Grpc/build.cmd
+++ b/src/Grpc/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Grpc/build.sh b/src/Grpc/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Grpc/build.sh
+++ b/src/Grpc/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/HealthChecks/build.cmd b/src/HealthChecks/build.cmd
index 2406296662..5274e00264 100644
--- a/src/HealthChecks/build.cmd
+++ b/src/HealthChecks/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/HealthChecks/build.sh b/src/HealthChecks/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/HealthChecks/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Hosting/build.cmd b/src/Hosting/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Hosting/build.cmd
+++ b/src/Hosting/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Hosting/build.sh b/src/Hosting/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Hosting/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Html/Abstractions/README.md b/src/Html.Abstractions/README.md
index 88438f78a8..88438f78a8 100644
--- a/src/Html/Abstractions/README.md
+++ b/src/Html.Abstractions/README.md
diff --git a/src/Html.Abstractions/build.cmd b/src/Html.Abstractions/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Html.Abstractions/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Html.Abstractions/build.sh b/src/Html.Abstractions/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Html.Abstractions/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Html/Abstractions/src/HtmlContentBuilder.cs b/src/Html.Abstractions/src/HtmlContentBuilder.cs
index c5836cfb60..c5836cfb60 100644
--- a/src/Html/Abstractions/src/HtmlContentBuilder.cs
+++ b/src/Html.Abstractions/src/HtmlContentBuilder.cs
diff --git a/src/Html/Abstractions/src/HtmlContentBuilderExtensions.cs b/src/Html.Abstractions/src/HtmlContentBuilderExtensions.cs
index a5a83fdbb3..a5a83fdbb3 100644
--- a/src/Html/Abstractions/src/HtmlContentBuilderExtensions.cs
+++ b/src/Html.Abstractions/src/HtmlContentBuilderExtensions.cs
diff --git a/src/Html/Abstractions/src/HtmlFormattableString.cs b/src/Html.Abstractions/src/HtmlFormattableString.cs
index f69c976863..f69c976863 100644
--- a/src/Html/Abstractions/src/HtmlFormattableString.cs
+++ b/src/Html.Abstractions/src/HtmlFormattableString.cs
diff --git a/src/Html/Abstractions/src/HtmlString.cs b/src/Html.Abstractions/src/HtmlString.cs
index 888ba44973..888ba44973 100644
--- a/src/Html/Abstractions/src/HtmlString.cs
+++ b/src/Html.Abstractions/src/HtmlString.cs
diff --git a/src/Html/Abstractions/src/IHtmlContent.cs b/src/Html.Abstractions/src/IHtmlContent.cs
index 2e9a0f19e2..2e9a0f19e2 100644
--- a/src/Html/Abstractions/src/IHtmlContent.cs
+++ b/src/Html.Abstractions/src/IHtmlContent.cs
diff --git a/src/Html/Abstractions/src/IHtmlContentBuilder.cs b/src/Html.Abstractions/src/IHtmlContentBuilder.cs
index 912fe442aa..912fe442aa 100644
--- a/src/Html/Abstractions/src/IHtmlContentBuilder.cs
+++ b/src/Html.Abstractions/src/IHtmlContentBuilder.cs
diff --git a/src/Html/Abstractions/src/IHtmlContentContainer.cs b/src/Html.Abstractions/src/IHtmlContentContainer.cs
index f17811433c..f17811433c 100644
--- a/src/Html/Abstractions/src/IHtmlContentContainer.cs
+++ b/src/Html.Abstractions/src/IHtmlContentContainer.cs
diff --git a/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj b/src/Html.Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj
index 9f3710febf..9f3710febf 100644
--- a/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj
+++ b/src/Html.Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj
diff --git a/src/Html/Abstractions/src/Properties/AssemblyInfo.cs b/src/Html.Abstractions/src/Properties/AssemblyInfo.cs
index cb0b47442c..cb0b47442c 100644
--- a/src/Html/Abstractions/src/Properties/AssemblyInfo.cs
+++ b/src/Html.Abstractions/src/Properties/AssemblyInfo.cs
diff --git a/src/Html/Abstractions/src/PublicAPI.Shipped.txt b/src/Html.Abstractions/src/PublicAPI.Shipped.txt
index 32f03547bf..32f03547bf 100644
--- a/src/Html/Abstractions/src/PublicAPI.Shipped.txt
+++ b/src/Html.Abstractions/src/PublicAPI.Shipped.txt
diff --git a/src/Html/Abstractions/src/PublicAPI.Unshipped.txt b/src/Html.Abstractions/src/PublicAPI.Unshipped.txt
index 7dc5c58110..7dc5c58110 100644
--- a/src/Html/Abstractions/src/PublicAPI.Unshipped.txt
+++ b/src/Html.Abstractions/src/PublicAPI.Unshipped.txt
diff --git a/src/Html/Abstractions/test/HtmlContentBuilderExtensionsTest.cs b/src/Html.Abstractions/test/HtmlContentBuilderExtensionsTest.cs
index 5fc4a8d03b..5fc4a8d03b 100644
--- a/src/Html/Abstractions/test/HtmlContentBuilderExtensionsTest.cs
+++ b/src/Html.Abstractions/test/HtmlContentBuilderExtensionsTest.cs
diff --git a/src/Html/Abstractions/test/HtmlContentBuilderTest.cs b/src/Html.Abstractions/test/HtmlContentBuilderTest.cs
index 22823375dc..22823375dc 100644
--- a/src/Html/Abstractions/test/HtmlContentBuilderTest.cs
+++ b/src/Html.Abstractions/test/HtmlContentBuilderTest.cs
diff --git a/src/Html/Abstractions/test/HtmlFormattableStringTest.cs b/src/Html.Abstractions/test/HtmlFormattableStringTest.cs
index bc4be7c106..bc4be7c106 100644
--- a/src/Html/Abstractions/test/HtmlFormattableStringTest.cs
+++ b/src/Html.Abstractions/test/HtmlFormattableStringTest.cs
diff --git a/src/Html/Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj b/src/Html.Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj
index 0c9196c21f..0c9196c21f 100644
--- a/src/Html/Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj
+++ b/src/Html.Abstractions/test/Microsoft.AspNetCore.Html.Abstractions.Tests.csproj
diff --git a/src/Http/build.cmd b/src/Http/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Http/build.cmd
+++ b/src/Http/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Http/build.sh b/src/Http/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Http/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/HttpClientFactory/build.cmd b/src/HttpClientFactory/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/HttpClientFactory/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/HttpClientFactory/build.sh b/src/HttpClientFactory/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/HttpClientFactory/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Identity/Identity.slnf b/src/Identity/Identity.slnf
index 71dbf6e709..49e05e1637 100644
--- a/src/Identity/Identity.slnf
+++ b/src/Identity/Identity.slnf
@@ -48,7 +48,7 @@
"src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
"src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
"src\\Http\\Http.Extensions\\src\\Microsoft.AspNetCore.Http.Extensions.csproj",
diff --git a/src/Identity/build.cmd b/src/Identity/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Identity/build.cmd
+++ b/src/Identity/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Identity/build.sh b/src/Identity/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Identity/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Installers/Windows/build.ps1 b/src/Installers/Windows/build.ps1
index c61e3fa444..2872acaf36 100644
--- a/src/Installers/Windows/build.ps1
+++ b/src/Installers/Windows/build.ps1
@@ -34,7 +34,7 @@ if (-not $sharedfx64harvestroot) {
Push-Location $PSScriptRoot
try {
- & $repoRoot/build.ps1 `
+ & $repoRoot/eng/build.ps1 `
-ci:$ci `
-sign `
-BuildInstallers `
diff --git a/src/JSInterop/build.cmd b/src/JSInterop/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/JSInterop/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/JSInterop/build.sh b/src/JSInterop/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/JSInterop/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Localization/build.cmd b/src/Localization/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Localization/build.cmd
+++ b/src/Localization/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Localization/build.sh b/src/Localization/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Localization/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Logging.AzureAppServices/build.cmd b/src/Logging.AzureAppServices/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Logging.AzureAppServices/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Logging.AzureAppServices/build.sh b/src/Logging.AzureAppServices/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Logging.AzureAppServices/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Middleware/build.cmd b/src/Middleware/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Middleware/build.cmd
+++ b/src/Middleware/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Middleware/build.sh b/src/Middleware/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Middleware/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Mvc/Mvc.slnf b/src/Mvc/Mvc.slnf
index b9fe258310..49b9606749 100644
--- a/src/Mvc/Mvc.slnf
+++ b/src/Mvc/Mvc.slnf
@@ -31,7 +31,7 @@
"src\\Mvc\\shared\\Mvc.Views.TestCommon\\Microsoft.AspNetCore.Mvc.Views.TestCommon.csproj",
"src\\Mvc\\Mvc.Api.Analyzers\\test\\Mvc.Api.Analyzers.Test.csproj",
"src\\Mvc\\Mvc.Api.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
"src\\Middleware\\CORS\\src\\Microsoft.AspNetCore.Cors.csproj",
"src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
diff --git a/src/Mvc/build.cmd b/src/Mvc/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Mvc/build.cmd
+++ b/src/Mvc/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Mvc/build.sh b/src/Mvc/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Mvc/build.sh
+++ b/src/Mvc/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/ObjectPool/build.cmd b/src/ObjectPool/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/ObjectPool/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/ObjectPool/build.sh b/src/ObjectPool/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/ObjectPool/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/ProjectTemplates/ProjectTemplates.slnf b/src/ProjectTemplates/ProjectTemplates.slnf
index e2b314c8fd..2abc1b8732 100644
--- a/src/ProjectTemplates/ProjectTemplates.slnf
+++ b/src/ProjectTemplates/ProjectTemplates.slnf
@@ -30,7 +30,7 @@
"src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
"src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
"src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
- "src\\Html\\Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+ "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Identity\\Core\\src\\Microsoft.AspNetCore.Identity.csproj",
"src\\Identity\\Extensions.Core\\src\\Microsoft.Extensions.Identity.Core.csproj",
"src\\Identity\\Extensions.Stores\\src\\Microsoft.Extensions.Identity.Stores.csproj",
diff --git a/src/ProjectTemplates/build.cmd b/src/ProjectTemplates/build.cmd
index b5aa28c663..c83d5dd99d 100644
--- a/src/ProjectTemplates/build.cmd
+++ b/src/ProjectTemplates/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0*\*.*proj "/p:EnforceE2ETestPrerequisites=true" %*
+%RepoRoot%\eng\build.cmd -projects %~dp0*\*.*proj "/p:EnforceE2ETestPrerequisites=true" %*
diff --git a/src/ProjectTemplates/build.sh b/src/ProjectTemplates/build.sh
index fa8fecd0e0..6a15d55209 100755
--- a/src/ProjectTemplates/build.sh
+++ b/src/ProjectTemplates/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "/p:EnforceE2ETestPrerequisites=true" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "/p:EnforceE2ETestPrerequisites=true" "$@"
diff --git a/src/Razor/build.cmd b/src/Razor/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Razor/build.cmd
+++ b/src/Razor/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Razor/build.sh b/src/Razor/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Razor/build.sh
+++ b/src/Razor/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Security/build.cmd b/src/Security/build.cmd
index 2406296662..5274e00264 100644
--- a/src/Security/build.cmd
+++ b/src/Security/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Security/build.sh b/src/Security/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Security/build.sh
+++ b/src/Security/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Servers/HttpSys/build.cmd b/src/Servers/HttpSys/build.cmd
index 3d2fb28db5..a71232783b 100644
--- a/src/Servers/HttpSys/build.cmd
+++ b/src/Servers/HttpSys/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Servers/IIS/build.cmd b/src/Servers/IIS/build.cmd
index 978286e729..650bdce320 100644
--- a/src/Servers/IIS/build.cmd
+++ b/src/Servers/IIS/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.csproj /p:SkipIISNewHandlerTests=true /p:SkipIISNewShimTests=true %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.csproj /p:SkipIISNewHandlerTests=true /p:SkipIISNewShimTests=true %*
diff --git a/src/Servers/Kestrel/build.cmd b/src/Servers/Kestrel/build.cmd
index 3d2fb28db5..a71232783b 100644
--- a/src/Servers/Kestrel/build.cmd
+++ b/src/Servers/Kestrel/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Servers/Kestrel/build.sh b/src/Servers/Kestrel/build.sh
index 5736cc53b6..e70fb96b3d 100755
--- a/src/Servers/Kestrel/build.sh
+++ b/src/Servers/Kestrel/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Servers/Kestrel/stress/build.cmd b/src/Servers/Kestrel/stress/build.cmd
index d4c63aa5c5..801e3f4a78 100644
--- a/src/Servers/Kestrel/stress/build.cmd
+++ b/src/Servers/Kestrel/stress/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..\..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Servers/build.cmd b/src/Servers/build.cmd
index 5ea9e8eda6..8a7e93b565 100644
--- a/src/Servers/build.cmd
+++ b/src/Servers/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.csproj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.csproj %*
diff --git a/src/Servers/build.sh b/src/Servers/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Servers/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Shared/build.cmd b/src/Shared/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Shared/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Shared/build.sh b/src/Shared/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Shared/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/SignalR/build.sh b/src/SignalR/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/SignalR/build.sh
+++ b/src/SignalR/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/SignalR/clients/ts/build.cmd b/src/SignalR/clients/ts/build.cmd
index d4c63aa5c5..801e3f4a78 100644
--- a/src/SignalR/clients/ts/build.cmd
+++ b/src/SignalR/clients/ts/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..\..\..
-%RepoRoot%\build.cmd -projects %~dp0**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/SiteExtensions/build.cmd b/src/SiteExtensions/build.cmd
index 687895d0c9..fe886e5449 100644
--- a/src/SiteExtensions/build.cmd
+++ b/src/SiteExtensions/build.cmd
@@ -2,14 +2,14 @@
SET RepoRoot=%~dp0..\..
ECHO Building x64 Microsoft.AspNetCore.Runtime.SiteExtension
-CALL "%RepoRoot%\build.cmd" -arch x64 -projects "%~dp0Runtime\Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj" ^
+CALL "%RepoRoot%\eng\build.cmd" -arch x64 -projects "%~dp0Runtime\Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj" ^
"/bl:%RepoRoot%/artifacts/log/SiteExtensions-Runtime-x64.binlog" %*
IF %ERRORLEVEL% NEQ 0 (
EXIT /b %ErrorLevel%
)
ECHO Building x86 Microsoft.AspNetCore.Runtime.SiteExtension
-CALL "%RepoRoot%\build.cmd" -arch x86 -projects "%~dp0Runtime\Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj" ^
+CALL "%RepoRoot%\eng\build.cmd" -arch x86 -projects "%~dp0Runtime\Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj" ^
"/bl:%RepoRoot%/artifacts/log/SiteExtensions-Runtime-x86.binlog" %*
IF %ERRORLEVEL% NEQ 0 (
EXIT /b %ErrorLevel%
@@ -18,21 +18,21 @@ IF %ERRORLEVEL% NEQ 0 (
ECHO Building x64 LoggingBranch
REM /p:DisableTransitiveFrameworkReferences=true is needed to prevent SDK from picking up transitive references to
REM Microsoft.AspNetCore.App as framework references https://github.com/dotnet/sdk/pull/3221
-CALL "%RepoRoot%\build.cmd" -arch x64 -projects "%~dp0LoggingBranch\LB.csproj" ^
+CALL "%RepoRoot%\eng\build.cmd" -arch x64 -projects "%~dp0LoggingBranch\LB.csproj" ^
/p:DisableTransitiveFrameworkReferences=true "/bl:%RepoRoot%/artifacts/log/SiteExtensions-LoggingBranch-x64.binlog" %*
IF %ERRORLEVEL% NEQ 0 (
EXIT /b %ErrorLevel%
)
ECHO Building x86 LoggingBranch
-CALL "%RepoRoot%\build.cmd" -arch x86 -projects "%~dp0LoggingBranch\LB.csproj" ^
+CALL "%RepoRoot%\eng\build.cmd" -arch x86 -projects "%~dp0LoggingBranch\LB.csproj" ^
/p:DisableTransitiveFrameworkReferences=true "/bl:%RepoRoot%/artifacts/log/SiteExtensions-LoggingBranch-x86.binlog" %*
IF %ERRORLEVEL% NEQ 0 (
EXIT /b %ErrorLevel%
)
ECHO Building Microsoft.AspNetCore.AzureAppServices.SiteExtension
-CALL "%RepoRoot%\build.cmd" -projects ^
+CALL "%RepoRoot%\eng\build.cmd" -projects ^
"%~dp0LoggingAggregate\src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj" ^
"/bl:%RepoRoot%/artifacts/log/SiteExtensions-LoggingAggregate.binlog" %*
IF %ERRORLEVEL% NEQ 0 (
diff --git a/src/SiteExtensions/build.sh b/src/SiteExtensions/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/SiteExtensions/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Testing/build.cmd b/src/Testing/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/Testing/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/Testing/build.sh b/src/Testing/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/Testing/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Tools/build.cmd b/src/Tools/build.cmd
index 033fe6f614..27971ac4d9 100644
--- a/src/Tools/build.cmd
+++ b/src/Tools/build.cmd
@@ -1,3 +1,3 @@
@ECHO OFF
SET RepoRoot=%~dp0..\..
-%RepoRoot%\build.cmd -projects %~dp0\**\*.*proj %*
+%RepoRoot%\eng\build.cmd -projects %~dp0\**\*.*proj %*
diff --git a/src/Tools/build.sh b/src/Tools/build.sh
index 7046bb98a0..4eb40c27e3 100755
--- a/src/Tools/build.sh
+++ b/src/Tools/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
repo_root="$DIR/../.."
-"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/WebEncoders/build.cmd b/src/WebEncoders/build.cmd
new file mode 100644
index 0000000000..5274e00264
--- /dev/null
+++ b/src/WebEncoders/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\eng\build.cmd -projects %~dp0**\*.*proj %*
diff --git a/src/WebEncoders/build.sh b/src/WebEncoders/build.sh
new file mode 100755
index 0000000000..4eb40c27e3
--- /dev/null
+++ b/src/WebEncoders/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/eng/build.sh" --projects "$DIR/**/*.*proj" "$@"