Build primarily with `dotnet msbuild` (#22017)
* Make `dotnet msbuild` the default on Windows too
- add step using desktop `msbuild` when native builds may be involved
- `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step
- but `-ForceCoreMsbuild` unconditionally skips this step
nits:
- add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command)
- add blank lines between build steps
* Enable building managed projects depending on native assets
- splitting native builds out confuses these projects
- use `$(BuildNative)` less, only to control actual building (not bundling)
- build both native platforms in one `msbuild` invocation
* Adjust generation scripts to explicitly choose the MSBuild engine
- ensure native assets are included in GenerateReferenceAssemblies.ps1 build
- clean up the global state that tools.ps1 corrupts
* Revert move to VS2019.Pre queues
This reverts part of commit b67d161e03
- was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)"
* Revert "!temporary! Require `msbuild` from VS2019 16.6"
- this reverts commit 58cf2304a6
* Reduce build duplication in pipelines
- build native assets and repo tasks once per CI job
- only cleanup framework references after packing managed projects
nits:
- wrap a few long lines
- remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd
* Fix Helix jobs
- restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all`
* !fixup! Reduce duplications further
- missed a couple of places `-noBuildRepoTasks` helps
* Cleanup: Remove a few dangling binary logs
* !fixup! Correct typos in generation scripts
* !fixup! Another typo in the generation scripts
This commit is contained in:
parent
b9800cf557
commit
14d6b6e286
|
|
@ -47,7 +47,8 @@ variables:
|
||||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
- group: DotNet-MSRC-Storage
|
- group: DotNet-MSRC-Storage
|
||||||
- name: _InternalRuntimeDownloadArgs
|
- name: _InternalRuntimeDownloadArgs
|
||||||
value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
|
value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey
|
||||||
|
$(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
|
||||||
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have
|
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have
|
||||||
# to be passed directly. This is awkward, since we pass the same info above, but we have
|
# to be passed directly. This is awkward, since we pass the same info above, but we have
|
||||||
# to have it in two different forms
|
# to have it in two different forms
|
||||||
|
|
@ -140,19 +141,21 @@ stages:
|
||||||
- script: ./build.cmd
|
- script: ./build.cmd
|
||||||
-ci
|
-ci
|
||||||
-nobl
|
-nobl
|
||||||
|
-noBuildRepoTasks
|
||||||
-arch x86
|
-arch x86
|
||||||
-pack
|
-pack
|
||||||
-all
|
-all
|
||||||
-noBuildJava
|
-noBuildJava
|
||||||
|
-noBuildNative
|
||||||
/p:OnlyPackPlatformSpecificPackages=true
|
/p:OnlyPackPlatformSpecificPackages=true
|
||||||
$(_BuildArgs)
|
$(_BuildArgs)
|
||||||
$(_InternalRuntimeDownloadArgs)
|
$(_InternalRuntimeDownloadArgs)
|
||||||
displayName: Build x86
|
displayName: Build x86
|
||||||
|
|
||||||
# This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53
|
|
||||||
- script: .\src\SiteExtensions\build.cmd
|
- script: .\src\SiteExtensions\build.cmd
|
||||||
-ci
|
-ci
|
||||||
-nobl
|
-nobl
|
||||||
|
-noBuildRepoTasks
|
||||||
-pack
|
-pack
|
||||||
-noBuildDeps
|
-noBuildDeps
|
||||||
$(_BuildArgs)
|
$(_BuildArgs)
|
||||||
|
|
@ -160,12 +163,13 @@ stages:
|
||||||
condition: ne(variables['Build.Reason'], 'PullRequest')
|
condition: ne(variables['Build.Reason'], 'PullRequest')
|
||||||
displayName: Build SiteExtension
|
displayName: Build SiteExtension
|
||||||
|
|
||||||
# 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,
|
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If
|
||||||
# consider running code-signing inline with the other previous steps.
|
# https://github.com/dotnet/arcade/issues/1957 is resolved, consider running code-signing inline with the other
|
||||||
# Sign check is disabled because it is run in a separate step below, after installers are built.
|
# previous steps. Sign check is disabled because it is run in a separate step below, after installers are built.
|
||||||
- script: ./build.cmd
|
- script: ./build.cmd
|
||||||
-ci
|
-ci
|
||||||
-nobl
|
-nobl
|
||||||
|
-noBuildRepoTasks
|
||||||
-noBuild
|
-noBuild
|
||||||
-noRestore
|
-noRestore
|
||||||
-sign
|
-sign
|
||||||
|
|
@ -177,6 +181,7 @@ stages:
|
||||||
- script: ./build.cmd
|
- script: ./build.cmd
|
||||||
-ci
|
-ci
|
||||||
-nobl
|
-nobl
|
||||||
|
-noBuildRepoTasks
|
||||||
-sign
|
-sign
|
||||||
-buildInstallers
|
-buildInstallers
|
||||||
/p:DotNetSignType=$(_SignType)
|
/p:DotNetSignType=$(_SignType)
|
||||||
|
|
@ -492,7 +497,9 @@ stages:
|
||||||
jobDisplayName: "Test: Windows Server 2016 x64"
|
jobDisplayName: "Test: Windows Server 2016 x64"
|
||||||
agentOs: Windows
|
agentOs: Windows
|
||||||
isTestingJob: true
|
isTestingJob: true
|
||||||
buildArgs: -all -pack -test "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
|
buildArgs: -all -pack -test /p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true
|
||||||
|
/p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
beforeBuild:
|
beforeBuild:
|
||||||
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
|
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
|
||||||
displayName: Setup IISExpress test certificates and schema
|
displayName: Setup IISExpress test certificates and schema
|
||||||
|
|
@ -530,9 +537,9 @@ stages:
|
||||||
steps:
|
steps:
|
||||||
- script: ./build.cmd -ci -nobl -all -pack $(_InternalRuntimeDownloadArgs)
|
- script: ./build.cmd -ci -nobl -all -pack $(_InternalRuntimeDownloadArgs)
|
||||||
displayName: Build Repo
|
displayName: Build Repo
|
||||||
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
|
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
|
||||||
displayName: Pack Templates
|
displayName: Pack Templates
|
||||||
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true"
|
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true"
|
||||||
displayName: Test Templates
|
displayName: Test Templates
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: Windows_Test_Templates_Dumps
|
- name: Windows_Test_Templates_Dumps
|
||||||
|
|
@ -632,9 +639,11 @@ stages:
|
||||||
# Build the shared framework
|
# Build the shared framework
|
||||||
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Build shared fx
|
displayName: Build shared fx
|
||||||
- script: .\restore.cmd -ci -nobl /p:BuildInteropProjects=true
|
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
|
||||||
displayName: Restore interop projects
|
displayName: Restore interop projects
|
||||||
- script: .\build.cmd -ci -nobl -NoRestore -test -all -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
- script: ./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:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Run build.cmd helix target
|
displayName: Run build.cmd helix target
|
||||||
env:
|
env:
|
||||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ schedules:
|
||||||
include:
|
include:
|
||||||
- master
|
- master
|
||||||
always: true
|
always: true
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
|
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
|
||||||
- name: _UseHelixOpenQueues
|
- name: _UseHelixOpenQueues
|
||||||
|
|
@ -15,8 +15,8 @@ variables:
|
||||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
- group: DotNet-HelixApi-Access
|
- group: DotNet-HelixApi-Access
|
||||||
- name: _UseHelixOpenQueues
|
- name: _UseHelixOpenQueues
|
||||||
value: 'false'
|
value: 'false'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- template: jobs/default-build.yml
|
- template: jobs/default-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -28,9 +28,11 @@ jobs:
|
||||||
# Build the shared framework
|
# Build the shared framework
|
||||||
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Build shared fx
|
displayName: Build shared fx
|
||||||
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
|
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
|
||||||
displayName: Restore interop projects
|
displayName: Restore interop projects
|
||||||
- script: .\build.cmd -ci -nobl -NoRestore -test -all -projects eng\helix\helix.proj /p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
- script: .\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -projects eng\helix\helix.proj
|
||||||
|
/p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true
|
||||||
|
/p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Run build.cmd helix target
|
displayName: Run build.cmd helix target
|
||||||
env:
|
env:
|
||||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||||
|
|
@ -39,7 +41,7 @@ jobs:
|
||||||
- name: Helix_logs
|
- name: Helix_logs
|
||||||
path: artifacts/log/
|
path: artifacts/log/
|
||||||
publishOnError: true
|
publishOnError: true
|
||||||
|
|
||||||
# Helix ARM64
|
# Helix ARM64
|
||||||
- template: jobs/default-build.yml
|
- template: jobs/default-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -50,7 +52,9 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- script: ./restore.sh -ci -nobl
|
- script: ./restore.sh -ci -nobl
|
||||||
displayName: Restore
|
displayName: Restore
|
||||||
- script: ./build.sh -ci --nobl --arch arm64 -test --no-build-nodejs --all -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
- script: ./build.sh --ci --nobl --noBuildRepoTasks --arch arm64 -test --no-build-nodejs --all --projects
|
||||||
|
$(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true
|
||||||
|
/p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Run build.sh helix arm64 target
|
displayName: Run build.sh helix arm64 target
|
||||||
env:
|
env:
|
||||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ jobs:
|
||||||
flattenFolders: true
|
flattenFolders: true
|
||||||
- powershell: .\eng\common\build.ps1
|
- powershell: .\eng\common\build.ps1
|
||||||
-ci
|
-ci
|
||||||
|
-nobl
|
||||||
-restore
|
-restore
|
||||||
-sign
|
-sign
|
||||||
-publish
|
-publish
|
||||||
|
|
|
||||||
|
|
@ -104,11 +104,16 @@ jobs:
|
||||||
${{ if eq(parameters.agentOs, 'Windows') }}:
|
${{ if eq(parameters.agentOs, 'Windows') }}:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
name: NetCorePublic-Pool
|
name: NetCorePublic-Pool
|
||||||
queue: BuildPool.Windows.10.Amd64.VS2019.Pre.Open
|
${{ if ne(parameters.isTestingJob, true) }}:
|
||||||
|
# Visual Studio Build Tools
|
||||||
|
queue: BuildPool.Server.Amd64.VS2019.BT.Open
|
||||||
|
${{ if eq(parameters.isTestingJob, true) }}:
|
||||||
|
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
|
||||||
|
queue: BuildPool.Server.Amd64.VS2019.Open
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: NetCoreInternal-Pool
|
name: NetCoreInternal-Pool
|
||||||
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
|
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
|
||||||
queue: BuildPool.Windows.10.Amd64.VS2019.Pre
|
queue: BuildPool.Server.Amd64.VS2019
|
||||||
variables:
|
variables:
|
||||||
- AgentOsName: ${{ parameters.agentOs }}
|
- AgentOsName: ${{ parameters.agentOs }}
|
||||||
- ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
|
- ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,13 @@ jobs:
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 240
|
||||||
steps:
|
steps:
|
||||||
# Build the shared framework
|
# Build the shared framework
|
||||||
- script: ./build.cmd -ci -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
|
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Build shared fx
|
displayName: Build shared fx
|
||||||
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
|
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
|
||||||
displayName: Restore interop projects
|
displayName: Restore interop projects
|
||||||
- script: .\build.cmd -ci -NoRestore -test -noBuildJava -all -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
- script: ./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:ASPNETCORE_TEST_LOG_DIR=artifacts/log
|
||||||
displayName: Run build.cmd helix target
|
displayName: Run build.cmd helix target
|
||||||
env:
|
env:
|
||||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@
|
||||||
<!-- Projects which reference Microsoft.AspNetCore.Mvc.Testing should import this targets file to ensure dependency .deps.json files are copied into test output. -->
|
<!-- Projects which reference Microsoft.AspNetCore.Mvc.Testing should import this targets file to ensure dependency .deps.json files are copied into test output. -->
|
||||||
<MvcTestingTargets>$(MSBuildThisFileDirectory)src\Mvc\Mvc.Testing\src\Microsoft.AspNetCore.Mvc.Testing.targets</MvcTestingTargets>
|
<MvcTestingTargets>$(MSBuildThisFileDirectory)src\Mvc\Mvc.Testing\src\Microsoft.AspNetCore.Mvc.Testing.targets</MvcTestingTargets>
|
||||||
<!-- IIS native projects can only be built on Windows for x86 and x64. -->
|
<!-- IIS native projects can only be built on Windows for x86 and x64. -->
|
||||||
<BuildIisNativeProjects Condition=" $(BuildNative) AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">true</BuildIisNativeProjects>
|
<BuildIisNativeProjects Condition=" '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">true</BuildIisNativeProjects>
|
||||||
<!-- This property is shared by several projects to layout the AspNetCore.App targeting pack for installers -->
|
<!-- This property is shared by several projects to layout the AspNetCore.App targeting pack for installers -->
|
||||||
<TargetingPackLayoutRoot>$(ArtifactsObjDir)TargetingPack.Layout\$(Configuration)\</TargetingPackLayoutRoot>
|
<TargetingPackLayoutRoot>$(ArtifactsObjDir)TargetingPack.Layout\$(Configuration)\</TargetingPackLayoutRoot>
|
||||||
<!-- This property is shared by several projects to layout the AspNetCore.App shared framework for installers -->
|
<!-- This property is shared by several projects to layout the AspNetCore.App shared framework for installers -->
|
||||||
|
|
|
||||||
81
build.ps1
81
build.ps1
|
|
@ -146,9 +146,8 @@ param(
|
||||||
|
|
||||||
[switch]$NoBuildRepoTasks,
|
[switch]$NoBuildRepoTasks,
|
||||||
|
|
||||||
# By default, Windows builds will use MSBuild.exe. Passing this will force the build to run on
|
# Disable pre-build of C++ code in x64 (default) and x86 builds. Affects -All and -Projects handling and causes
|
||||||
# dotnet.exe instead, which may cause issues if you invoke build on a project unsupported by
|
# -BuildInstallers and -BuildNative to be ignored.
|
||||||
# MSBuild for .NET Core
|
|
||||||
[switch]$ForceCoreMsbuild,
|
[switch]$ForceCoreMsbuild,
|
||||||
|
|
||||||
# Diagnostics
|
# Diagnostics
|
||||||
|
|
@ -187,10 +186,6 @@ if ($DumpProcesses -or $CI) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Project selection
|
# Project selection
|
||||||
if ($All) {
|
|
||||||
$MSBuildArguments += '/p:BuildAllProjects=true'
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($Projects) {
|
if ($Projects) {
|
||||||
if (![System.IO.Path]::IsPathRooted($Projects))
|
if (![System.IO.Path]::IsPathRooted($Projects))
|
||||||
{
|
{
|
||||||
|
|
@ -227,20 +222,8 @@ if ($BuildManaged -or ($All -and (-not $NoBuildManaged))) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($BuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=true" }
|
|
||||||
if ($BuildManaged) { $MSBuildArguments += "/p:BuildManaged=true" }
|
|
||||||
if ($BuildNative) { $MSBuildArguments += "/p:BuildNative=true" }
|
|
||||||
if ($BuildNodeJS) { $MSBuildArguments += "/p:BuildNodeJS=true" }
|
|
||||||
if ($BuildJava) { $MSBuildArguments += "/p:BuildJava=true" }
|
|
||||||
|
|
||||||
if ($NoBuildDeps) { $MSBuildArguments += "/p:BuildProjectReferences=false" }
|
if ($NoBuildDeps) { $MSBuildArguments += "/p:BuildProjectReferences=false" }
|
||||||
|
|
||||||
if ($NoBuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=false" }
|
|
||||||
if ($NoBuildManaged) { $MSBuildArguments += "/p:BuildManaged=false" }
|
|
||||||
if ($NoBuildNative) { $MSBuildArguments += "/p:BuildNative=false" }
|
|
||||||
if ($NoBuildNodeJS) { $MSBuildArguments += "/p:BuildNodeJS=false" }
|
|
||||||
if ($NoBuildJava) { $MSBuildArguments += "/p:BuildJava=false" }
|
|
||||||
|
|
||||||
$RunBuild = if ($NoBuild) { $false } else { $true }
|
$RunBuild = if ($NoBuild) { $false } else { $true }
|
||||||
|
|
||||||
# Run restore by default unless -NoRestore is set.
|
# Run restore by default unless -NoRestore is set.
|
||||||
|
|
@ -276,6 +259,30 @@ if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) {
|
||||||
$ToolsetBuildArguments += $runtimeFeedKeyArg
|
$ToolsetBuildArguments += $runtimeFeedKeyArg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Split build categories between dotnet msbuild and desktop msbuild. Use desktop msbuild as little as possible.
|
||||||
|
[string[]]$dotnetBuildArguments = $MSBuildArguments
|
||||||
|
if ($All) { $dotnetBuildArguments += '/p:BuildAllProjects=true'; $BuildNative = $true }
|
||||||
|
|
||||||
|
if ($NoBuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=false"; $BuildInstallers = $false }
|
||||||
|
if ($BuildInstallers) { $MSBuildArguments += "/p:BuildInstallers=true" }
|
||||||
|
if ($NoBuildNative) { $MSBuildArguments += "/p:BuildNative=false"; $BuildNative = $false }
|
||||||
|
if ($BuildNative) { $MSBuildArguments += "/p:BuildNative=true"}
|
||||||
|
|
||||||
|
if ($NoBuildJava) { $dotnetBuildArguments += "/p:BuildJava=false"; $BuildJava = $false }
|
||||||
|
if ($BuildJava) { $dotnetBuildArguments += "/p:BuildJava=true" }
|
||||||
|
if ($NoBuildManaged) { $dotnetBuildArguments += "/p:BuildManaged=false"; $BuildManaged = $false }
|
||||||
|
if ($BuildManaged) { $dotnetBuildArguments += "/p:BuildManaged=true" }
|
||||||
|
if ($NoBuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=false"; $BuildNodeJS = $false }
|
||||||
|
if ($BuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=true" }
|
||||||
|
|
||||||
|
# Don't bother with two builds if just one will build everything. Ignore super-weird cases like
|
||||||
|
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS".
|
||||||
|
$ForceCoreMsbuild = $ForceCoreMsbuild -or -not ($BuildInstallers -or $BuildNative) -or `
|
||||||
|
$Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase)
|
||||||
|
$performDotnetBuild = $ForceCoreMsbuild -or $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
|
||||||
|
($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or `
|
||||||
|
($Projects -and -not ($BuildInstallers -or $BuildNative))
|
||||||
|
|
||||||
$foundJdk = $false
|
$foundJdk = $false
|
||||||
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
|
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
|
||||||
$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
|
$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
|
||||||
|
|
@ -343,9 +350,8 @@ $env:MSBUILDDISABLENODEREUSE=1
|
||||||
# Fixing this is tracked by https://github.com/dotnet/aspnetcore-internal/issues/601
|
# Fixing this is tracked by https://github.com/dotnet/aspnetcore-internal/issues/601
|
||||||
$warnAsError = $false
|
$warnAsError = $false
|
||||||
|
|
||||||
if ($ForceCoreMsbuild) {
|
# Use `dotnet msbuild` by default
|
||||||
$msbuildEngine = 'dotnet'
|
$msbuildEngine = 'dotnet'
|
||||||
}
|
|
||||||
|
|
||||||
# Ensure passing neither -bl nor -nobl on CI avoids errors in tools.ps1. This is needed because both parameters are
|
# Ensure passing neither -bl nor -nobl on CI avoids errors in tools.ps1. This is needed because both parameters are
|
||||||
# $false by default i.e. they always exist. (We currently avoid binary logs but that is made visible in the YAML.)
|
# $false by default i.e. they always exist. (We currently avoid binary logs but that is made visible in the YAML.)
|
||||||
|
|
@ -367,7 +373,16 @@ Remove-Item variable:global:_MSBuildExe -ea Ignore
|
||||||
if ($BinaryLog) {
|
if ($BinaryLog) {
|
||||||
$bl = GetMSBuildBinaryLogCommandLineArgument($MSBuildArguments)
|
$bl = GetMSBuildBinaryLogCommandLineArgument($MSBuildArguments)
|
||||||
if (-not $bl) {
|
if (-not $bl) {
|
||||||
$MSBuildArguments += "/bl:" + (Join-Path $LogDir "Build.binlog")
|
$dotnetBuildArguments += "/bl:" + (Join-Path $LogDir "Build.binlog")
|
||||||
|
$MSBuildArguments += "/bl:" + (Join-Path $LogDir "Build.native.binlog")
|
||||||
|
$ToolsetBuildArguments += "/bl:" + (Join-Path $LogDir "Build.repotasks.binlog")
|
||||||
|
} else {
|
||||||
|
# Use a different binary log path when running desktop msbuild if doing both builds.
|
||||||
|
if (-not $ForceCoreMsbuild -and $performDotnetBuild) {
|
||||||
|
$MSBuildArguments += [System.IO.Path]::ChangeExtension($bl, "native.binlog")
|
||||||
|
}
|
||||||
|
|
||||||
|
$ToolsetBuildArguments += [System.IO.Path]::ChangeExtension($bl, "repotasks.binlog")
|
||||||
}
|
}
|
||||||
} elseif ($CI) {
|
} elseif ($CI) {
|
||||||
# Ensure the artifacts/log directory isn't empty to avoid warnings.
|
# Ensure the artifacts/log directory isn't empty to avoid warnings.
|
||||||
|
|
@ -394,6 +409,8 @@ try {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-not $NoBuildRepoTasks) {
|
if (-not $NoBuildRepoTasks) {
|
||||||
|
Write-Host
|
||||||
|
|
||||||
MSBuild $toolsetBuildProj `
|
MSBuild $toolsetBuildProj `
|
||||||
/p:RepoRoot=$RepoRoot `
|
/p:RepoRoot=$RepoRoot `
|
||||||
/p:Projects=$EngRoot\tools\RepoTasks\RepoTasks.csproj `
|
/p:Projects=$EngRoot\tools\RepoTasks\RepoTasks.csproj `
|
||||||
|
|
@ -404,9 +421,21 @@ try {
|
||||||
@ToolsetBuildArguments
|
@ToolsetBuildArguments
|
||||||
}
|
}
|
||||||
|
|
||||||
MSBuild $toolsetBuildProj `
|
if (-not $ForceCoreMsbuild) {
|
||||||
/p:RepoRoot=$RepoRoot `
|
Write-Host
|
||||||
@MSBuildArguments
|
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||||
|
$msbuildEngine = 'vs'
|
||||||
|
|
||||||
|
MSBuild $toolsetBuildProj /p:RepoRoot=$RepoRoot @MSBuildArguments
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($performDotnetBuild) {
|
||||||
|
Write-Host
|
||||||
|
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||||
|
$msbuildEngine = 'dotnet'
|
||||||
|
|
||||||
|
MSBuild $toolsetBuildProj /p:RepoRoot=$RepoRoot @dotnetBuildArguments
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Host $_.ScriptStackTrace
|
Write-Host $_.ScriptStackTrace
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
<Import Project="SharedFramework.Local.props" />
|
<Import Project="SharedFramework.Local.props" />
|
||||||
|
|
||||||
<!-- This is temporary until we can use FrameworkReference to build our own packages. -->
|
<!-- This is temporary until we can use FrameworkReference to build our own packages. -->
|
||||||
<Target Name="RemoveSharedFrameworkOnlyRefsFromNuspec" AfterTargets="Pack">
|
<Target Name="RemoveSharedFrameworkOnlyRefsFromNuspec" AfterTargets="Pack"
|
||||||
|
Condition=" '$(MSBuildRuntimeType)' == 'core' ">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_BuildOutput Include="$(ArtifactsShippingPackagesDir)*.nupkg"
|
<_BuildOutput Include="$(ArtifactsShippingPackagesDir)*.nupkg"
|
||||||
Exclude="$(ArtifactsShippingPackagesDir)*.symbols.nupkg" />
|
Exclude="$(ArtifactsShippingPackagesDir)*.symbols.nupkg" />
|
||||||
|
|
|
||||||
|
|
@ -84,14 +84,12 @@
|
||||||
Include="$(RepoRoot)src\Installers\Rpm\**\*.*proj" />
|
Include="$(RepoRoot)src\Installers\Rpm\**\*.*proj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition=" '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">
|
||||||
<NativeProjects Condition=" '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') "
|
<NativeProjects Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)" AdditionalProperties="Platform=x64" />
|
||||||
Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)">
|
<NativeProjects Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)" AdditionalProperties="Platform=Win32" />
|
||||||
<!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
|
</ItemGroup>
|
||||||
<AdditionalProperties Condition="'$(TargetArchitecture)' == 'x64'">Platform=x64</AdditionalProperties>
|
|
||||||
<AdditionalProperties Condition="'$(TargetArchitecture)' == 'x86'">Platform=Win32</AdditionalProperties>
|
|
||||||
</NativeProjects>
|
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
<ProjectToBuild Condition=" $(BuildNative) " Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" />
|
<ProjectToBuild Condition=" $(BuildNative) " Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" />
|
||||||
<ProjectToExclude Condition=" !$(BuildNative) " Include="@(NativeProjects)" />
|
<ProjectToExclude Condition=" !$(BuildNative) " Include="@(NativeProjects)" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,17 @@
|
||||||
param(
|
param(
|
||||||
[switch]$ci
|
[switch]$ci
|
||||||
)
|
)
|
||||||
$ErrorActionPreference = 'stop'
|
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'stop'
|
||||||
|
$excludeCIBinarylog = $true
|
||||||
|
$msbuildEngine = 'dotnet'
|
||||||
$repoRoot = Resolve-Path "$PSScriptRoot/../.."
|
$repoRoot = Resolve-Path "$PSScriptRoot/../.."
|
||||||
|
|
||||||
& "$repoRoot\eng\common\msbuild.ps1" -ci:$ci "$repoRoot/eng/CodeGen.proj" `
|
try {
|
||||||
/t:GenerateProjectList `
|
& "$repoRoot\eng\common\msbuild.ps1" -ci:$ci "$repoRoot/eng/CodeGen.proj" /t:GenerateProjectList
|
||||||
/bl:artifacts/log/genprojlist.binlog
|
} finally {
|
||||||
|
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_DotNetInstallDir -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_ToolsetBuildProj -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_MSBuildExe -ErrorAction Ignore
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,25 @@
|
||||||
param(
|
param(
|
||||||
[switch]$ci
|
[switch]$ci
|
||||||
)
|
)
|
||||||
$ErrorActionPreference = 'stop'
|
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'stop'
|
||||||
$repoRoot = Resolve-Path "$PSScriptRoot/../.."
|
$repoRoot = Resolve-Path "$PSScriptRoot/../.."
|
||||||
|
|
||||||
& "$repoRoot\eng\common\msbuild.ps1" -ci:$ci "$repoRoot/eng/CodeGen.proj" `
|
try {
|
||||||
/t:GenerateReferenceSources `
|
# eng/common/msbuild.ps1 builds the Debug configuration unless there's a $Configuration variable. Match that here.
|
||||||
/bl:artifacts/log/genrefassemblies.binlog
|
& "$repoRoot\build.ps1" -ci:$ci -nobl -noBuildRepoTasks -noRestore -buildNative -configuration Debug
|
||||||
|
|
||||||
|
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_DotNetInstallDir -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_ToolsetBuildProj -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_MSBuildExe -ErrorAction Ignore
|
||||||
|
|
||||||
|
$excludeCIBinarylog = $true
|
||||||
|
$msbuildEngine = 'dotnet'
|
||||||
|
& "$repoRoot\eng\common\msbuild.ps1" -ci:$ci "$repoRoot/eng/CodeGen.proj" /t:GenerateReferenceSources
|
||||||
|
} finally {
|
||||||
|
Remove-Item variable:global:_BuildTool -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_DotNetInstallDir -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_ToolsetBuildProj -ErrorAction Ignore
|
||||||
|
Remove-Item variable:global:_MSBuildExe -ErrorAction Ignore
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,11 +30,4 @@ with the right MSBuild incantations to get output copied to the right place.
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<NativeProjectReference Remove="@(NativeProjectReference)" />
|
<NativeProjectReference Remove="@(NativeProjectReference)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="_WarnAboutUnbuiltNativeDependencies"
|
|
||||||
BeforeTargets="Build"
|
|
||||||
Condition=" @(NativeProjectReference->Count()) != 0 AND !$(BuildNative) ">
|
|
||||||
<Warning Text="This project has native dependencies which were not built. Without this, tests may not function correctly. Run `build.cmd -native` to build native projects. Run `build.cmd -managed -native` to build both C# and C++." />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
"Git": "2.22.0",
|
"Git": "2.22.0",
|
||||||
"jdk": "11.0.3",
|
"jdk": "11.0.3",
|
||||||
"vs": {
|
"vs": {
|
||||||
"version": "16.6",
|
"version": "16.5",
|
||||||
"components": [
|
"components": [
|
||||||
"Microsoft.VisualStudio.Component.VC.ATL",
|
"Microsoft.VisualStudio.Component.VC.ATL",
|
||||||
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
||||||
|
|
||||||
<FrameworkListFileName>RuntimeList.xml</FrameworkListFileName>
|
<FrameworkListFileName>RuntimeList.xml</FrameworkListFileName>
|
||||||
<FrameworkListOutputPath>$(ArtifactsObjDir)$(FrameworkListFileName)</FrameworkListOutputPath>
|
<FrameworkListOutputPath>$(ArtifactsObjDir)$(FrameworkListFileName)</FrameworkListOutputPath>
|
||||||
|
|
||||||
|
<NativePlatform>$(TargetArchitecture)</NativePlatform>
|
||||||
|
<NativePlatform Condition=" '$(NativePlatform)' == 'x86' ">Win32</NativePlatform>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
@ -127,10 +130,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
||||||
|
|
||||||
<Reference Include="microsoft.netcore.app.runtime.$(RuntimeIdentifier)" ExcludeAssets="All" PrivateAssets="All" />
|
<Reference Include="microsoft.netcore.app.runtime.$(RuntimeIdentifier)" ExcludeAssets="All" PrivateAssets="All" />
|
||||||
|
|
||||||
<ProjectReference Condition=" '$(BuildIisNativeProjects)' == 'true' "
|
<ProjectReference Condition=" '$(BuildIisNativeProjects)' == 'true' AND $(BuildNative) "
|
||||||
Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj">
|
Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj">
|
||||||
<SetPlatform>Platform=$(TargetArchitecture)</SetPlatform>
|
<SetPlatform>Platform=$(NativePlatform)</SetPlatform>
|
||||||
<SetPlatform Condition="'$(TargetArchitecture)' == 'x86'">Platform=Win32</SetPlatform>
|
|
||||||
<!-- Custom attribute used to distinguish managed from native references. -->
|
<!-- Custom attribute used to distinguish managed from native references. -->
|
||||||
<IsNativeImage>true</IsNativeImage>
|
<IsNativeImage>true</IsNativeImage>
|
||||||
<!-- A custom item group to be used in targets later. -->
|
<!-- A custom item group to be used in targets later. -->
|
||||||
|
|
@ -138,6 +140,11 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
||||||
<!-- C++ projects don't invoke GetTargetPath by default when building. -->
|
<!-- C++ projects don't invoke GetTargetPath by default when building. -->
|
||||||
<Targets>Build;GetTargetPath</Targets>
|
<Targets>Build;GetTargetPath</Targets>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
|
||||||
|
<_ResolvedNativeProjectReferencePaths Condition=" '$(BuildIisNativeProjects)' == 'true' AND !$(BuildNative) "
|
||||||
|
Include="$(ArtifactsBinDir)InProcessRequestHandler\$(NativePlatform)\$(Configuration)\aspnetcorev2_inprocess.dll">
|
||||||
|
<IsNativeImage>true</IsNativeImage>
|
||||||
|
</_ResolvedNativeProjectReferencePaths>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
@ -216,7 +223,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
||||||
|
|
||||||
<Target Name="_WarnAboutUnbuiltNativeDependencies"
|
<Target Name="_WarnAboutUnbuiltNativeDependencies"
|
||||||
BeforeTargets="Build"
|
BeforeTargets="Build"
|
||||||
Condition=" '$(BuildIisNativeProjects)' == 'true' AND !$(BuildNative) ">
|
Condition=" '$(BuildIisNativeProjects)' == 'true' AND !$(BuildNative) AND
|
||||||
|
!EXISTS('$(ArtifactsBinDir)InProcessRequestHandler\$(NativePlatform)\$(Configuration)\aspnetcorev2_inprocess.dll') ">
|
||||||
<Warning Text="This project has native dependencies which were not built. Without this, tests may not function correctly. Run `build.cmd -BuildNative -BuildManaged` to build both C# and C++." />
|
<Warning Text="This project has native dependencies which were not built. Without this, tests may not function correctly. Run `build.cmd -BuildNative -BuildManaged` to build both C# and C++." />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,21 +18,21 @@ IF %ERRORLEVEL% NEQ 0 (
|
||||||
ECHO Building x64 LoggingBranch
|
ECHO Building x64 LoggingBranch
|
||||||
REM /p:DisableTransitiveFrameworkReferences=true is needed to prevent SDK from picking up transitive references to
|
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
|
REM Microsoft.AspNetCore.App as framework references https://github.com/dotnet/sdk/pull/3221
|
||||||
CALL "%RepoRoot%\build.cmd" -forceCoreMsbuild -arch x64 -projects "%~dp0LoggingBranch\LB.csproj" ^
|
CALL "%RepoRoot%\build.cmd" -arch x64 -projects "%~dp0LoggingBranch\LB.csproj" ^
|
||||||
/p:DisableTransitiveFrameworkReferences=true /bl:artifacts/log/SiteExtensions-LoggingBranch-x64.binlog %*
|
/p:DisableTransitiveFrameworkReferences=true /bl:artifacts/log/SiteExtensions-LoggingBranch-x64.binlog %*
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
EXIT /b %ErrorLevel%
|
EXIT /b %ErrorLevel%
|
||||||
)
|
)
|
||||||
|
|
||||||
ECHO Building x86 LoggingBranch
|
ECHO Building x86 LoggingBranch
|
||||||
CALL "%RepoRoot%\build.cmd" -forceCoreMsbuild -arch x86 -projects "%~dp0LoggingBranch\LB.csproj" ^
|
CALL "%RepoRoot%\build.cmd" -arch x86 -projects "%~dp0LoggingBranch\LB.csproj" ^
|
||||||
/p:DisableTransitiveFrameworkReferences=true /bl:artifacts/log/SiteExtensions-LoggingBranch-x86.binlog %*
|
/p:DisableTransitiveFrameworkReferences=true /bl:artifacts/log/SiteExtensions-LoggingBranch-x86.binlog %*
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
EXIT /b %ErrorLevel%
|
EXIT /b %ErrorLevel%
|
||||||
)
|
)
|
||||||
|
|
||||||
ECHO Building Microsoft.AspNetCore.AzureAppServices.SiteExtension
|
ECHO Building Microsoft.AspNetCore.AzureAppServices.SiteExtension
|
||||||
CALL "%RepoRoot%\build.cmd" -forceCoreMsbuild -projects ^
|
CALL "%RepoRoot%\build.cmd" -projects ^
|
||||||
"%~dp0LoggingAggregate\src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj" ^
|
"%~dp0LoggingAggregate\src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj" ^
|
||||||
/bl:artifacts/log/SiteExtensions-LoggingAggregate.binlog %*
|
/bl:artifacts/log/SiteExtensions-LoggingAggregate.binlog %*
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue