|
71 | 71 | </ItemGroup> |
72 | 72 | </When> |
73 | 73 | <Otherwise> |
74 | | - <PropertyGroup> |
75 | | - <_BuildWindowsInstallers Condition="'$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64' OR '$(TargetArchitecture)' == 'arm64') ">true</_BuildWindowsInstallers> |
76 | | - <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'x86' ">Win32</_WixTargetPlatform> |
77 | | - <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'x64' ">x64</_WixTargetPlatform> |
78 | | - <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'arm64' ">ARM64</_WixTargetPlatform> |
79 | | - </PropertyGroup> |
80 | | - <ItemGroup Condition="'$(DotNetBuild)' != 'true' and '$(_BuildWindowsInstallers)' == 'true' "> |
81 | | - <!-- Build the ANCM custom action --> |
82 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" /> |
83 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=Win32" /> |
84 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=ARM64" /> |
85 | | - |
86 | | - <!-- Build the ANCM msis --> |
87 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x64" /> |
88 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x86" /> |
89 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=arm64" /> |
90 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x64" /> |
91 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x86" /> |
92 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=arm64" /> |
93 | | - |
94 | | - <!-- Build the targeting pack installers --> |
95 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x64" /> |
96 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x86" /> |
97 | | - <!-- This really shouldn't be here, but instead of harvesting from the intermediate/output directories, the targeting pack installer logic |
98 | | - harvests from a zip of the reference assemblies. Producing it in each leg ends up with multiple targeting packs |
99 | | - getting produced and the BAR will reject the build. Centralize building the targeting pack in the x86/x64 leg. --> |
100 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=arm64" /> |
101 | | - |
102 | | - <!-- Build the SharedFramework installers --> |
103 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" /> |
104 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x86" /> |
105 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=arm64" /> |
106 | | - |
107 | | - <!-- Build the SharedFramework wixlib --> |
108 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x64" /> |
109 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x86" /> |
110 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=arm64" /> |
111 | | - |
112 | | - <!-- Windows hosting bundle --> |
113 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" /> |
114 | | - </ItemGroup> |
115 | | - |
116 | | - <!-- In a vertical build, only build the MSIs for the current vertical in the first pass and build the hosting bundle in the second pass --> |
117 | | - <ItemGroup Condition="'$(DotNetBuild)' == 'true' and ('$(DotNetBuildPass)' == '' or '$(DotNetBuildPass)' == '1') and '$(_BuildWindowsInstallers)' == 'true'"> |
118 | | - <!-- Build the ANCM custom action --> |
119 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
120 | | - <!-- Build the ANCM msis --> |
121 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
122 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
123 | | - <!-- Build the targeting pack installers --> |
124 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
125 | | - <!-- Build the SharedFramework installers --> |
126 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
127 | | - <!-- Build the SharedFramework wixlib --> |
128 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
129 | | - </ItemGroup> |
130 | | - |
131 | | - <ItemGroup Condition="'$(DotNetBuild)' == 'true' and ('$(DotNetBuildPass)' == '2') and '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' and '$(TargetArchitecture)' == 'x64'"> |
132 | | - <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" /> |
133 | | - </ItemGroup> |
134 | | - |
135 | | - <ItemGroup Condition="'$(BuildInstallers)' == 'true' AND ('$(TargetRuntimeIdentifier)' == 'linux-x64' OR '$(TargetRuntimeIdentifier)' == 'linux-arm64')"> |
136 | | - <ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'deb' " |
137 | | - Include="$(RepoRoot)src\Installers\Debian\**\*.*proj" /> |
138 | | - <ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'rpm' " |
139 | | - Include="$(RepoRoot)src\Installers\Rpm\**\*.*proj" /> |
140 | | - </ItemGroup> |
141 | | - |
| 74 | + <!-- BuildNative --> |
142 | 75 | <ItemGroup Condition=" '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64' OR '$(TargetArchitecture)' == 'arm64') "> |
143 | 76 | <NativeProjects Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)" AdditionalProperties="Platform=x64" /> |
144 | 77 | <NativeProjects Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)" AdditionalProperties="Platform=Win32" /> |
145 | 78 | <NativeProjects Include="$(RepoRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)" AdditionalProperties="Platform=arm64" /> |
146 | 79 | </ItemGroup> |
147 | 80 |
|
148 | 81 | <ItemGroup> |
149 | | - <ProjectToBuild Condition=" $(BuildNative) " Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" /> |
| 82 | + <ProjectToBuild Condition=" $(BuildNative) " Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" BuildStep="1" /> |
150 | 83 | <ProjectToExclude Condition=" !$(BuildNative) " Include="@(NativeProjects)" /> |
| 84 | + </ItemGroup> |
151 | 85 |
|
| 86 | + <!-- BuildNode --> |
| 87 | + <ItemGroup> |
152 | 88 | <NodeJsProjects |
153 | 89 | Include="$(RepoRoot)eng\Npm.Workspace.nodeproj; |
154 | 90 | $(RepoRoot)eng\Npm.Workspace.FunctionalTests.nodeproj;" |
|
159 | 95 |
|
160 | 96 | <ExplicitRequiresDelay Include="$(RepoRoot)eng\Npm.Workspace.FunctionalTests.nodeproj" /> |
161 | 97 |
|
162 | | - <ProjectToBuild Condition=" '$(BuildNodeJS)' == 'true'" Include="@(NodeJsProjects)" Exclude="@(ProjectToExclude)" /> |
| 98 | + <ProjectToBuild Condition=" '$(BuildNodeJS)' == 'true'" Include="@(NodeJsProjects)" Exclude="@(ProjectToExclude)" BuildStep="2" /> |
163 | 99 | <ProjectToExclude Condition=" '$(BuildNodeJS)' != 'true'" Include="@(NodeJsProjects)" /> |
| 100 | + </ItemGroup> |
164 | 101 |
|
| 102 | + <!-- BuildJava --> |
| 103 | + <ItemGroup> |
165 | 104 | <JavaProjects Include="$(RepoRoot)src\SignalR\**\*.javaproj" |
166 | 105 | Exclude="@(ProjectToExclude)" /> |
167 | 106 |
|
168 | | - <ProjectToBuild Condition=" '$(BuildJava)' == 'true'" Include="@(JavaProjects)" Exclude="@(ProjectToExclude)" /> |
| 107 | + <ProjectToBuild Condition=" '$(BuildJava)' == 'true'" Include="@(JavaProjects)" Exclude="@(ProjectToExclude)" BuildStep="3" /> |
169 | 108 | <ProjectToExclude Condition=" '$(BuildJava)' != 'true'" Include="@(JavaProjects)" /> |
| 109 | + </ItemGroup> |
170 | 110 |
|
| 111 | + <!-- BuildManaged (runs in parallel with BuildJava) --> |
| 112 | + <ItemGroup> |
171 | 113 | <!-- |
172 | 114 | Use caution to avoid deep recursion. If the globbing pattern picks up something which exceeds MAX_PATH, |
173 | 115 | the entire pattern will silently fail to evaluate correctly. |
|
269 | 211 | $(RepoRoot)**\obj\**\*;" |
270 | 212 | Condition=" '$(BuildMainlyReferenceProviders)' == 'true' " /> |
271 | 213 |
|
272 | | - <ProjectToBuild Condition=" '$(BuildManaged)' == 'true'" Include="@(DotNetProjects)" Exclude="@(ProjectToExclude)" /> |
| 214 | + <ProjectToBuild Condition=" '$(BuildManaged)' == 'true'" Include="@(DotNetProjects)" Exclude="@(ProjectToExclude)" BuildStep="3" /> |
273 | 215 | <ProjectToExclude Condition=" '$(BuildManaged)' != 'true'" Include="@(DotNetProjects)" /> |
274 | 216 | </ItemGroup> |
| 217 | + |
| 218 | + <!-- BuildInstallers --> |
| 219 | + <PropertyGroup> |
| 220 | + <_BuildWindowsInstallers Condition="'$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64' OR '$(TargetArchitecture)' == 'arm64') ">true</_BuildWindowsInstallers> |
| 221 | + <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'x86' ">Win32</_WixTargetPlatform> |
| 222 | + <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'x64' ">x64</_WixTargetPlatform> |
| 223 | + <_WixTargetPlatform Condition="'$(TargetArchitecture)' == 'arm64' ">ARM64</_WixTargetPlatform> |
| 224 | + </PropertyGroup> |
| 225 | + <ItemGroup Condition="'$(DotNetBuild)' != 'true' and '$(_BuildWindowsInstallers)' == 'true' "> |
| 226 | + <!-- Build the ANCM custom action --> |
| 227 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" /> |
| 228 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=Win32" /> |
| 229 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=ARM64" /> |
| 230 | + |
| 231 | + <!-- Build the ANCM msis --> |
| 232 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x64" /> |
| 233 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x86" /> |
| 234 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=arm64" /> |
| 235 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x64" /> |
| 236 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x86" /> |
| 237 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=arm64" /> |
| 238 | + |
| 239 | + <!-- Build the targeting pack installers --> |
| 240 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x64" /> |
| 241 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x86" /> |
| 242 | + <!-- This really shouldn't be here, but instead of harvesting from the intermediate/output directories, the targeting pack installer logic |
| 243 | + harvests from a zip of the reference assemblies. Producing it in each leg ends up with multiple targeting packs |
| 244 | + getting produced and the BAR will reject the build. Centralize building the targeting pack in the x86/x64 leg. --> |
| 245 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=arm64" /> |
| 246 | + |
| 247 | + <!-- Build the SharedFramework installers --> |
| 248 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" /> |
| 249 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x86" /> |
| 250 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=arm64" /> |
| 251 | + |
| 252 | + <!-- Build the SharedFramework wixlib --> |
| 253 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x64" /> |
| 254 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x86" /> |
| 255 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=arm64" /> |
| 256 | + |
| 257 | + <!-- Windows hosting bundle --> |
| 258 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" /> |
| 259 | + </ItemGroup> |
| 260 | + |
| 261 | + <!-- In a vertical build, only build the MSIs for the current vertical in the first pass and build the hosting bundle in the second pass --> |
| 262 | + <ItemGroup Condition="'$(DotNetBuild)' == 'true' and ('$(DotNetBuildPass)' == '' or '$(DotNetBuildPass)' == '1') and '$(_BuildWindowsInstallers)' == 'true'"> |
| 263 | + <!-- Build the ANCM custom action --> |
| 264 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 265 | + <!-- Build the ANCM msis --> |
| 266 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 267 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 268 | + <!-- Build the targeting pack installers --> |
| 269 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 270 | + <!-- Build the SharedFramework installers --> |
| 271 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 272 | + <!-- Build the SharedFramework wixlib --> |
| 273 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=$(_WixTargetPlatform)" /> |
| 274 | + </ItemGroup> |
| 275 | + |
| 276 | + <ItemGroup Condition="'$(DotNetBuild)' == 'true' and ('$(DotNetBuildPass)' == '2') and and '$(TargetOsName)' == 'win' and '$(TargetArchitecture)' == 'x64'"> |
| 277 | + <InstallerProject Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" /> |
| 278 | + </ItemGroup> |
| 279 | + |
| 280 | + <ItemGroup Condition="'$(TargetRuntimeIdentifier)' == 'linux-x64' OR '$(TargetRuntimeIdentifier)' == 'linux-arm64'"> |
| 281 | + <InstallerProject Condition=" '$(LinuxInstallerType)' == 'deb' " |
| 282 | + Include="$(RepoRoot)src\Installers\Debian\**\*.*proj" /> |
| 283 | + <InstallerProject Condition=" '$(LinuxInstallerType)' == 'rpm' " |
| 284 | + Include="$(RepoRoot)src\Installers\Rpm\**\*.*proj" /> |
| 285 | + </ItemGroup> |
| 286 | + |
| 287 | + <ItemGroup> |
| 288 | + <ProjectToBuild Condition=" '$(BuildInstallers)' == 'true'" Include="@(InstallerProject)" Exclude="@(ProjectToExclude)" BuildStep="4" /> |
| 289 | + <ProjectToExclude Condition=" '$(BuildInstallers)' != 'true'" Include="@(InstallerProject)" /> |
| 290 | + </ItemGroup> |
275 | 291 | </Otherwise> |
276 | 292 | </Choose> |
277 | 293 |
|
|
0 commit comments