@joebigelow / wix-1 / commits / 5b2b06c9

Build api segment via traversal projects.

79s -> 21s on my octocore machine.

Bob Arnson committed Jul 11, 2021 at 17:16 UTC 5b2b06c9bffb4e6f17409cec41bc0b4b8dab4c90
5 files changed +67 -28
src/api/api.cmd
+5 -26
@@ -8,36 +8,15 @@
8
9 @echo Building api %_C%
10
11 -:: burn
12 -
13 -nuget restore burn\api_burn.sln || exit /b
14 -
15 -msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v142 burn\api_burn.sln || exit /b
16 -msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v142 burn\api_burn.sln || exit /b
17 -msbuild -p:Configuration=%_C%;Platform=ARM64;PlatformToolset=v142 burn\api_burn.sln || exit /b
18 -
19 -msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v141 burn\api_burn.sln || exit /b
20 -msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v141 burn\api_burn.sln || exit /b
21 -msbuild -p:Configuration=%_C%;Platform=ARM64;PlatformToolset=v141 burn\api_burn.sln || exit /b
22 -
23 -msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v140 burn\api_burn.sln || exit /b
24 -msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v140 burn\api_burn.sln || exit /b
11 +:: restore
12 +:: build
13 +:: pack
14 +msbuild -m -p:Configuration=%_C% api.proj || exit /b
15
16 +:: test
17 dotnet test -c %_C% --no-build burn\test\WixToolsetTest.Mba.Core\WixToolsetTest.Mba.Core.csproj || exit /b
27 -
28 -msbuild -t:PackNative -p:Configuration=%_C% burn\balutil\balutil.vcxproj || exit /b
29 -msbuild -t:PackNative -p:Configuration=%_C% burn\bextutil\bextutil.vcxproj || exit /b
30 -msbuild -t:PackNative -Restore -p:Configuration=%_C% burn\WixToolset.BootstrapperCore.Native\WixToolset.BootstrapperCore.Native.proj || exit /b
31 -msbuild -t:Pack -p:Configuration=%_C% -p:NoBuild=true burn\WixToolset.Mba.Core\WixToolset.Mba.Core.csproj || exit /b
32 -
33 -
34 -:: wix
35 -
36 -msbuild -Restore -p:Configuration=%_C% wix\api_wix.sln || exit /b
37 -
18 dotnet test -c %_C% --no-build wix\api_wix.sln || exit /b
19
40 -msbuild -t:Pack -p:Configuration=%_C% -p:NoBuild=true wix\api_wix.sln || exit /b
20
21 @popd
22 @endlocal
src/api/api.proj new
+9
@@ -0,0 +1,9 @@
1 +<Project Sdk="Microsoft.Build.Traversal/3.0.23">
2 + <ItemGroup>
3 + <ProjectReference Include="burn\burn.proj" Targets="Restore" BuildInParallel="false" />
4 + <ProjectReference Include="wix\wix.proj" Targets="Restore" BuildInParallel="false" />
5 +
6 + <ProjectReference Include="burn\burn.proj" />
7 + <ProjectReference Include="wix\wix.proj" />
8 + </ItemGroup>
9 +</Project>
src/api/burn/balutil/balutil.nuspec
+2 -2
@@ -20,11 +20,11 @@
20 <files>
21 <file src="$projectFolder$\build\$id$.props" target="build\" />
22 <file src="$projectFolder$\inc\*" target="build\native\include" />
23 - <!-- <file src="..\..\v140\x86\balutil.lib" target="build\native\v140\x86" />
23 + <file src="..\..\v140\x86\balutil.lib" target="build\native\v140\x86" />
24 <file src="..\..\v140\x64\balutil.lib" target="build\native\v140\x64" />
25 <file src="..\..\v141\x86\balutil.lib" target="build\native\v141\x86" />
26 <file src="..\..\v141\x64\balutil.lib" target="build\native\v141\x64" />
27 - <file src="..\..\v141\ARM64\balutil.lib" target="build\native\v141\ARM64" /> -->
27 + <file src="..\..\v141\ARM64\balutil.lib" target="build\native\v141\ARM64" />
28 <file src="..\..\v142\x86\balutil.lib" target="build\native\v142\x86" />
29 <file src="..\..\v142\x64\balutil.lib" target="build\native\v142\x64" />
30 <file src="..\..\v142\ARM64\balutil.lib" target="build\native\v142\ARM64" />
src/api/burn/burn.proj new
+40
@@ -0,0 +1,40 @@
1 +<Project Sdk="Microsoft.Build.Traversal/3.0.23">
2 + <ItemGroup>
3 + <!-- Restore: Explicitly restore the test projects, which need some hand-holding. -->
4 + <ProjectReference Include="test\BalUtilUnitTest\BalUtilUnitTest.vcxproj" Targets="Restore" BuildInParallel="false" />
5 + <ProjectReference Include="test\BextUtilUnitTest\BextUtilUnitTest.vcxproj" Targets="Restore" BuildInParallel="false" />
6 +
7 + <!-- Build -->
8 +
9 + <!-- Let bextutil build balutil. -->
10 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x86;PlatformToolset=v140" />
11 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x64;PlatformToolset=v140" />
12 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x86;PlatformToolset=v141" />
13 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x64;PlatformToolset=v141" />
14 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=ARM64;PlatformToolset=v141" />
15 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x86" />
16 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=x64" />
17 + <ProjectReference Include="bextutil\bextutil.vcxproj" Properties="Platform=ARM64" />
18 +
19 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x86;PlatformToolset=v140" />
20 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x64;PlatformToolset=v140" />
21 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x86;PlatformToolset=v141" />
22 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x64;PlatformToolset=v141" />
23 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=ARM64;PlatformToolset=v141" />
24 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x86" />
25 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=x64" />
26 + <ProjectReference Include="mbanative\mbanative.vcxproj" Properties="Platform=ARM64" />
27 +
28 + <ProjectReference Include="WixToolset.Mba.Core\WixToolset.Mba.Core.csproj" Properties="Platform=AnyCPU" />
29 +
30 + <!-- Test -->
31 + <ProjectReference Include="test\BalUtilUnitTest\BalUtilUnitTest.vcxproj" Targets="Test" />
32 + <ProjectReference Include="test\BextUtilUnitTest\BextUtilUnitTest.vcxproj" Targets="Test" />
33 +
34 + <!-- Pack -->
35 + <ProjectReference Include="balutil\balutil.vcxproj" Targets="PackNative" />
36 + <ProjectReference Include="bextutil\bextutil.vcxproj" Targets="PackNative" />
37 + <ProjectReference Include="WixToolset.BootstrapperCore.Native\WixToolset.BootstrapperCore.Native.proj" Targets="Restore;PackNative" />
38 + <ProjectReference Include="WixToolset.Mba.Core\WixToolset.Mba.Core.csproj" Properties="NoBuild=true" Targets="Pack" />
39 + </ItemGroup>
40 +</Project>
src/api/wix/wix.proj new
+11
@@ -0,0 +1,11 @@
1 +<Project Sdk="Microsoft.Build.Traversal/3.0.23">
2 + <ItemGroup>
3 + <!-- Build -->
4 + <ProjectReference Include="WixToolset.Data\WixToolset.Data.csproj" />
5 + <ProjectReference Include="WixToolset.Extensibility\WixToolset.Extensibility.csproj" />
6 +
7 + <!-- Pack -->
8 + <ProjectReference Include="WixToolset.Data\WixToolset.Data.csproj" Targets="Pack" />
9 + <ProjectReference Include="WixToolset.Extensibility\WixToolset.Extensibility.csproj" Targets="Pack" />
10 + </ItemGroup>
11 +</Project>