-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[build] runtime "flavors" part 2 #9598
Conversation
0f0de53
to
3729f16
Compare
Just a nitpick, but should the runtime be "CoreCLR" instead of "NativeAOT"? |
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
c04fdde
Compare
This comment was marked as outdated.
This comment was marked as outdated.
The one test failure look ok to ignore:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks ok to me.
"Microsoft.Android.Runtime.NativeAOT.35.android-x64": { | ||
"kind": "framework", | ||
"version": "@WORKLOAD_VERSION@" | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
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.