Skip to content

Remove unused Android ILLink project - #13107

Merged
simonrozsival merged 2 commits into
mainfrom
simonrozsival-illink-usage
Oct 13, 2026
Merged

simonrozsival merged 2 commits into
mainfrom
simonrozsival-illink-usage

Conversation

@simonrozsival

@simonrozsival simonrozsival commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Remove the unused Microsoft.Android.Sdk.ILLink project and its solution, localization, and SDK-pack integration.
  • Keep the preserve-list XML files packaged by moving them under the existing SDK PreserveLists directory.
  • Remove the unreferenced AndroidLinkConfiguration type and its project compile include.

Related issues

Validation

  • Passed: ./dotnet-local.sh build Microsoft.Android.slnx -c Debug (91 warnings, 0 errors).
  • Passed: ./dotnet-local.sh test bin/TestDebug/net10.0/Xamarin.Android.Build.Tests.dll --filter 'FullyQualifiedName~LinkAssembliesNoShrinkLegacyCompatibilityFixups|FullyQualifiedName~FixAbstractMethodsStep_SkipDimMembers|FullyQualifiedName~FixAbstractMethodsStep_Explicit' (4 passed).
  • Blocked: make prepare && make all failed generating the framework list because bin/Debug/lib/xamarin.android/xbuild-frameworks/Microsoft.Android/37.1/ref/Mono.Android.dll was missing.
  • Integration tests are not green locally: Android app build tests report missing android and wasm-tools-net11 workloads; the preserve-list packaging check could not pass because the SDK pack was not generated.

Drop its solution and pack integration, retain preserve descriptors under the SDK project, and remove the unused AndroidLinkConfiguration type.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 13, 2026 08:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The existing SDK packaging test must cover all five relocated preserve-list files.

0 open findings

What changed in this PR

Removes the unused ILLink project while retaining its linker-preservation descriptors in the Android SDK pack.

Changes:

  • Deletes the obsolete ILLink project, implementation, and resources.
  • Moves five preserve lists into the existing SDK directory.
  • Removes solution, localization, compilation, and packaging references.
File Description
Microsoft.Android.slnx Removes the ILLink project.
Localize/​LocProject.json Removes localization registration.
build-tools/​create-packs/​Microsoft.Android.Sdk.proj Removes ILLink assembly packaging and consolidates preserve-list packaging.
src/​Xamarin.Android.Build.Tasks/​Xamarin.Android.Build.Tasks.csproj Removes the dead configuration source.
src/​Xamarin.Android.Build.Tasks/​Linker/​MonoDroid.Tuner/​AndroidLinkConfiguration.cs Deletes the unused type.
src/​Xamarin.Android.Build.Tasks/​Microsoft.Android.Sdk/​PreserveLists/​Java.Interop.xml Relocates Java.Interop preservation rules.
src/​Xamarin.Android.Build.Tasks/​Microsoft.Android.Sdk/​PreserveLists/​Mono.Android.Runtime.xml Relocates runtime preservation rules.
src/​Xamarin.Android.Build.Tasks/​Microsoft.Android.Sdk/​PreserveLists/​Mono.Android.xml Relocates Mono.Android preservation rules.
src/​Xamarin.Android.Build.Tasks/​Microsoft.Android.Sdk/​PreserveLists/​System.Runtime.InteropServices.xml Relocates interop preservation rules.
src/​Xamarin.Android.Build.Tasks/​Microsoft.Android.Sdk/​PreserveLists/​System.Runtime.xml Relocates runtime type-forward preservation rules.
src/​Microsoft.Android.Sdk.ILLink/​README.md Removes obsolete project documentation.
src/​Microsoft.Android.Sdk.ILLink/​Properties/​Resources.resx Removes unused resources.
src/​Microsoft.Android.Sdk.ILLink/​Properties/​Resources.Designer.cs Removes generated resource accessors.
src/​Microsoft.Android.Sdk.ILLink/​PreserveSubStepDispatcher.cs Removes the obsolete dispatcher.
src/​Microsoft.Android.Sdk.ILLink/​PreserveRegistrations.cs Removes unused linker logic.
src/​Microsoft.Android.Sdk.ILLink/​PreserveJavaInterfaces.cs Removes unused linker logic.
src/​Microsoft.Android.Sdk.ILLink/​PreserveJavaExceptions.cs Removes unused linker logic.
src/​Microsoft.Android.Sdk.ILLink/​PreserveExportedTypes.cs Removes unused linker logic.
src/​Microsoft.Android.Sdk.ILLink/​PreserveApplications.cs Removes unused linker logic.
src/​Microsoft.Android.Sdk.ILLink/​Microsoft.Android.Sdk.ILLink.csproj Deletes the project definition.
src/​Microsoft.Android.Sdk.ILLink/​MarkJavaObjects.cs Removes unused Java-object marking logic.
src/​Microsoft.Android.Sdk.ILLink/​Extensions.cs Removes unused linker extensions.
Files not reviewed (1)
  • src/Microsoft.Android.Sdk.ILLink/Properties/Resources.Designer.cs: Generated file

🧠 Review effort: Balanced

@simonrozsival simonrozsival added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Oct 13, 2026
@simonrozsival
simonrozsival enabled auto-merge (squash) October 13, 2026 14:12
Copy the remaining trimmer descriptors into the locally built SDK and include descriptor packaging checks in smoke tests. Remove five legacy descriptors no longer consumed by the trimming targets.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@simonrozsival
simonrozsival merged commit 276edef into main Oct 13, 2026
41 checks passed
@simonrozsival
simonrozsival deleted the simonrozsival-illink-usage branch October 13, 2026 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants