Background
dotnet/runtime#107211 proposes moving ILLink custom steps out of the trimmer process to enable ILLink to be published trimmed and AOT compiled, transition from Mono.Cecil to System.Reflection.Metadata, and reduce the ILLink API surface.
This issue tracks the work in dotnet/android to migrate all custom steps registered via _TrimmerCustomSteps.
Before MarkStep
During MarkStep
Will become obsolete with the trimmable type map
These steps do not need to be migrated:
PreserveSubStepDispatcher / PreserveExportedTypes
MarkJavaObjects
PreserveJavaExceptions
PreserveApplications
PreserveRegistrations
PreserveJavaInterfaces
edit: this one probably needs to be supported even with trimmable type map:
After CleanStep
References
Background
dotnet/runtime#107211 proposes moving ILLink custom steps out of the trimmer process to enable ILLink to be published trimmed and AOT compiled, transition from Mono.Cecil to System.Reflection.Metadata, and reduce the ILLink API surface.
This issue tracks the work in dotnet/android to migrate all custom steps registered via
_TrimmerCustomSteps.Before MarkStep
SetupStep- eliminate (pass data via MSBuild properties) [illink] consolidate & remove hardcoded assembly names #9662FixLegacyResourceDesignerStepDuring MarkStep
Will become obsolete with the trimmable type map
These steps do not need to be migrated:
PreserveSubStepDispatcher/PreserveExportedTypesMarkJavaObjectsPreserveJavaExceptionsPreserveApplicationsPreserveRegistrationsPreserveJavaInterfacesedit: this one probably needs to be supported even with trimmable type map:
FixAbstractMethodsStep- Move FixAbstractMethodsStep out of ILLink process #11029After CleanStep
AddKeepAlivesStep- move toAssemblyModifierPipeline(MoveAddKeepAlivestrimmer step to post-trimming task #10952)StripEmbeddedLibraries(Move StripEmbeddedLibraries to MSBuild task #10894)RemoveResourceDesignerStep/GetAssembliesStep- (MoveRemoveResourceDesignertrimmer step to post-trim pipeline #10977)GenerateProguardConfiguration(Migrate GenerateProguardConfiguration from ILLink step to MSBuild task #10694)WarnOnPreserveAttribute(Migrate WarnOnPreserveAttribute from ILLink step to MSBuild task #10693)TypeMappingStep- will become obsolete with the trimmable type mapReferences
src/Microsoft.Android.Sdk.ILLink/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets