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>