Part of #10958.
TrimmableTypeMapGenerator.GenerateTypeMapAssemblies(...) currently emits both per-assembly typemap DLLs and the root _Microsoft.Android.TypeMaps.dll in one monolithic pipeline. The proposed partial-build design calls for a separate entry-point/root typemap task. This issue tracks extracting that root generation as an independent build task without enabling full per-assembly partial builds yet.
Current locations
src/Microsoft.Android.Sdk.TrimmableTypeMap/TrimmableTypeMapGenerator.cs
GenerateTypeMapAssemblies(...) creates each _{Assembly}.TypeMap and then creates _Microsoft.Android.TypeMaps via RootTypeMapAssemblyGenerator.
src/Microsoft.Android.Sdk.TrimmableTypeMap/Generator/RootTypeMapAssemblyGenerator.cs
- Contains the root assembly emitter logic.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateTrimmableTypeMap.cs
- Writes all generated assemblies returned by the generator.
Suggested implementation
- Add a
GenerateEntryPointTypeMap build task that takes the per-assembly typemap assembly names/files and emits _Microsoft.Android.TypeMaps.dll.
- Keep existing behavior and shared-vs-per-assembly universe semantics.
- Initially wire it in a way that preserves current build behavior; the full Debug partial-build split can happen in a follow-up issue.
Acceptance criteria
- Root typemap assembly generation is available as a separate task/API surface.
- Existing trimmable typemap behavior remains unchanged.
- Tests cover root assembly generation through the new task path.
Part of #10958.
TrimmableTypeMapGenerator.GenerateTypeMapAssemblies(...)currently emits both per-assembly typemap DLLs and the root_Microsoft.Android.TypeMaps.dllin one monolithic pipeline. The proposed partial-build design calls for a separate entry-point/root typemap task. This issue tracks extracting that root generation as an independent build task without enabling full per-assembly partial builds yet.Current locations
src/Microsoft.Android.Sdk.TrimmableTypeMap/TrimmableTypeMapGenerator.csGenerateTypeMapAssemblies(...)creates each_{Assembly}.TypeMapand then creates_Microsoft.Android.TypeMapsviaRootTypeMapAssemblyGenerator.src/Microsoft.Android.Sdk.TrimmableTypeMap/Generator/RootTypeMapAssemblyGenerator.cssrc/Xamarin.Android.Build.Tasks/Tasks/GenerateTrimmableTypeMap.csSuggested implementation
GenerateEntryPointTypeMapbuild task that takes the per-assembly typemap assembly names/files and emits_Microsoft.Android.TypeMaps.dll.Acceptance criteria