Make AndroidTypeMapImplementation public - #12407
Merged
jonathanpeppers merged 2 commits intoAug 18, 2026
Merged
Conversation
Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Make property that selects typemap public and documented
Make AndroidTypeMapImplementation public
Aug 17, 2026
jonathanpeppers
marked this pull request as ready for review
August 17, 2026 21:02
jonathanpeppers
approved these changes
Aug 17, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR makes the typemap selector a documented, public MSBuild property (AndroidTypeMapImplementation) instead of the private _AndroidTypeMapImplementation, updating defaults and all internal/test usage accordingly.
Changes:
- Renamed the typemap selector property across targets, tests, and CI templates, and updated build property caching/validation to use
AndroidTypeMapImplementation. - Preserved runtime-specific defaults (
llvm-irfor non-NativeAOT;trimmablefor NativeAOT). - Documented the new property and updated repository docs/examples to use it.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs | Updates device integration tests to set AndroidTypeMapImplementation. |
| tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj | Switches test project conditions to the new property name. |
| tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.targets | Updates jar selection and related conditions/comments to the new property name. |
| tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj | Updates conditional item groups to the new property name. |
| src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets | Updates caching, validation, and typemap target imports to use AndroidTypeMapImplementation. |
| src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/TrimmableTypeMapBuildTests.cs | Updates build tests to set AndroidTypeMapImplementation. |
| src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs | Updates packaging test to set AndroidTypeMapImplementation. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.Trimmable.targets | Updates trimmable typemap target conditions to the new property name. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.Trimmable.NativeAOT.targets | Updates NativeAOT trimmable typemap target conditions to the new property name. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.Trimmable.CoreCLR.targets | Updates CoreCLR trimmable typemap target conditions to the new property name. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets | Passes AndroidTypeMapImplementation into the LLVM-IR typemap task. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets | Sets the NativeAOT default for AndroidTypeMapImplementation to trimmable. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.DefaultProperties.targets | Sets the non-NativeAOT default for AndroidTypeMapImplementation to llvm-ir. |
| src/Microsoft.Android.Sdk.TrimmableTypeMap/README.md | Updates the README example to use AndroidTypeMapImplementation. |
| Documentation/docs-mobile/building-apps/build-properties.md | Adds documentation for AndroidTypeMapImplementation. |
| build-tools/automation/yaml-templates/stage-package-tests.yaml | Updates CI build args to use AndroidTypeMapImplementation. |
| .github/copilot-instructions.md | Updates contributor instructions/examples to use AndroidTypeMapImplementation. |
jonathanpeppers
enabled auto-merge (squash)
August 18, 2026 01:11
Member
|
@dalexsoto review |
dalexsoto
approved these changes
Aug 18, 2026
dalexsoto
left a comment
Member
There was a problem hiding this comment.
The public AndroidTypeMapImplementation surface, build-property documentation, consumers, and compatibility behavior are consistent with the accepted design.
jonathanpeppers
deleted the
copilot/dotnet-android-12405-document-typemap
branch
August 18, 2026 01:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The type map selector was exposed only as the private
_AndroidTypeMapImplementationproperty. This change publishes and documents it asAndroidTypeMapImplementation.MSBuild
llvm-iras the CoreCLR default andtrimmableas the NativeAOT default.Documentation