Skip to content

[Android][CoreCLR] Add full ReadyToRun publishing opt-in - #36588

Draft
simonrozsival with Copilot wants to merge 5 commits into
mainfrom
copilot/update-r2r-publishing-property
Draft

[Android][CoreCLR] Add full ReadyToRun publishing opt-in#36588
simonrozsival with Copilot wants to merge 5 commits into
mainfrom
copilot/update-r2r-publishing-property

Conversation

Copilot AI commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Android CoreCLR Release publishing defaults to partial R2R to limit APK size. This adds a supported opt-in for full R2R when runtime performance is preferred.

  • Publishing configuration

    • Adds MauiEnableFullReadyToRunPublishing, defaulting to false.
    • Preserves --partial by default; setting the property to true omits it.
    • Documents the APK-size versus runtime-performance tradeoff beside the target logic.
  • Coverage

    • Adds MSBuild coverage for the default, explicit partial, and full R2R configurations.
<PropertyGroup>
  <MauiEnableFullReadyToRunPublishing>true</MauiEnableFullReadyToRunPublishing>
</PropertyGroup>

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI and others added 3 commits July 15, 2026 13:10
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Copilot AI changed the title [WIP] Change property for full R2R publishing [Android][CoreCLR] Add full ReadyToRun publishing opt-in Jul 15, 2026
Copilot AI requested a review from simonrozsival July 15, 2026 13:16
@simonrozsival

Copy link
Copy Markdown
Member

@copilot all MauiEnableFullReadyToRunPublishing_ConfiguresPartialFlagCorrectly tests are failing:

Assert.Equal() Failure: Values differ
Expected: 0
Actual:   1

   at Microsoft.Maui.Controls.MSBuild.UnitTests.MSBuildTests.Build(String projectFile, String target, String verbosity, String additionalArgs, Boolean shouldSucceed) in /_/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs:line 248
   at Microsoft.Maui.Controls.MSBuild.UnitTests.MSBuildTests.MauiEnableFullReadyToRunPublishing_ConfiguresPartialFlagCorrectly(String mauiEnableFullReadyToRunPublishingValue, Boolean fullReadyToRunPublishingEnabled) in /_/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs:line 306
   at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
   at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>

Copilot AI commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

@copilot all MauiEnableFullReadyToRunPublishing_ConfiguresPartialFlagCorrectly tests are failing:

Assert.Equal() Failure: Values differ

...

Fixed in cff19a6. The test now configures the simulated Android publish properties in its generated project rather than as global MSBuild properties, avoiding an Android workload requirement in the test environment. Focused coverage passes all three cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Android][CoreCLR] Make it possible to switch between partial and full R2R

2 participants