Skip to content

[release/10.0.1xx] [Xamarin.Android.Build.Tasks] Fix _CreateAar race under parallel build#11570

Open
jonathanpeppers wants to merge 1 commit into
release/10.0.1xxfrom
jonathanpeppers/backport-11527-to-10-0-1xx
Open

[release/10.0.1xx] [Xamarin.Android.Build.Tasks] Fix _CreateAar race under parallel build#11570
jonathanpeppers wants to merge 1 commit into
release/10.0.1xxfrom
jonathanpeppers/backport-11527-to-10-0-1xx

Conversation

@jonathanpeppers
Copy link
Copy Markdown
Member

Backport of #11527 to release/10.0.1xx.

Fixes: #11514

Why

Under parallel build (-m), library projects with <GeneratePackageOnBuild>true</GeneratePackageOnBuild> can intermittently fail with:

error XARLP7024: System.IO.IOException: The process cannot access the file
'.../<assembly>.aar' because it is being used by another process.
   at Microsoft.Android.Build.Tasks.Files.HashFile(...)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(...)

_CreateAar was running multiple times for a single dotnet build:

  • Once from BuildDependsOn.
  • Once from _UpdateAndroidResourcesDependsOn on the regular Build chain.
  • Once more from _UpdateAndroidResourcesDependsOn on a Pack-dispatched project instance entered via _GetFrameworkAssemblyReferences (NuGet pack's per-TFM inner-target dispatch). That instance has different global properties, so MSBuild does not dedupe it and may run it on a fresh worker node, opening a write/write or write/read race against consumers that read the .aar via Files.HashFile.

Approach

_UpdateAndroidResources is the aapt2/resource-designer step; producing the publish artifact (.aar) is unrelated. Remove _CreateAar from _UpdateAndroidResourcesDependsOn. The AAR is still produced because _CreateAar remains in BuildDependsOn for non-application projects, and Pack depends on Build, so dotnet build and dotnet pack both still create it.

Conflicts

Minor merge conflict in IncrementalBuildTest.cs because ManifestMergerIncremental on release/10.0.1xx doesn't take the [Values] AndroidRuntime runtime parameter that exists on main. Resolved by adding the new test before the existing ManifestMergerIncremental () signature.

Copilot AI review requested due to automatic review settings June 3, 2026 17:37
@jonathanpeppers jonathanpeppers changed the base branch from main to release/10.0.1xx June 3, 2026 17:38
@jonathanpeppers jonathanpeppers changed the title [release/10.0.1xx] [Xamarin.Android.Build.Tasks] Fix _CreateAar race under parallel build (#11527) [release/10.0.1xx] [Xamarin.Android.Build.Tasks] Fix _CreateAar race under parallel build Jun 3, 2026
#11527)

Fixes: #11514

Under parallel build (`-m`), library projects with `<GeneratePackageOnBuild>true</GeneratePackageOnBuild>` can intermittently fail with:

```
error XARLP7024: System.IO.IOException: The process cannot access the file
'.../<assembly>.aar' because it is being used by another process.
   at Microsoft.Android.Build.Tasks.Files.HashFile(...)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(...)
```

The reporter's `mini.binlog` shows `_CreateAar` running in two distinct project instances of the same library csproj, and a local repro shows it running **three** times for a single `dotnet build`:

* Once from `BuildDependsOn`.
* Once from `_UpdateAndroidResourcesDependsOn` on the regular `Build` chain.
* Once more from `_UpdateAndroidResourcesDependsOn` on a Pack-dispatched project instance entered via `_GetFrameworkAssemblyReferences` (NuGet pack's per-TFM inner-target dispatch). That instance has different global properties, so MSBuild does not dedupe it and may run it on a fresh worker node, opening a write/write or write/read race against consumers that read the `.aar` via `Files.HashFile`.

`_UpdateAndroidResources` is the aapt2/resource-designer step; producing the publish artifact (`.aar`) is unrelated. Remove `_CreateAar` from `_UpdateAndroidResourcesDependsOn`. The AAR is still produced because `_CreateAar` remains in `BuildDependsOn` for non-application projects, and Pack depends on `Build`, so `dotnet build` and `dotnet pack` both still create it.

This collapses the count to a single invocation per build, eliminating the race window and the redundant AAR rewrites at the root rather than papering over them with reader retries or atomic writes.

Added `IncrementalBuildTest.CreateAarRunsOnceWithGeneratePackageOnBuild`: builds a library with `GeneratePackageOnBuild=true` at `LoggerVerbosity.Detailed` and asserts `Target "_CreateAar" in file ...` appears exactly once in the build log.

Verified against the issue's repro project: count drops from **3 to 1** with the fix.
@jonathanpeppers jonathanpeppers force-pushed the jonathanpeppers/backport-11527-to-10-0-1xx branch from 7ec2845 to 3059490 Compare June 3, 2026 17:39
@jonathanpeppers
Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

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 is described as a backport of the _CreateAar parallel-build race fix to release/10.0.1xx, but the diff contains a much broader set of changes across MSBuild targets, tasks, tests, native runtime, tooling, docs, and CI/pipeline configuration.

Changes:

  • Adjusts build ordering so _CreateAar is not pulled into the UpdateAndroidResources dependency chain (reducing redundant/parallel AAR writes).
  • Adds/updates Hot Reload + runtime environment variable plumbing (new targets, project capabilities, and a new Microsoft.Android.Run tool for dotnet run).
  • Updates multiple runtime/tooling areas (NativeAOT init + env var behavior, assembly store naming, Android API level parsing/handling, build tools/pipelines/version bumps).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Xamarin.Android.sln Adds Microsoft.Android.Run project to the solution.
tools/workload-dependencies/WorkloadDependencies.proj Updates Android manifest feed from d17.12 to d18.0.
tools/assembly-store-reader-mk2/Main.cs Updates CLI help text for new assembly-store naming.
tools/assembly-store-reader-mk2/AssemblyStore/StoreReader_V2.cs Updates V2 store reader to use libassembly-store.so.
tests/StartupHook/StartupHook.csproj Adds new StartupHook test project.
tests/StartupHook/StartupHook.cs Implements a simple startup hook used by tests.
tests/Mono.Android-Tests/Mono.Android-Tests/Xamarin.Android.Net/AndroidMessageHandlerTests.cs Adds regression test for rewinding content stream after cancellation.
tests/Mono.Android-Tests/Mono.Android-Tests/System/StartupHookTest.cs Adds tests validating StartupHook feature + environment configuration.
tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj Enables startup hook support in tests and adds StartupHook project/reference/config.
tests/Mono.Android-Tests/Mono.Android-Tests/hotreload.env Adds test env file setting DOTNET_STARTUP_HOOKS.
tests/Mono.Android-Tests/Mono.Android-Tests/Android.Widget/CustomWidgetTests.cs Adds regression test for global-ref leaks when inflating custom views.
src/Xamarin.Android.Build.Tasks/Xamarin.Android.Tooling.targets Renames task parameter usage to AndroidApiLevel.
src/Xamarin.Android.Build.Tasks/Xamarin.Android.Application.targets Adds --user support when launching/starting apps via adb.
src/Xamarin.Android.Build.Tasks/Utilities/RuntimePropertiesParser.cs Improves parsing of runtime config JSON properties into strings.
src/Xamarin.Android.Build.Tasks/Utilities/MonoAndroidHelper.cs Adds TryParseApiLevel and GetNormalizedNativeLibraryName helpers.
src/Xamarin.Android.Build.Tasks/Utilities/JCWGenerator.cs Removes unused androidSdkPlatform parameter from JCW generation path.
src/Xamarin.Android.Build.Tasks/Utilities/EnvironmentBuilder.cs Escapes backslashes in generated assembler strings.
src/Xamarin.Android.Build.Tasks/Utilities/ELFHelper.cs Changes ELF segment alignment validation rules.
src/Xamarin.Android.Build.Tasks/Utilities/AssemblyStoreGenerator.cs Changes generated assembly store output filename.
src/Xamarin.Android.Build.Tasks/Utilities/ApplicationConfigNativeAssemblyGeneratorCLR.cs Adds JNI preload ignore/always-preload lists and related logic for CLR.
src/Xamarin.Android.Build.Tasks/Utilities/ApplicationConfigNativeAssemblyGenerator.cs Mirrors JNI preload ignore/always-preload changes for non-CLR path.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Utilities/FileSystemUtils.cs Caches the NuGet global-packages folder lookup.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Forms/MainActivity.cs Adjusts template marker placement for test code injection.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/ProjectBuilder.cs Exposes BuiltBefore state publicly and updates usage.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs Adds reusable process execution + new run/watch helpers; improves output handling.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidItem.cs Adds AndroidNativeLibraryNoJniPreload test item type.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidBuildActions.cs Adds AndroidNativeLibraryNoJniPreload build action constant.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs Disables EOL workload checking for net9.0-android test cases.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/CheckGoogleSdkRequirementsTests.cs Updates tests to use new AndroidApiLevel task property and adjusts assertions.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/AndroidResourceTests.cs Adds additional adaptive icon resource cases using raw string literals.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/InvalidConfigTests.cs Updates fast-deploy support property name used in tests.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs Adds regression test asserting _CreateAar executes once with GeneratePackageOnBuild=true.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildWithLibraryTests.cs Adds transitive multi-TFM reference regression test for JCW generation.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs Injects additional code into template to prevent warnings regression.
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs Expands/adjusts design-time build test and fast-deploy support property usage.
src/Xamarin.Android.Build.Tasks/Tasks/ResolveAndroidTooling.cs Formats AndroidApiLevel from TargetPlatformVersion with invariant culture and minor support.
src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs Uses parsed API level for optional uses-library jar resolution.
src/Xamarin.Android.Build.Tasks/Tasks/GetJavaPlatformJar.cs Renames AndroidSdkPlatform to AndroidApiLevel and improves preview API handling.
src/Xamarin.Android.Build.Tasks/Tasks/GetAotArguments.cs Uses TryParseApiLevel when deriving NDK API level.
src/Xamarin.Android.Build.Tasks/Tasks/GetAndroidDefineConstants.cs Switches Android API level to string and adds minor-version define constants.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateNativeApplicationConfigSources.cs Adds runtime selection + conditional env var generation and JNI preload lists.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateNativeAotEnvironmentAssemblerSources.cs Clears env vars for NativeAOT (Java sets them) and removes Debug property.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateMainAndroidManifest.cs Renames target SDK input to AndroidApiLevel and normalizes to major-only for manifest.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaStubs.cs Removes AndroidSdkPlatform required property usage for JCW generation.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateAdditionalProviderSources.cs Generates additional NativeAOT Java source for environment variables.
src/Xamarin.Android.Build.Tasks/Tasks/CreateAssemblyStore.cs Updates doc comment about the assembly store output.
src/Xamarin.Android.Build.Tasks/Tasks/CollectRuntimeConfigFilesForArchive.cs Updates comment for new store naming adjacency.
src/Xamarin.Android.Build.Tasks/Tasks/CheckGoogleSdkRequirements.cs Simplifies inputs to required AndroidApiLevel and improves defaults.
src/Xamarin.Android.Build.Tasks/Tasks/AssemblyModifierPipeline.cs Loads assemblies by exact path to avoid wrong-TFM resolution.
src/Xamarin.Android.Build.Tasks/Tasks/Aapt2Link.cs Renames AndroidSdkPlatform to AndroidApiLevel and uses SupportedOSPlatformVersion for min SDK if missing.
src/Xamarin.Android.Build.Tasks/Tasks/Aapt2.cs Adds SupportedOSPlatformVersion property for downstream tasks.
src/Xamarin.Android.Build.Tasks/Resources/NativeAotRuntimeProvider.java Initializes NativeAotEnvironmentVars on provider construction.
src/Xamarin.Android.Build.Tasks/Resources/NativeAotEnvironmentVars.java Adds new Java helper to set environment variables via Os.setenv.
src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets Uses $(MSBuildProjectFullPath) as stamp file for referenced resource dirs.
src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Aapt2.targets Passes SupportedOSPlatformVersion and renames AndroidSdkPlatform arg.
src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets Adds net9.0-android EOL metadata and workaround for RID publish behavior.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.Tooling.targets Updates CheckGoogleSdkRequirements argument name.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ProjectCapabilities.targets Adds capabilities for Hot Reload websocket + runtime env var support.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets Quotes linker args consistently and removes Debug property from env asm task call.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.HotReload.targets Adds new MSBuild targets for Hot Reload env + adb reverse configuration.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.DefaultProperties.targets Sets UseDefaultPublishRuntimeIdentifier=false, adds _AndroidFastDeploymentSupported, moves StartupHookSupport defaulting.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.BuildOrder.targets Removes _CreateAar from UpdateAndroidResources chain and adjusts build/run/deploy ordering.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.AssemblyResolution.targets Hooks Hot Reload environment target into _ResolveAssemblies and publishes hot reload agent DLL.
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.Application.targets Adds device enumeration target and switches dotnet run to Microsoft.Android.Run by default (WaitForExit).
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.After.targets Imports Hot Reload targets for application projects.
src/native/nativeaot/include/host/host-nativeaot.hh Extends NativeAOT host init signature to accept JnienvInitializeArgs*.
src/native/nativeaot/include/host/host-jni.hh Updates exported init function signature to include init args struct.
src/native/nativeaot/host/host.cc Initializes override dir/logging and returns log categories via init args.
src/native/nativeaot/host/host-jni.cc Threads init args through to host init.
src/native/native.targets Adds CMake target to build a test JNI library.
src/native/mono/pinvoke-override/pinvoke-override-api-impl.hh Fixes log message argument ordering.
src/native/mono/monodroid/embedded-assemblies.hh Updates assembly store shared library naming.
src/native/common/test-jni-library/stub.cc Adds minimal JNI_OnLoad stub for preload-related testing.
src/native/common/test-jni-library/CMakeLists.txt Adds CMake recipe for building the test JNI shared library.
src/native/common/include/managed-interface.hh Extends init args struct with uncaught exception propagation function pointer.
src/native/CMakePresets.json.in Adds XA_TEST_OUTPUT_DIR preset variable.
src/native/CMakeLists.txt Requires XA_TEST_OUTPUT_DIR and adds new build mode for test JNI library.
src/native/clr/runtime-base/logger.cc Refactors file-opening for reference logging into Logger helpers.
src/native/clr/include/runtime-base/logger.hh Declares new Logger file-open helper overloads.
src/native/clr/include/host/pinvoke-override-impl.hh Fixes log message argument ordering.
src/native/clr/include/host/os-bridge.hh Adjusts gref/lref logging function signatures and internal helpers.
src/native/clr/include/host/host.hh Adds unmanaged uncaught exception propagation hook pointer/storage.
src/native/clr/include/constants.hh Updates assembly store file name constant.
src/native/clr/host/internal-pinvokes-shared.cc Adapts to new OSBridge gref/lref logging signatures.
src/native/clr/host/host.cc Initializes reference logging earlier and wires uncaught exception propagation delegate.
src/native/clr/host/host-jni.cc Implements Runtime.propagateUncaughtException forwarding to native/managed hook.
src/native/clr/host/bridge-processing.cc Updates gref/weakref logging call signatures and whitespace cleanup.
src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs Ensures request content stream is rewound via finally, even on exceptions/cancellation.
src/Mono.Android/Microsoft.Android.Runtime/RuntimeFeature.cs Adds StartupHookSupport feature switch backing System.StartupHookProvider.IsSupported.
src/Mono.Android/metadata Adds Color return/parameter mapping for new android.graphics.pdf.component APIs (36.1).
src/Mono.Android/Android.Runtime/JNIEnvInit.cs Adds unmanaged callback for propagating uncaught exceptions and startup hook execution logic for CoreCLR.
src/Mono.Android/Android.Runtime/JNIEnv.cs Raises unhandled exception event for CoreCLR runtime path.
src/Mono.Android/Android.Runtime/AndroidRuntime.cs Allows managed unhandled-exception raiser to mark exception as handled before JNI transition.
src/Mono.Android/Android.Runtime/AndroidEnvironment.cs Refactors unhandled exception raising into TryRaiseUnhandledException.
src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj Updates ILLink package property name reference.
src/Microsoft.Android.Runtime.NativeAOT/Android.Runtime.NativeAOT/JavaInteropRuntime.cs Updates NativeAOT init to populate init args, early logging category init, and pass init args to managed init.
src/Microsoft.Android.Run/Microsoft.Android.Run.csproj Adds new Microsoft.Android.Run tool project.
NuGet.config Updates dependency-flow package sources (removes manual feeds, adds runtime feed).
global.json Updates MSBuild SDK versions (NoTargets/Arcade).
external/xamarin-android-tools.override.props Updates restore additional sources feed.
external/Java.Interop.override.props Updates restore additional sources feed.
external/debugger-libs.override.props Updates restore additional sources feed.
eng/Versions.props Updates .NET SDK, ILLink, ref pack, and manifest versions/bands.
eng/Version.Details.xml Updates dependency versions/SHAs and adds workload manifest dependencies.
Documentation/project-docs/ApkSharedLibraries.md Updates assembly store filename examples.
Documentation/docs-mobile/building-apps/build-targets.md Documents ComputeAvailableDevices target.
Documentation/docs-mobile/building-apps/build-properties.md Documents AndroidIgnoreAllJniPreload, Device, and WaitForExit.
Documentation/docs-mobile/building-apps/build-items.md Documents AndroidNativeLibraryNoJniPreload and RuntimeEnvironmentVariable item.
Directory.Build.targets Pins Microsoft.SourceLink.GitHub version via PackageReference Update.
Directory.Build.props Updates bootstrap task assembly paths and pack version properties.
Configuration.props Adds stable API level 36.1 and updates unstable platform id defaulting.
build-tools/xaprepare/xaprepare/xaprepare.targets Adds @TestOutputDirectory@ placeholder replacement.
build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs Adds retry/backoff for restoring runtime packs.
build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs Passes @XA_TEST_OUTPUT_DIR@ into CMake presets generation.
build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs Marks 36.1 platform as latest stable.
build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs Marks 36.1 platform as stable in build platform list.
build-tools/xaprepare/xaprepare/Application/Properties.Defaults.cs.in Adds TestOutputDirectory to default generated properties.
build-tools/xaprepare/xaprepare/Application/ProcessRunner.cs Kills entire process tree on timeout.
build-tools/xaprepare/xaprepare/Application/KnownProperties.cs Adds TestOutputDirectory known property.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/JdkInfo.cs Makes CreateTaskLogger internal for reuse by other tasks.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateSupportedPlatforms.cs Updates supported-platform props generation to handle major/minor API levels.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateFrameworkList.cs Forces ProcessorArchitecture to MSIL in generated framework list.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CodeGenDiff.cs Adds logging, improves parsing robustness, and updates signature to accept a logger.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs Passes task logger into CodeGenDiff.
build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj Switches target framework to $(DotNetStableTargetFramework).
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/HashFileContents.cs Replaces HashAlgorithm.Create with explicit algorithm selection.
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/DownloadUri.cs Adds retry logic and updates TLS revocation handling to match Arcade’s approach.
build-tools/xa-prep-tasks/xa-prep-tasks.csproj Switches target framework to $(DotNetStableTargetFramework).
build-tools/scripts/XAVersionInfo.targets Changes pack/MSI version computation and logs computed version info.
build-tools/manifest-attribute-codegen/README.md Updates instructions to use dotnet-local.
build-tools/manifest-attribute-codegen/metadata.xml Ignores new manifest node types related to “purpose”.
build-tools/manifest-attribute-codegen/manifest-definition.xml Updates API levels to 36.1 and adds new manifest elements/attrs.
build-tools/manifest-attribute-codegen/manifest-attribute-codegen.csproj Adjusts codegen exec invocation to use $(TargetPath) + response-file args.
build-tools/create-packs/Microsoft.Android.Sdk.proj Packages Microsoft.Android.Run tool into SDK pack.
build-tools/create-packs/Directory.Build.targets Adjusts version replacements and non-shipping metadata for AndroidSdk package.
build-tools/banned-apis/banned-apis.targets Updates BannedApiAnalyzers package version.
build-tools/automation/yaml-templates/variables.yaml Updates agent arch/platform variables and adds DOTNET_* env settings.
build-tools/automation/yaml-templates/run-sliced-nunit-tests.yaml Adds hanging-process diagnostics template before running slicer retry.
build-tools/automation/yaml-templates/run-nunit-tests.yaml Adds hanging-process diagnostics template prior to kill-processes.
build-tools/automation/yaml-templates/install-microbuild-tooling.yaml Moves signType selection logic into template conditions.
build-tools/automation/yaml-templates/diagnose-hanging-processes.yaml Adds new diagnostics template for hung processes (macOS/Linux/Windows).
build-tools/automation/yaml-templates/commercial-build.yaml Updates signing condition to match release/non-PR official pipeline criteria.
build-tools/automation/yaml-templates/build-macos.yaml Updates macOS pool demand to use macOS.Architecture.
build-tools/automation/azure-pipelines.yaml Updates MAUI ref, official/unofficial selection, signing, and adds PublicApiType override.
build-tools/automation/azure-pipelines-nightly.yaml Updates macOS pool demand to use macOS.Architecture.
build-tools/automation/azure-pipelines-apidocs.yaml Updates macOS pool demand to use macOS.Architecture.
.gitmodules Points Java.Interop submodule branch to release/10.0.1xx.
.github/copilot-instructions.md Updates branch target info to .NET 11 and adds test file-modification guidance.
.github/CODEOWNERS Updates default codeowner set.
.external Updates android-platform-support external ref sha.
.azuredevops/policies/branchClassification.yml Adds branch classification policy config for production branches.

@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Jun 4, 2026
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.

AAR write/read race under parallel build (XARLP7024)

2 participants