diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 68a296dc447a80..c41f2bbfbefd0c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,9 +90,9 @@ <Sha>89be445dd4936157533ad96bafb95f701430653a</Sha> <SourceBuild RepoName="cecil" ManagedOnly="true" /> </Dependency> - <Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport" Version="9.0.0-alpha.1.23465.3"> + <Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport" Version="9.0.0-alpha.1.23471.2"> <Uri>https://github.com/dotnet/emsdk</Uri> - <Sha>bebe955e9f7d392fbca594b1c76c54ba2e27027e</Sha> + <Sha>fc01829cbf76b7bbf48a39161562468715a0a3b4</Sha> <SourceBuild RepoName="emsdk" ManagedOnly="true" /> </Dependency> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.23468.3"> diff --git a/eng/Versions.props b/eng/Versions.props index f70c21cf3ca6c7..939f5639553e87 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -7,7 +7,7 @@ <MinorVersion>0</MinorVersion> <PatchVersion>0</PatchVersion> <SdkBandVersion>9.0.100</SdkBandVersion> - <PackageVersionNet8>8.0.0-rc.1.23414.4</PackageVersionNet8> + <PackageVersionNet8>8.0.0-rc.2.23469.22</PackageVersionNet8> <PackageVersionNet7>7.0.8</PackageVersionNet7> <PackageVersionNet6>6.0.$([MSBuild]::Add($([System.Version]::Parse('$(PackageVersionNet7)').Build),11))</PackageVersionNet6> <PreReleaseVersionLabel>alpha</PreReleaseVersionLabel> @@ -236,7 +236,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - <MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>9.0.0-alpha.1.23465.3</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion> + <MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>9.0.0-alpha.1.23471.2</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion> <MicrosoftNETRuntimeEmscriptenVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion)</MicrosoftNETRuntimeEmscriptenVersion> <!-- workloads --> <SwixPackageVersion>1.1.87-gba258badda</SwixPackageVersion> diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets index 8c4b3e46c9eac9..4f10b931f79757 100644 --- a/eng/testing/tests.browser.targets +++ b/eng/testing/tests.browser.targets @@ -264,6 +264,11 @@ Variant="latest" Version="$(PackageVersionForWorkloadManifests)" /> + <WorkloadIdForTesting Include="wasm-tools-net8;wasm-experimental-net8" + ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net8" + Variant="net8" + Version="$(PackageVersionForWorkloadManifests)" /> + <WorkloadIdForTesting Include="wasm-tools-net7;wasm-experimental-net7" ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net7" Variant="net7" @@ -277,7 +282,7 @@ IgnoreErrors="$(WasmIgnoreNet6WorkloadInstallErrors)" Condition="'$(WorkloadsTestPreviousVersions)' == 'true'" /> - <WorkloadCombinationsToInstall Include="latest" Variants="latest" /> + <WorkloadCombinationsToInstall Include="latest" Variants="latest;net8" /> <WorkloadCombinationsToInstall Include="net7" Variants="net7" Condition="'$(WorkloadsTestPreviousVersions)' == 'true'" /> <WorkloadCombinationsToInstall Include="net7+latest" Variants="net7;latest" Condition="'$(WorkloadsTestPreviousVersions)' == 'true'" /> <!--<WorkloadCombinationsToInstall Include="net6" Variants="net6" />--> diff --git a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props index 6c0c775c12b0aa..46d7b7e50b4a51 100644 --- a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props +++ b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props @@ -1,8 +1,8 @@ <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. --> <Project> <PropertyGroup> - <WasmNativeWorkload Condition="'$(WasmNativeWorkload)' == ''">net8.0</WasmNativeWorkload> - <WasmNativeWorkload8>true</WasmNativeWorkload8> + <WasmNativeWorkload Condition="'$(WasmNativeWorkload)' == ''">net9.0</WasmNativeWorkload> + <WasmNativeWorkload9>true</WasmNativeWorkload9> <!--<WasmNativeWorkloadAvailableList>$(WasmNativeWorkloadAvailableList)+net8.0+</WasmNativeWorkloadAvailableList>--> </PropertyGroup> </Project> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj index e327fcf2635a2a..41c41ea12cd6cf 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj @@ -44,9 +44,10 @@ <ItemGroup> <_WorkloadManifestValues Include="WorkloadVersion" Value="$(PackageVersion)" /> <_WorkloadManifestValues Include="PackageVersion" Value="$(PackageVersion)" /> + <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersionNet8)" Condition="'$(PackageVersionNet8)' != ''" /> + <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersion)" Condition="'$(PackageVersionNet8)' == ''" /> + <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersionNet7)" /> <_WorkloadManifestValues Include="PackageVersionNet6" Value="$(PackageVersionNet6)" /> - <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersionNet7)" Condition="'$(PackageVersionNet7)' != ''" /> - <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersion)" Condition="'$(PackageVersionNet7)' == ''" /> <_WorkloadManifestValues Include="NetCoreAppCurrent" Value="$(NetCoreAppCurrent)" /> <_WorkloadManifestValues Include="EmscriptenVersion" Value="$(MicrosoftNETRuntimeEmscriptenVersion)" /> </ItemGroup> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in index f6197d5e269b4b..6828a880c74206 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in @@ -1,10 +1,11 @@ <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. --> <Project> - <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'"> - <WasiNativeWorkloadAvailable Condition="'$(TargetsCurrent)' == 'true' and '$(WasiNativeWorkload)' == 'net8.0'">true</WasiNativeWorkloadAvailable> + <PropertyGroup> + <WasiNativeWorkloadAvailable Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0')) and '$(WasiNativeWorkload)' == 'net8.0'">true</WasiNativeWorkloadAvailable> + <TargetsCurrent Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">true</TargetsCurrent> </PropertyGroup> - <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'wasi-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> <UsingWasiRuntimeWorkload Condition="'$(UsingWasiRuntimeWorkload)' == ''">$(WasiNativeWorkloadAvailable)</UsingWasiRuntimeWorkload> </PropertyGroup> </Project> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in index 5af8dcbd94e17e..993a9733f362ec 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in @@ -18,7 +18,7 @@ "description": ".NET WebAssembly experimental tooling", "packs": [ "Microsoft.NET.Runtime.WebAssembly.Templates", - "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm", + "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm" ], "extends": [ "wasm-tools" ], "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ] diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in index 70658c5c21a1f7..953ca2b03351af 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in @@ -2,19 +2,22 @@ <Project> <PropertyGroup> <_RuntimePackInWorkloadVersionCurrent>${PackageVersion}</_RuntimePackInWorkloadVersionCurrent> + <_RuntimePackInWorkloadVersion8>${PackageVersionNet8}</_RuntimePackInWorkloadVersion8> <_RuntimePackInWorkloadVersion7>${PackageVersionNet7}</_RuntimePackInWorkloadVersion7> <_RuntimePackInWorkloadVersion6>${PackageVersionNet6}</_RuntimePackInWorkloadVersion6> + <TargetsNet9 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '9.0'))">true</TargetsNet9> <TargetsNet8 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '8.0'))">true</TargetsNet8> - <TargetsNet6 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">true</TargetsNet6> <TargetsNet7 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '7.0'))">true</TargetsNet7> - <TargetsCurrent Condition="'$(TargetsNet8)' == 'true'">true</TargetsCurrent> + <TargetsNet6 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">true</TargetsNet6> + + <TargetsCurrent Condition="'$(TargetsNet9)' == 'true'">true</TargetsCurrent> <!-- override WorkloadDetectionWhen net7 == net8 --> <WasmNativeWorkload7 Condition="'${PackageVersionNet7}' == '${PackageVersion}'">$(WasmNativeWorkload8)</WasmNativeWorkload7> </PropertyGroup> - <Import Project="$(MSBuildThisFileDirectory)WorkloadManifest.Wasi.targets" /> + <Import Project="$(MSBuildThisFileDirectory)WorkloadManifest.Wasi.targets" Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'" /> <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> <_BrowserWorkloadNotSupportedForTFM Condition="$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '6.0'))">true</_BrowserWorkloadNotSupportedForTFM> @@ -31,8 +34,9 @@ <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <SelfContained>true</SelfContained> - <WasmNativeWorkloadAvailable Condition="'$(TargetsNet7)' == 'true'">$(WasmNativeWorkload7)</WasmNativeWorkloadAvailable> + <WasmNativeWorkloadAvailable Condition="'$(TargetsNet9)' == 'true'">$(WasmNativeWorkload9)</WasmNativeWorkloadAvailable> <WasmNativeWorkloadAvailable Condition="'$(TargetsNet8)' == 'true'">$(WasmNativeWorkload8)</WasmNativeWorkloadAvailable> + <WasmNativeWorkloadAvailable Condition="'$(TargetsNet7)' == 'true'">$(WasmNativeWorkload7)</WasmNativeWorkloadAvailable> <WasmNativeWorkloadAvailable Condition="'$(TargetsNet6)' == 'true'">$(WasmNativeWorkload)</WasmNativeWorkloadAvailable> <WasmNativeWorkloadAvailable Condition="'$(WasmNativeWorkloadAvailable)' == '' or '$(WasmNativeWorkload)' == 'false'">false</WasmNativeWorkloadAvailable> <WasmNativeWorkload>$(WasmNativeWorkloadAvailable)</WasmNativeWorkload> @@ -141,14 +145,14 @@ <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" /> </ImportGroup> - <ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RuntimeIdentifier)' == 'wasi-wasm' and '$(UsingWasiRuntimeWorkload)' == 'true'"> + <ImportGroup Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0')) and '$(RuntimeIdentifier)' == 'wasi-wasm' and '$(UsingWasiRuntimeWorkload)' == 'true'"> <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" /> <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk" /> <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk" /> <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" /> </ImportGroup> - <PropertyGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(UsingMobileWorkload)' == 'true' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')"> + <PropertyGroup Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0')) and ('$(UsingMobileWorkload)' == 'true' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')"> <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile> <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersionCurrent)</_MonoWorkloadRuntimePackPackageVersion> <_KnownWebAssemblySdkPackVersion>$(_RuntimePackInWorkloadVersionCurrent)</_KnownWebAssemblySdkPackVersion> @@ -163,7 +167,16 @@ <SdkSupportedTargetPlatformVersion Include="1.0" /> </ItemGroup> - <ItemGroup Condition="'$(TargetsCurrent)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'"> + <!-- Support for "wasi" target platform identifier --> + <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'wasi' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))"> + <TargetPlatformSupported>true</TargetPlatformSupported> + <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">1.0</TargetPlatformVersion> + </PropertyGroup> + <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'wasi' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))"> + <SdkSupportedTargetPlatformVersion Include="1.0" /> + </ItemGroup> + + <ItemGroup Condition="(('$(RuntimeIdentifier)' == 'wasi-wasm' and '$(TargetsNet8)' == 'true') or '$(TargetsCurrent)' == 'true') and '$(_MonoWorkloadTargetsMobile)' == 'true'"> <KnownRuntimePack Update="@(KnownRuntimePack)"> <!-- FIXMEWASI: workaround for now --> <RuntimePackRuntimeIdentifiers Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers> @@ -212,6 +225,6 @@ Importance="High" /> </Target> - <Import Condition="'$(TargetsCurrent)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" + <Import Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0')) and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" Project="$(MSBuildThisFileDirectory)WorkloadTelemetry.targets" /> </Project> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj new file mode 100644 index 00000000000000..59f77406140cf1 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj @@ -0,0 +1,63 @@ +<Project DefaultTargets="Build"> + <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" /> + + <PropertyGroup> + <PackageDescription>Internal toolchain package not meant for direct consumption. Please do not reference directly.</PackageDescription> + </PropertyGroup> + + <Target Name="_PrepareForPack" BeforeTargets="GetPackageFiles" Returns="@(PackageFile)"> + <Error Condition="'$(SdkBandVersionForWorkload_FromRuntimeVersions)' == ''" + Text="%24(SdkBandVersionForWorkload_FromRuntimeVersions) is not set" /> + + <!-- Override the id to include the sdk band as per the workload installer spec --> + <PropertyGroup> + <Id>Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-$(SdkBandVersionForWorkload_FromRuntimeVersions)</Id> + </PropertyGroup> + + <PropertyGroup> + <WorkloadManifestPath>$(IntermediateOutputPath)WorkloadManifest.json</WorkloadManifestPath> + <WorkloadManifestTargetsPath>$(IntermediateOutputPath)WorkloadManifest.targets</WorkloadManifestTargetsPath> + </PropertyGroup> + + <ItemGroup> + <PackageFile Include="$(WorkloadManifestPath)" TargetPath="data" /> + <PackageFile Include="$(WorkloadManifestTargetsPath)" TargetPath="data" /> + </ItemGroup> + + <ItemGroup> + <File Include="localize/**/*"> + <TargetPath>data/localize</TargetPath> + </File> + </ItemGroup> + </Target> + + <!-- Running this target ensures we have the fully evaluated PackageVersion --> + <Target Name="_WriteManifestValues" AfterTargets="CalculatePackageVersion"> + <PropertyGroup> + <PackagePathVersion>PackageVersion=$(PackageVersion);</PackagePathVersion> + </PropertyGroup> + + <ItemGroup> + <_WorkloadManifestValues Include="WorkloadVersion" Value="$(PackageVersion)" /> + <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersionNet8)" Condition="'$(PackageVersionNet8)' != ''" /> + <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersion)" Condition="'$(PackageVersionNet8)' == ''" /> + <_WorkloadManifestValues Include="EmscriptenVersion" Value="$(MicrosoftNETRuntimeEmscriptenVersion)" /> + <_WorkloadManifestValues Include="NetCoreAppCurrent" Value="$(NetCoreAppCurrent)" /> + </ItemGroup> + + <Error Condition="'%(_WorkloadManifestValues.Value)' == ''" + Text="No version specified for template variable '%(_WorkloadManifestValues.Identity)'" /> + + <GenerateFileFromTemplate + TemplateFile="WorkloadManifest.json.in" + Properties="@(_WorkloadManifestValues)" + OutputPath="$(WorkloadManifestPath)" /> + + <GenerateFileFromTemplate + TemplateFile="WorkloadManifest.targets.in" + Properties="@(_WorkloadManifestValues)" + OutputPath="$(WorkloadManifestTargetsPath)" /> + </Target> + + <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" /> +</Project> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in new file mode 100644 index 00000000000000..a52b903984804f --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in @@ -0,0 +1,494 @@ +{ + "version": "${WorkloadVersion}", + "depends-on": { + "Microsoft.NET.Workload.Emscripten.net8": "${EmscriptenVersion}" + }, + "workloads": { + "wasm-tools-net8": { + "description": ".NET WebAssembly build tools for net8.0", + "packs": [ + "Microsoft.NET.Runtime.WebAssembly.Sdk.net8", + "Microsoft.NETCore.App.Runtime.Mono.net8.browser-wasm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8", "microsoft-net-sdk-emscripten-net8" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "wasm-experimental-net8": { + "description": ".NET WebAssembly experimental tooling for net8.0", + "packs": [ + "Microsoft.NET.Runtime.WebAssembly.Templates.net8", + "Microsoft.NETCore.App.Runtime.Mono.multithread.net8.browser-wasm" + ], + "extends": [ "wasm-tools-net8" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "wasi-experimental-net8": { + "description": ".NET WASI experimental", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm", + ], + "extends": [ "wasi-experimental", "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-android-net8": { + "abstract": true, + "description": "Android Mono Runtime", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm", + "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.android-x64", + "Microsoft.NETCore.App.Runtime.Mono.net8.android-x86" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-android-aot-net8": { + "abstract": true, + "description": "Android Mono AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64" + ], + "extends": [ "microsoft-net-runtime-android-net8" ], + "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ] + }, + "microsoft-net-runtime-ios-net8": { + "abstract": true, + "description": "iOS Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x86" + ], + "extends": [ "runtimes-ios-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-ios-net8": { + "abstract": true, + "description": "iOS Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm", + "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64", + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x86" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-maccatalyst-net8": { + "abstract": true, + "description": "MacCatalyst Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64" + ], + "extends": [ "runtimes-maccatalyst-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-maccatalyst-net8": { + "abstract": true, + "description": "MacCatalyst Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-macos-net8": { + "abstract": true, + "description": "MacOS CoreCLR and Mono Runtime Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.osx-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.osx-x64", + "Microsoft.NETCore.App.Runtime.osx-arm64", + "Microsoft.NETCore.App.Runtime.osx-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "osx-arm64", "osx-x64" ] + }, + "microsoft-net-runtime-tvos-net8": { + "abstract": true, + "description": "tvOS Mono Runtime and AOT Workload", + "packs": [ + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64", + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64" + ], + "extends": [ "runtimes-tvos-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-tvos-net8": { + "abstract": true, + "description": "tvOS Mono Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.Mono.net8.tvos-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-arm64", + "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-x64" + ], + "extends": [ "microsoft-net-runtime-mono-tooling-net8" ], + "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ] + }, + "runtimes-windows-net8": { + "abstract": true, + "description": "Windows Runtime Packs for net8.0", + "packs": [ + "Microsoft.NETCore.App.Runtime.net8.win-x64", + "Microsoft.NETCore.App.Runtime.net8.win-x86", + "Microsoft.NETCore.App.Runtime.net8.win-arm", + "Microsoft.NETCore.App.Runtime.net8.win-arm64" + ] + }, + "microsoft-net-runtime-mono-tooling-net8": { + "abstract": true, + "description": "Shared native build tooling for Mono runtime", + "packs": [ + "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8", + "Microsoft.NET.Runtime.MonoTargets.Sdk.net8" + ] + } + }, + "packs": { + "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task" + } + }, + "Microsoft.NET.Runtime.MonoTargets.Sdk.net8": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NET.Runtime.MonoTargets.Sdk" + } + }, + "Microsoft.NET.Runtime.WebAssembly.Sdk.net8": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NET.Runtime.WebAssembly.Sdk" + } + }, + "Microsoft.NET.Runtime.WebAssembly.Templates.net8": { + "kind": "template", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NET.Runtime.WebAssembly.Templates" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.android-x64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.android-x86": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.android-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-arm64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-x64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.osx-arm64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.osx-x64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64" + } + }, + "Microsoft.NETCore.App.Runtime.net8.osx-arm64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.net8.osx-x64": { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.osx-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x86" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.tvos-arm64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-arm64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-x64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x86": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86" + } + }, + "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm": { + "kind": "Sdk", + "version": "${PackageVersionNet8}", + "alias-to": { + "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", + "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm", + "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm", + "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm", + "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.browser-wasm" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.multithread.net8.browser-wasm" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm" + } + }, + "Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm" : { + "kind": "framework", + "version": "${PackageVersionNet8}" + }, + "Microsoft.NETCore.App.Runtime.net8.win-x64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-x64" + } + }, + "Microsoft.NETCore.App.Runtime.net8.win-x86" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-x86" + } + }, + "Microsoft.NETCore.App.Runtime.net8.win-arm" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-arm" + } + }, + "Microsoft.NETCore.App.Runtime.net8.win-arm64" : { + "kind": "framework", + "version": "${PackageVersionNet8}", + "alias-to": { + "any": "Microsoft.NETCore.App.Runtime.win-arm64" + } + } + } +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in new file mode 100644 index 00000000000000..096fdf71743fc3 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in @@ -0,0 +1,74 @@ +<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. --> +<Project> + <Import Condition="'$(TargetsNet8)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8" /> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'"> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64" /> + </ImportGroup> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))"> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x86" /> + </ImportGroup> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))"> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64" /> + </ImportGroup> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))"> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64" /> + </ImportGroup> + + <ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'"> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + <Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" /> + <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm" /> + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" /> + </ImportGroup> + + <PropertyGroup Condition="'$(TargetsNet8)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')"> + <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile> + <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion8)</_MonoWorkloadRuntimePackPackageVersion> + </PropertyGroup> + + <ItemGroup Condition="'$(TargetsNet8)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'"> + <KnownRuntimePack Update="@(KnownRuntimePack)"> + <!-- FIXMEWASI: workaround for now --> + <RuntimePackRuntimeIdentifiers Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers> + <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net8.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion> + <!-- Overrides for wasm threads support --> + <RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnablethreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns> + </KnownRuntimePack> + </ItemGroup> +</Project> diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json new file mode 100644 index 00000000000000..c79d39ad7f74a1 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net7/description": "Nástroje pro sestavení .NET WebAssembly" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json new file mode 100644 index 00000000000000..deac970f9cf458 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly-Buildtools" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json new file mode 100644 index 00000000000000..78a5129362796d --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json @@ -0,0 +1,5 @@ +{ + "workloads/wasm-tools-net8/description": ".NET WebAssembly build tools for net8.0", + "workloads/wasm-experimental-net8/description": ".NET WebAssembly experimental tooling for net8.0", + "workloads/runtimes-windows-net8/description": "Windows Runtime Packs for net8.0" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json new file mode 100644 index 00000000000000..06b3489658c9d1 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Herramientas de compilación de WebAssembly de .NET 8.0" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json new file mode 100644 index 00000000000000..87fe76f3549521 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Outils de construction .NET 8.0 WebAssembly" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json new file mode 100644 index 00000000000000..d4c591ea616d14 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Strumenti di compilazione WebAssembly .NET 8.0" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json new file mode 100644 index 00000000000000..c57f53c27ccecc --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET WebAssembly ビルド ツール" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json new file mode 100644 index 00000000000000..fc62bb1de6da73 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 빌드 도구" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json new file mode 100644 index 00000000000000..0ec404a2bea3e4 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET 8.0" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json new file mode 100644 index 00000000000000..82031365ecb7ca --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Ferramentas de build do .NET 8.0 WebAssembly" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json new file mode 100644 index 00000000000000..d797f5dcc3f20c --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": "Средства сборки WebAssembly .NET 8.0" +} \ No newline at end of file diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json new file mode 100644 index 00000000000000..e20300297e258a --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET 8.0 derleme araçları" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json new file mode 100644 index 00000000000000..351d7a5aeed3cb --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 生成工具" +} diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json new file mode 100644 index 00000000000000..10cf7b47769291 --- /dev/null +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json @@ -0,0 +1,3 @@ +{ + "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 組建工具" +} diff --git a/src/mono/nuget/manifest-packages.proj b/src/mono/nuget/manifest-packages.proj index 271409ec507a0f..e7cd9607a4a02b 100644 --- a/src/mono/nuget/manifest-packages.proj +++ b/src/mono/nuget/manifest-packages.proj @@ -3,5 +3,6 @@ <ProjectReference Include="Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest\Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj" /> <ProjectReference Include="Microsoft.NET.Workload.Mono.Toolchain.net6.Manifest\Microsoft.NET.Workload.Mono.Toolchain.net6.Manifest.pkgproj" /> <ProjectReference Include="Microsoft.NET.Workload.Mono.Toolchain.net7.Manifest\Microsoft.NET.Workload.Mono.Toolchain.net7.Manifest.pkgproj" /> + <ProjectReference Include="Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest\Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj" /> </ItemGroup> </Project> diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile index 6af5ba3a597fc8..5d6f4e53085877 100644 --- a/src/mono/wasm/Makefile +++ b/src/mono/wasm/Makefile @@ -88,7 +88,7 @@ build-tasks: $(DOTNET) build $(TOP)/src/tasks/tasks.proj /p:Configuration=$(CONFIG) $(MSBUILD_ARGS) build-packages: - rm $(TOP)/artifacts/packages/$(CONFIG)/Shipping/*.nupkg + rm -f $(TOP)/artifacts/packages/$(CONFIG)/Shipping/*.nupkg EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.packages+mono.manifests+packs.product -os browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS) clean: diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs index 08488d487a6151..4462452486768f 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs @@ -185,19 +185,19 @@ public void ConsoleBuildThenPublish(string config) [InlineData("Release", false)] [InlineData("Release", true)] public void ConsoleBuildAndRunDefault(string config, bool relinking) - => ConsoleBuildAndRun(config, relinking, string.Empty, DefaultTargetFramework); + => ConsoleBuildAndRun(config, relinking, string.Empty, DefaultTargetFramework, addFrameworkArg: true); [Theory] // [ActiveIssue("https://github.com/dotnet/runtime/issues/79313")] // [InlineData("Debug", "-f net7.0", "net7.0")] [InlineData("Debug", "-f net8.0", "net8.0")] public void ConsoleBuildAndRunForSpecificTFM(string config, string extraNewArgs, string expectedTFM) - => ConsoleBuildAndRun(config, false, extraNewArgs, expectedTFM); + => ConsoleBuildAndRun(config, false, extraNewArgs, expectedTFM, addFrameworkArg: extraNewArgs?.Length == 0); - private void ConsoleBuildAndRun(string config, bool relinking, string extraNewArgs, string expectedTFM) + private void ConsoleBuildAndRun(string config, bool relinking, string extraNewArgs, string expectedTFM, bool addFrameworkArg) { string id = $"{config}_{GetRandomId()}"; - string projectFile = CreateWasmTemplateProject(id, "wasmconsole", extraNewArgs); + string projectFile = CreateWasmTemplateProject(id, "wasmconsole", extraNewArgs, addFrameworkArg: addFrameworkArg); string projectName = Path.GetFileNameWithoutExtension(projectFile); UpdateProgramCS(); @@ -418,7 +418,7 @@ public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework { string config = "Debug"; string id = $"browser_{config}_{GetRandomId()}"; - CreateWasmTemplateProject(id, "wasmbrowser", extraNewArgs); + CreateWasmTemplateProject(id, "wasmbrowser", extraNewArgs, addFrameworkArg: extraNewArgs.Length == 0); UpdateBrowserMainJs(targetFramework, runtimeAssetsRelativePath); diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs index d23166ff5545e2..c7392f3dbece93 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs @@ -21,7 +21,7 @@ protected WasmTemplateTestBase(ITestOutputHelper output, SharedBuildPerTestClass _provider.BundleDirName = "AppBundle"; } - public string CreateWasmTemplateProject(string id, string template = "wasmbrowser", string extraArgs = "", bool runAnalyzers = true) + public string CreateWasmTemplateProject(string id, string template = "wasmbrowser", string extraArgs = "", bool runAnalyzers = true, bool addFrameworkArg = true) { InitPaths(id); InitProjectDir(_projectDir, addNuGetSourceForLocalPackages: true); @@ -39,6 +39,8 @@ public string CreateWasmTemplateProject(string id, string template = "wasmbrowse """); File.Copy(BuildEnvironment.WasmOverridePacksTargetsPath, Path.Combine(_projectDir, Path.GetFileName(BuildEnvironment.WasmOverridePacksTargetsPath)), overwrite: true); + if (addFrameworkArg) + extraArgs += $" -f {DefaultTargetFramework}"; new DotNetCommand(s_buildEnv, _testOutput, useDefaultArgs: false) .WithWorkingDirectory(_projectDir!) .ExecuteWithCapturedOutput($"new {template} {extraArgs}") diff --git a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs index fa36165bab3bc0..009da0c7bb1aee 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs @@ -5,6 +5,7 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; +using System.Text.RegularExpressions; using System.Xml; using System.Xml.Serialization; using Xunit; @@ -58,13 +59,20 @@ public void FilesInUnixFilesPermissionsXmlExist() // have the unixFilePermissions for that // Expect just the emscripten ones here for now - // linux doesn't have Emscripten.Python package, so only 2 there int expectedPermFileCount = RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? 4 : 5; - int permFileCount = unixPermFiles.Count(); - if (permFileCount != expectedPermFileCount) - throw new XunitException($"Expected to find {expectedPermFileCount} UnixFilePermissions.xml files, but got {permFileCount}." - + $"{Environment.NewLine}Files: {string.Join(", ", unixPermFiles)}"); + // extract pack names from ./artifacts/bin/dotnet-latest/packs/Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-x64/8.0.0-rtm.23470.1/data/UnixFilePermissions.xml + var packNames = unixPermFiles.Select(f => Path.GetFileName(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(f))))).ToArray(); + + Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Cache\\.")); + Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Node\\.")); + Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Sdk\\.")); + + // linux doesn't have Emscripten.Python package, so only 2 there + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Python\\.")); + + Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft.NETCore.App.Runtime.AOT\\..*\\.Cross.browser-wasm")); } } diff --git a/src/mono/wasm/templates/templates/browser/.template.config/template.json b/src/mono/wasm/templates/templates/browser/.template.config/template.json index 3cb0a19dc265b2..9d3e32811b8fa9 100644 --- a/src/mono/wasm/templates/templates/browser/.template.config/template.json +++ b/src/mono/wasm/templates/templates/browser/.template.config/template.json @@ -4,8 +4,8 @@ "classifications": [ "Web", "WebAssembly", "Browser" ], "generatorVersions": "[1.0.0.0-*)", "groupIdentity": "WebAssembly.Browser", - "precedence": 8000, - "identity": "WebAssembly.Browser.8.0", + "precedence": 9000, + "identity": "WebAssembly.Browser.9.0", "name": "WebAssembly Browser App", "description": "A project template for creating a .NET app that runs on WebAssembly in a browser", "shortName": "wasmbrowser", @@ -40,12 +40,12 @@ "datatype": "choice", "choices": [ { - "choice": "net8.0", - "description": "Target net8.0", - "displayName": ".NET 8.0" + "choice": "net9.0", + "description": "Target net9.0", + "displayName": ".NET 9.0" } ], - "defaultValue": "net8.0", + "defaultValue": "net9.0", "replaces": "net7.0", "displayName": "framework" } diff --git a/src/mono/wasm/templates/templates/console/.template.config/template.json b/src/mono/wasm/templates/templates/console/.template.config/template.json index 559902639dec4d..a3dd13fc2d10c0 100644 --- a/src/mono/wasm/templates/templates/console/.template.config/template.json +++ b/src/mono/wasm/templates/templates/console/.template.config/template.json @@ -3,8 +3,8 @@ "author": "Microsoft", "classifications": [ "Web", "WebAssembly", "Console" ], "groupIdentity": "WebAssembly.Console", - "precedence": 8000, - "identity": "WebAssembly.Console.8.0", + "precedence": 9000, + "identity": "WebAssembly.Console.9.0", "name": "WebAssembly Console App", "description": "A project template for creating a .NET app that runs on WebAssembly on Node JS or V8", "shortName": "wasmconsole", @@ -21,12 +21,12 @@ "datatype": "choice", "choices": [ { - "choice": "net8.0", - "description": "Target net8.0", - "displayName": ".NET 8.0" + "choice": "net9.0", + "description": "Target net9.0", + "displayName": ".NET 9.0" } ], - "defaultValue": "net8.0", + "defaultValue": "net9.0", "replaces": "net7.0", "displayName": "framework" }