|
80 | 80 | <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.Mono.browser-wasm" /> |
81 | 81 | <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm" /> |
82 | 82 | <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.Mono.wasi-wasm" /> |
83 | | - <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-arm64" /> |
84 | | - <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-x64" /> |
85 | | - <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-x86" /> |
| 83 | + <!-- Windows runtime packages don't need MSI wrappers - they're included in the SDK, not installed as workloads --> |
| 84 | + <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-arm64" ExcludeAsMsi="true" /> |
| 85 | + <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-x64" ExcludeAsMsi="true" /> |
| 86 | + <RuntimeWorkloadPacksToDownload Include="Microsoft.NETCore.App.Runtime.win-x86" ExcludeAsMsi="true" /> |
86 | 87 |
|
87 | 88 | <EmsdkWorkloadPacksToDownload Include="Microsoft.NET.Runtime.Emscripten.$(EmscriptenVersionCurrent).Cache.win-x64" /> |
88 | 89 | <EmsdkWorkloadPacksToDownload Include="Microsoft.NET.Runtime.Emscripten.$(EmscriptenVersionCurrent).Cache.win-arm64" /> |
|
94 | 95 | <EmsdkWorkloadPacksToDownload Include="Microsoft.NET.Runtime.Emscripten.$(EmscriptenVersionCurrent).Sdk.win-arm64" /> |
95 | 96 | </ItemGroup> |
96 | 97 |
|
97 | | - <ItemGroup Condition="'$(BuildWorkloads)' == 'true'"> |
| 98 | + <ItemGroup> |
| 99 | + <!-- Dynamically discover manifest project files --> |
| 100 | + <_ManifestProjectFiles Include="../Manifests/**/*.proj" Exclude="../Manifests/**/*.Transport.*/*.proj" /> |
| 101 | + <!-- Extract package names from file paths (e.g., Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.proj -> Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest) --> |
| 102 | + <ManifestPackagesToDownload Include="@(_ManifestProjectFiles->'%(Filename)')" /> |
| 103 | + </ItemGroup> |
| 104 | + |
| 105 | + <ItemGroup Condition="'$(BuildWorkloads)' == 'true' and '$(DownloadWorkloadMsis)' != 'true'"> |
98 | 106 | <!-- we use MicrosoftNETCoreAppRuntimePackageVersion for both runtime and emsdk packages since they're aligned in VMR builds --> |
99 | 107 | <PackageDownload Include="@(RuntimeWorkloadPacksToDownload)" Version="[$(MicrosoftNETCoreAppRuntimePackageVersion)]" /> |
100 | 108 | <PackageDownload Include="@(EmsdkWorkloadPacksToDownload)" Version="[$(MicrosoftNETCoreAppRuntimePackageVersion)]" /> |
101 | 109 | </ItemGroup> |
102 | 110 |
|
103 | | - <Target Name="_CollectDownloadedWorkloadPacks"> |
| 111 | + <Target Name="_AddMsiPackageDownloads" |
| 112 | + BeforeTargets="CollectPackageDownloads" |
| 113 | + Condition="'$(BuildWorkloads)' == 'true' and '$(DownloadWorkloadMsis)' == 'true'"> |
| 114 | + <ItemGroup> |
| 115 | + <!-- MSI packages for RuntimeWorkloadPacksToDownload --> |
| 116 | + <!-- For RID-specific packages, add single MSI with matching architecture --> |
| 117 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x64" |
| 118 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 119 | + Condition="$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-x64')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 120 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x86" |
| 121 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 122 | + Condition="$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-x86')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 123 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.arm64" |
| 124 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 125 | + Condition="$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-arm64')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 126 | + |
| 127 | + <!-- For non-RID-specific packages, add MSI packages for all three architectures --> |
| 128 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x86" |
| 129 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 130 | + Condition="!$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 131 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.x64" |
| 132 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 133 | + Condition="!$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 134 | + <PackageDownload Include="%(RuntimeWorkloadPacksToDownload.Identity).Msi.arm64" |
| 135 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 136 | + Condition="!$([System.String]::Copy('%(RuntimeWorkloadPacksToDownload.Identity)').Contains('.win-')) and '%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 137 | + |
| 138 | + <!-- MSI packages for EmsdkWorkloadPacksToDownload --> |
| 139 | + <!-- For RID-specific packages, add single MSI with matching architecture --> |
| 140 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.x64" |
| 141 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 142 | + Condition="$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-x64'))" /> |
| 143 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.x86" |
| 144 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 145 | + Condition="$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-x86'))" /> |
| 146 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.arm64" |
| 147 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 148 | + Condition="$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-arm64'))" /> |
| 149 | + |
| 150 | + <!-- For non-RID-specific packages, add MSI packages for all three architectures --> |
| 151 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.x86" |
| 152 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 153 | + Condition="!$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-'))" /> |
| 154 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.x64" |
| 155 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 156 | + Condition="!$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-'))" /> |
| 157 | + <PackageDownload Include="%(EmsdkWorkloadPacksToDownload.Identity).Msi.arm64" |
| 158 | + Version="[$(DotNet1xxRuntimeVersion)]" |
| 159 | + Condition="!$([System.String]::Copy('%(EmsdkWorkloadPacksToDownload.Identity)').Contains('.win-'))" /> |
| 160 | + |
| 161 | + <!-- MSI packages for ManifestPackagesToDownload --> |
| 162 | + <!-- Manifest packages are not RID-specific, add MSI packages for all three architectures --> |
| 163 | + <PackageDownload Include="%(ManifestPackagesToDownload.Identity)-$(BuiltInWorkloadFeatureBand).Msi.x86" |
| 164 | + Version="[$(DotNet1xxWorkloadManifestVersion)]" /> |
| 165 | + <PackageDownload Include="%(ManifestPackagesToDownload.Identity)-$(BuiltInWorkloadFeatureBand).Msi.x64" |
| 166 | + Version="[$(DotNet1xxWorkloadManifestVersion)]" /> |
| 167 | + <PackageDownload Include="%(ManifestPackagesToDownload.Identity)-$(BuiltInWorkloadFeatureBand).Msi.arm64" |
| 168 | + Version="[$(DotNet1xxWorkloadManifestVersion)]" /> |
| 169 | + </ItemGroup> |
| 170 | + </Target> |
| 171 | + |
| 172 | + <Target Name="_CollectDownloadedWorkloadPacks" |
| 173 | + Condition="'$(BuildWorkloads)' == 'true' and '$(DownloadWorkloadMsis)' != 'true'"> |
104 | 174 | <ItemGroup> |
105 | 175 | <DownloadedWorkloadPacks Include="$(NuGetPackageRoot)\%(RuntimeWorkloadPacksToDownload.Identity)\$(MicrosoftNETCoreAppRuntimePackageVersion)\*.nupkg" /> |
106 | 176 | <DownloadedWorkloadPacks Include="$(NuGetPackageRoot)\%(EmsdkWorkloadPacksToDownload.Identity)\$(MicrosoftNETCoreAppRuntimePackageVersion)\*.nupkg" /> |
|
111 | 181 | UseHardlinksIfPossible="true" /> |
112 | 182 | </Target> |
113 | 183 |
|
114 | | - <Target Name="Build" DependsOnTargets="ResolveProjectReferences;GetAssemblyVersion;_GetVersionProps;_GenerateMsiVersionString;_CollectDownloadedWorkloadPacks" Condition="'$(BuildWorkloads)' == 'true'"> |
| 184 | + <Target Name="Build" |
| 185 | + DependsOnTargets=" |
| 186 | + ResolveProjectReferences; |
| 187 | + GetAssemblyVersion; |
| 188 | + _GetVersionProps; |
| 189 | + _GenerateMsiVersionString; |
| 190 | + _CollectDownloadedWorkloadPacks; |
| 191 | + _CollectDownloadedWorkloadMsis; |
| 192 | + BuildWorkloadMsis" |
| 193 | + Condition="'$(BuildWorkloads)' == 'true'"> |
| 194 | + </Target> |
| 195 | + |
| 196 | + <Target Name="_CollectDownloadedWorkloadMsis" |
| 197 | + Condition="'$(BuildWorkloads)' == 'true' and '$(DownloadWorkloadMsis)' == 'true'"> |
| 198 | + <ItemGroup> |
| 199 | + <DownloadedWorkloadMsis Include="$(NuGetPackageRoot)\%(RuntimeWorkloadPacksToDownload.Identity).Msi.*\$(DotNet1xxRuntimeVersion)\*.nupkg" |
| 200 | + Condition="'%(RuntimeWorkloadPacksToDownload.ExcludeAsMsi)' != 'true'" /> |
| 201 | + <DownloadedWorkloadMsis Include="$(NuGetPackageRoot)\%(EmsdkWorkloadPacksToDownload.Identity).Msi.*\$(DotNet1xxRuntimeVersion)\*.nupkg" /> |
| 202 | + <DownloadedWorkloadMsis Include="$(NuGetPackageRoot)\%(ManifestPackagesToDownload.Identity)-$(BuiltInWorkloadFeatureBand).Msi.*\$(DotNet1xxWorkloadManifestVersion)\*.nupkg" /> |
| 203 | + </ItemGroup> |
| 204 | + |
| 205 | + <!-- Copy to shipping packages directory so they appear as build outputs --> |
| 206 | + <Copy SourceFiles="@(DownloadedWorkloadMsis)" |
| 207 | + DestinationFolder="$(ArtifactsShippingPackagesDir)" |
| 208 | + UseHardlinksIfPossible="true" /> |
| 209 | + </Target> |
| 210 | + |
| 211 | + <Target Name="BuildWorkloadMsis" |
| 212 | + Condition="'$(BuildWorkloads)' == 'true' and '$(DownloadWorkloadMsis)' != 'true'"> |
115 | 213 | <ItemGroup> |
116 | 214 | <!-- Overrides for Visual Studio setup generation. If the workload definition IDs change, |
117 | 215 | these must be updated. --> |
|
0 commit comments