-
Notifications
You must be signed in to change notification settings - Fork 555
[XABT] Split up the <GeneratePackageManagerJava>
task.
#10070
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[XABT] Split up the <GeneratePackageManagerJava>
task.
#10070
Conversation
9ee5ebe
to
c1b756b
Compare
There was a problem hiding this 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 pull request splits the monolithic task into three focused tasks to improve maintainability and independence.
- Updated the test to instantiate and execute separate tasks for package manager and application config assemblies.
- Renamed method references and updated comments to reflect the new task structure.
- Introduced a new task for generating native marshal method assemblies.
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/GeneratePackageManagerJavaTests.cs | Updated tests to validate execution of distinct tasks. |
src/Xamarin.Android.Build.Tasks/Tasks/GenerateTypeMappings.cs | Updated comment to refer to the new native application config assemblies task. |
src/Xamarin.Android.Build.Tasks/Tasks/GenerateNativeMarshalMethodAssemblies.cs | Added new task implementation for native marshal method assemblies. |
src/Xamarin.Android.Build.Tasks/Tasks/GenerateMainAndroidManifest.cs | Updated comment to reference the new native marshal method assemblies task. |
src/Xamarin.Android.Build.Tasks/Tasks/GenerateJniRemappingNativeCode.cs | Replaced reference to the old API with the updated native application config assemblies task method. |
src/Xamarin.Android.Build.Tasks/Tasks/GenerateCompressedAssembliesNativeSourceFiles.cs | Similar update as above for target architecture retrieval. |
Files not reviewed (1)
- src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets: Language not supported
Comments suppressed due to low confidence (2)
src/Xamarin.Android.Build.Tasks/Tasks/GenerateTypeMappings.cs:59
- Update the comment to reference '' (plural) to match the new task naming.
// Set for use by <GenerateNativeApplicationConfigAssembly> task later
src/Xamarin.Android.Build.Tasks/Tasks/GenerateMainAndroidManifest.cs:78
- Update the task reference in the comment to '' (plural) to remain consistent with the new task naming convention.
// If we still need the NativeCodeGenState in the <GenerateNativeMarshalMethodAssembly> task because we're using marshal methods,
c1b756b
to
87042a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code changes are fine, but I think the new task names shouldn't end with Assemblies
. The tasks generate native assembler source code, no managed assemblies are produced, so perhaps their names should end with SourceCode
or Sources
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I went ahead and renamed *Assemblies
-> *Sources
.
Otherwise looks good. 👍
Today, the
<GeneratePackageManagerJava>
task performs three separate functions:MonoPackageManager_Resources.java
environment.arm64-v8a.ll
)marshal_methods.arm64-v8a.ll
)Break up the
<GeneratePackageManagerJava>
task into three separate tasks, each handling one of the above functions:<GeneratePackageManagerJava>
<GenerateNativeApplicationConfigAssemblies>
<GenerateNativeMarshalMethodAssemblies>
This helps us know what each task is responsible for and what its inputs are, allowing us to move these tasks around independently in the future if needed.