Skip to content

Remove $(AndroidGenerateJniMarshalMethods) support#11135

Merged
jonathanpeppers merged 2 commits intomainfrom
jonathanpeppers/dev-peppers-remove-jnimm-support
Apr 28, 2026
Merged

Remove $(AndroidGenerateJniMarshalMethods) support#11135
jonathanpeppers merged 2 commits intomainfrom
jonathanpeppers/dev-peppers-remove-jnimm-support

Conversation

@jonathanpeppers
Copy link
Copy Markdown
Member

Bump external/Java.Interop to dotnet/java-interop#1405, which removes Java.Interop.Export, jnimarshalmethod-gen, and Java.Interop.Tools.Expressions.

Changes in dotnet/android:

  • Remove UseMarshalMemberBuilder = false from AndroidRuntime and NativeAOT JavaInteropRuntime (property is now obsolete/no-op in Java.Interop).
  • Remove deleted Java.Interop.Export and Xamarin.Android.Tools.JniMarshalMethodGenerator projects from Xamarin.Android.sln.

@jonathanpeppers jonathanpeppers force-pushed the jonathanpeppers/dev-peppers-remove-jnimm-support branch 3 times, most recently from 9419b85 to 8b0e86e Compare April 22, 2026 19:35
@jonathanpeppers
Copy link
Copy Markdown
Member Author

/azp run Xamarin.Android-PR

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

jonathanpeppers and others added 2 commits April 27, 2026 12:24
…et/java-interop#1405

- Remove UseMarshalMemberBuilder = false from AndroidRuntime and
  NativeAOT JavaInteropRuntime (property is now obsolete/no-op).
- Remove deleted Java.Interop.Export and
  Xamarin.Android.Tools.JniMarshalMethodGenerator projects from
  Xamarin.Android.sln.
- Bump external/Java.Interop submodule to PR 1405 head.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a ProjectReference to Java.Interop.csproj (with
ReferenceOutputAssembly=false) from Xamarin.Android.Build.Tasks.csproj
so that java-interop.jar (a Content item in Java.Interop.csproj) gets
copied to the output directory. Previously this happened transitively
through Java.Interop.Export which is now deleted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jonathanpeppers jonathanpeppers force-pushed the jonathanpeppers/dev-peppers-remove-jnimm-support branch from 8b0e86e to 8445f5e Compare April 27, 2026 17:24
@jonathanpeppers jonathanpeppers marked this pull request as ready for review April 27, 2026 17:25
Copilot AI review requested due to automatic review settings April 27, 2026 17:25
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates dotnet/android to accommodate upstream removals in external/Java.Interop (dotnet/java-interop#1405), specifically dropping legacy marshal-method generation components and removing now-obsolete runtime configuration.

Changes:

  • Add a non-output ProjectReference to Java.Interop.csproj from Xamarin.Android.Build.Tasks to ensure build ordering after the Java.Interop repo changes.
  • Remove UseMarshalMemberBuilder = false initialization from both the Mono runtime (AndroidRuntime) and NativeAOT runtime (JavaInteropRuntime) paths (property is now obsolete/no-op upstream).
  • Remove deleted Java.Interop.Export and Xamarin.Android.Tools.JniMarshalMethodGenerator projects from Xamarin.Android.sln.

Reviewed changes

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

File Description
src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj Ensures Java.Interop project is built as part of the build-tasks dependency graph after upstream removals.
src/Mono.Android/Android.Runtime/AndroidRuntime.cs Drops obsolete/no-op UseMarshalMemberBuilder initialization from runtime options.
src/Microsoft.Android.Runtime.NativeAOT/Android.Runtime.NativeAOT/JavaInteropRuntime.cs Drops obsolete/no-op UseMarshalMemberBuilder initialization from NativeAOT runtime options.
Xamarin.Android.sln Removes solution entries for projects deleted upstream in external/Java.Interop.

@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Apr 28, 2026
@jonathanpeppers jonathanpeppers enabled auto-merge (squash) April 28, 2026 13:50
@jonathanpeppers jonathanpeppers merged commit b42cac7 into main Apr 28, 2026
7 checks passed
@jonathanpeppers jonathanpeppers deleted the jonathanpeppers/dev-peppers-remove-jnimm-support branch April 28, 2026 14: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