Skip to content

Commit 05321bc

Browse files
authored
Use SlnGen to generate solution from Traversal project (#5600)
Updates repository to use `Microsoft.Build.Traversal` `.proj` files to drive which projects are built. Previously the arcade build infrastructure would build the solution files found in the root directly. This approach gives us more fine-grained control over projects to build, as well as allow us to automatically generate a solution file using `slngen`. I have checked in the generated `build.sln` which can be loaded with `VS` or `VSCode`. This version includes the `vcxproj` files which improve the native debug experience in VS. There is an option to generate `build.sln` without these files as they can cause warnings on non-Windows platforms (same behavior as today). For convienence I have added two new scripts: * `eng/generate-sln.ps1` * `eng/generate-sln.sh` both of these automatically invoke the proper commands to regenerate the `build.sln` file. I updated the instruction docs to reference `build.sln` and explain how to regenerate it. Edit: * I have reverted from using `slnx -> sln` as the conversion process causes some problems with the vcxproj Ids. Given that these are now auto-generated, using the `sln` format seems acceptable as it has broader support.
1 parent 38fa25e commit 05321bc

File tree

20 files changed

+1890
-587
lines changed

20 files changed

+1890
-587
lines changed

build.proj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Project Sdk="Microsoft.Build.Traversal">
2+
3+
<ItemGroup >
4+
<ProjectReference Include="src/dirs.proj" />
5+
<ProjectReference Include="src/tests/dirs.proj" Condition="'$(SkipTests)' != 'true'" />
6+
</ItemGroup>
7+
8+
</Project>

build.sln

Lines changed: 1527 additions & 0 deletions
Large diffs are not rendered by default.

debuggees.slnx

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

0 commit comments

Comments
 (0)