Make $LogDir build-architecture specific
- Dominant language
- C#
- Stars
- 729
- Forks
- 397
- Avg merge
- 3d 15m
- Merged PRs (30d)
- 149
Description
In WPF's builds, Build.binlog goes under `$(ArtifactsDir)Log\$(Configuration)` as if it were part of an `AnyCPU` build.
[`tools.ps1`](https://github.com/dotnet/arcade/blob/5e7ce5b394f3477bb0a485a4b761b7742e95be37/eng/common/tools.ps1#L512):
```PowerShell
[$LogDir = Join-Path (Join-Path $ArtifactsDir "log") $configuration]
```
Our builds are entirely arch-specific, and always set `/p:Platform=x86` or `/p:Platform=x64`. We would like to get build logs to be redirected to appropriate folders that encode `$(Plaform)` when one is set (and `!='AnCPU'`).
The current state of affairs prevents us from even attempting parallel dev-builds of more than one architecture. For e.g., we can't try to build `x86` and `x64` simultaneously on a dev box because the msbuild (bin)logs share the same file and therefore clash.
In an ideal world, we'd be able to pass `-platform` to `build.ps1` (just like we can set `-configuration` today) and have it come out the other side with `/p:Platfrom=` along with all the right fixups for various folders under `$(ArtifactsDir)`.
/cc @tmat, @chcosta
/cc @dotnet/wpf-developers
Contributor guide
Assessment
This issue has not been assessed yet.