Skip to content

[Mono] Fix JLO lookup for packaged MAUI satellite assemblies - #12496

Open
jonathanpeppers wants to merge 5 commits into
mainfrom
jonathanpeppers-mono-maui-integration
Open

[Mono] Fix JLO lookup for packaged MAUI satellite assemblies#12496
jonathanpeppers wants to merge 5 commits into
mainfrom
jonathanpeppers-mono-maui-integration

Conversation

@jonathanpeppers

@jonathanpeppers jonathanpeppers commented Aug 24, 2026

Copy link
Copy Markdown
Member

Summary

  • add a Release MAUI template build using Mono to cover the packaging path
  • preserve empty JLO and typemap scan-marker metadata for unchanged assemblies after trimming
  • cover Mono Release builds with NuGet satellite assemblies

Validation

The new MAUI Mono CI build reproduces the expected missing Microsoft.Maui.Controls.resources.jlo.xml failure from the package cache before this fix.

Fixes #12487.

Add a Release MAUI template build that uses Mono to detect regressions such as #12487.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 82531bd4-3cc7-485a-8150-57fa0ebe4d04
Copilot AI lite review requested due to automatic review settings August 24, 2026 20:01

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.

Pull request overview

Adds an additional MAUI template build in the Azure Pipelines automation to exercise the Mono runtime path in Release configuration, intended to catch regressions related to Mono packaging (per #12487) earlier in CI.

Changes:

  • Add a new “Build MAUI template - Mono” step that runs the MAUI template project in Release with UseMonoRuntime=true.
  • Mirror the new step across the primary, public, and internal pipeline YAML definitions.
  • Capture a dedicated binlog (MauiTestProj-Mono.binlog) for troubleshooting Mono-template build failures.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
build-tools/automation/azure-pipelines.yaml Adds a Mono-based MAUI template Release build step to the main pipeline’s MAUI integration stage.
build-tools/automation/azure-pipelines-public.yaml Adds the same Mono MAUI template build step to the public pipeline.
build-tools/automation/azure-pipelines-internal.yaml Adds the same Mono MAUI template build step to the internal pipeline.

Comment thread build-tools/automation/azure-pipelines.yaml
Comment thread build-tools/automation/azure-pipelines-internal.yaml
Comment thread build-tools/automation/azure-pipelines-public.yaml
Preserve generated scan-marker metadata for unchanged framework assemblies after trimming so Mono builds do not look for JLO sidecars in NuGet packages.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 82531bd4-3cc7-485a-8150-57fa0ebe4d04
@jonathanpeppers jonathanpeppers changed the title [ci] Add Mono MAUI integration build [Mono] Fix JLO lookup for packaged MAUI satellite assemblies Aug 24, 2026
Create the intermediate ABI directories before touching scan markers for unchanged assemblies after trimming.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 82531bd4-3cc7-485a-8150-57fa0ebe4d04
Use the shared scan marker for unprocessed resource assemblies so JLO and typemap consumers do not probe NuGet package directories.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 82531bd4-3cc7-485a-8150-57fa0ebe4d04
Do not advertise scan markers for trimmed satellite assemblies in the trimmable typemap path, where no marker producer runs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 82531bd4-3cc7-485a-8150-57fa0ebe4d04
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.

[Mono] GenerateJavaCallableWrappers looks for JLO beside packaged MAUI resource assembly

2 participants