Uh oh!
There was an error while loading. Please reload this page.
[build] runtime "flavors" part 2 - #9598
Conversation
0f0de53 to
3729f16Comparejpobst
commented
Dec 6, 2024
Just a nitpick, but should the runtime be "CoreCLR" instead of "NativeAOT"? |
jonathanpeppers
commented
Dec 6, 2024
Not adding CoreCLR yet, I have NativeAOT's build working (apps don't run) within our targets here: There are a few hacks, mostly related to forcing the We might be able to merge it next week and then think about getting "hello world" to actually run on NativeAOT. |
This comment was marked as outdated.
This comment was marked as outdated.
Context: #9538 Context: #9583 Expanding upon #9538, there are more changes required to support multiple runtime flavors in our build. * Remove `$(MicrosoftAndroidArmPackDir)` and related properties, to rely on a new `@(AndroidAbiAndRuntimeFlavor)` item group instead. * Exclude our Mono-related native libraries from NativeAOT runtime packs. * Ensure that our runtime packs copy assemblies (`Mono.Android.dll`, etc.) to the appropriate NativeAOT-related directories. * List our `Microsoft.Android.Runtime.NativeAOT.*` packs in the `WorkloadManifest.json`, so that `**FromWorkload**` can resolve the version number for them. They can still restore via NuGet.
3729f16 to
c04fddeCompare
This comment was marked as outdated.
This comment was marked as outdated.
jonathanpeppers
commented
Dec 9, 2024
The one test failure look ok to ignore: |
| "Microsoft.Android.Runtime.NativeAOT.35.android-x64": { | ||
| "kind": "framework", | ||
| "version": "@WORKLOAD_VERSION@" | ||
| }, |
There was a problem hiding this comment.
As we continue to expand this list, we probably will want to revisit dotnet/sdk#24077 / dotnet/sdk#24873. For .NET 10, we're very much going to want to come up with a way to cut down on the (now 8, ~soon to be 12?) duplicate versions of Mono.Android.dll (~35 MB each) and friends that we will be shipping.
pjcollins
left a comment
There was a problem hiding this comment.
Looks good, but we should add a new issue or comment to the relevant backlog for this work to revisit generation of a "rid-less" runtime pack.
jonathanpeppers
commented
Dec 9, 2024
I filed this for the future: |
* main: (25 commits) [CI] Break "Linux Tests" into 2 parallel jobs. (#9642) Fix `WorkloadDependencies.proj` build. (#9648) [CI] Set "WearOS Tests" parallelization to 2 agents. (#9639) [CI] Break "Package Tests" into 2 parallel jobs. (#9638) Bump to DevDiv/android-platform-support@3b4e16f1 (#9632) [NativeAOT] improve build logic, part 2 (#9631) Bump to dotnet/java-interop@2c06b3c2 (#9633) [NativeAOT] improve build logic, part 1 (#9614) [build] Generate `WorkloadDependencies.json` (#9613) [monodroid] remove `monodroid_get_log_categories()` (#9625) [monodroid] remove `_monodroid_get_identity_hash_code` (#9622) Bump to dotnet/java-interop@f800ea52 (#9607) [XABT] Break BuildApk into individual tasks for each content type. (#9612) [Mono.Android] Bind Android API-Baklava DP1 (#9594) [Xamarin.Android.Build.Tasks] Extract `BuildArchive` from `BuildApk` (#9556) [NativeAOT] MSBuild-related logic to get projects to build (#9583) [build] remove remnants of `OpenTK-1.0.dll` (#9610) [build] remove `Xamarin.Android.CSharp.targets` (#9609) [build] runtime "flavors" part 2 (#9598) Bump com.android.tools.build:manifest-merger to 31.7.3 (#9600) ...
* dev/grendel/use-libc++: (25 commits) [CI] Break "Linux Tests" into 2 parallel jobs. (#9642) Fix `WorkloadDependencies.proj` build. (#9648) [CI] Set "WearOS Tests" parallelization to 2 agents. (#9639) [CI] Break "Package Tests" into 2 parallel jobs. (#9638) Bump to DevDiv/android-platform-support@3b4e16f1 (#9632) [NativeAOT] improve build logic, part 2 (#9631) Bump to dotnet/java-interop@2c06b3c2 (#9633) [NativeAOT] improve build logic, part 1 (#9614) [build] Generate `WorkloadDependencies.json` (#9613) [monodroid] remove `monodroid_get_log_categories()` (#9625) [monodroid] remove `_monodroid_get_identity_hash_code` (#9622) Bump to dotnet/java-interop@f800ea52 (#9607) [XABT] Break BuildApk into individual tasks for each content type. (#9612) [Mono.Android] Bind Android API-Baklava DP1 (#9594) [Xamarin.Android.Build.Tasks] Extract `BuildArchive` from `BuildApk` (#9556) [NativeAOT] MSBuild-related logic to get projects to build (#9583) [build] remove remnants of `OpenTK-1.0.dll` (#9610) [build] remove `Xamarin.Android.CSharp.targets` (#9609) [build] runtime "flavors" part 2 (#9598) Bump com.android.tools.build:manifest-merger to 31.7.3 (#9600) ...
Context: #9538
Context: #9583
Expanding upon #9538, there are more changes required to support multiple runtime flavors in our build.
Remove
$(MicrosoftAndroidArmPackDir)and related properties, to rely on a new@(AndroidAbiAndRuntimeFlavor)item group instead.Exclude our Mono-related native libraries from NativeAOT runtime packs.
Ensure that our runtime packs copy assemblies (
Mono.Android.dll, etc.) to the appropriate NativeAOT-related directories.List our
Microsoft.Android.Runtime.NativeAOT.*packs in theWorkloadManifest.json, so that**FromWorkload**can resolve the version number for them. They can still restore via NuGet.