Skip to content

[build] Serialize pose detection projects - #1531

Merged
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-fix-aar-file-locking
Aug 20, 2026
Merged

[build] Serialize pose detection projects#1531
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-fix-aar-file-locking

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Changes

  • Add a reusable mapping for build-order-only project references.
  • Serialize pose-detection after pose-detection-accurate so they do not concurrently consume the shared pose-detection-common AAR.
  • Use ReferenceOutputAssembly="false" and PrivateAssets="all" so the ordering edge does not affect compilation or NuGet dependencies.

Validation

  • Regenerated projects with dotnet cake build.cake --target=binderate --verbosity=minimal.
  • Built the pose-detection graph with two MSBuild nodes.
  • Packed Xamarin.Google.MLKit.PoseDetection and confirmed PoseDetection.Accurate is absent from the generated .nuspec dependencies.

Add a reusable build-order mapping that emits ordering-only ProjectReference items, preventing the pose detection projects from concurrently consuming their shared AAR.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 20, 2026 16:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a build-order-only project-reference mechanism to the Binderator project template so specific ML Kit binding projects can be serialized during builds, avoiding concurrent access to shared generated artifacts (notably pose-detection-common).

Changes:

  • Introduced a reusable mapping (buildOrderProjectReferences) for “ordering-only” project references keyed by NuGet package ID.
  • Added an ordering edge so Xamarin.Google.MLKit.PoseDetection builds after com.google.mlkit.pose-detection-accurate.
  • Marked the ordering ProjectReference as non-compilation/non-dependency impacting via ReferenceOutputAssembly="false" and PrivateAssets="all".

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) August 20, 2026 18:07

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The generated build-only edge serializes Accurate before standard pose detection under parallel/static-graph builds without compile or NuGet dependency leakage, and exact-head CI validates both TFMs.

@jonathanpeppers
jonathanpeppers merged commit b4f9aed into main Aug 20, 2026
3 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-fix-aar-file-locking branch August 20, 2026 19:06
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.

3 participants