Skip to content

[build] Audit xaprepare third-party notices#11267

Open
jonathanpeppers wants to merge 1 commit intomainfrom
jonathanpeppers/audit-xaprepare-tpns
Open

[build] Audit xaprepare third-party notices#11267
jonathanpeppers wants to merge 1 commit intomainfrom
jonathanpeppers/audit-xaprepare-tpns

Conversation

@jonathanpeppers
Copy link
Copy Markdown
Member

@jonathanpeppers jonathanpeppers commented May 1, 2026

Summary

Phase 1: Audit and update the xaprepare Third Party Notice entries to match actual dependencies.

Phase 2 will replace the xaprepare/C# TPN generation code with a Copilot skill, reducing code to maintain.

Changes

Removed 8 stale TPN entries

From Java.Interop.cs — Java.Interop's .gitmodules now only has external/xamarin-android-tools, and its own ThirdPartyNotices.txt only lists JetBrains/kotlin. These 7 sub-notices are no longer dependencies:

  • gityf/crc
  • javaparser/javaparser
  • jbevain/mono.linq.expressions
  • mono/csharp
  • mono/LineEditor
  • mono/Options
  • zzzprojects/HtmlAgilityPack

Simplified from ThirdPartyNoticeGroup to a standalone ThirdPartyNotice for just dotnet/java-interop itself.

From Xamarin.Android.Build.Tasks.cs:

  • fsharp/fsharp — F# is not a dependency; dotnet/android only supports F# customer projects

Added 1 missing TPN entry

  • libunwind.csexternal/libunwind submodule (MIT license), compiled via CMake and shipped in product native libs

Regenerated

  • THIRD-PARTY-NOTICES.TXT updated with the corrected entries

Remove 8 stale TPN entries:
- Java.Interop.cs: Remove 7 sub-notices no longer in Java.Interop
  (gityf/crc, javaparser, Mono.Linq.Expressions, mono/csharp,
  mono/LineEditor, mono/Options, HtmlAgilityPack). Simplify from
  ThirdPartyNoticeGroup to standalone ThirdPartyNotice.
- Xamarin.Android.Build.Tasks.cs: Remove fsharp/fsharp (not a
  dependency; we only support F# customer projects)

Add 1 missing TPN entry:
- libunwind.cs: Add entry for libunwind/libunwind submodule
  (external/libunwind, MIT license, shipped in product)

Regenerate THIRD-PARTY-NOTICES.TXT with updated entries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 1, 2026 22: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

Updates xaprepare’s Third Party Notice (TPN) source-of-truth entries to better reflect current dependencies, removing stale notices and adding a missing notice for libunwind (an external/ submodule) so the generated notices remain accurate.

Changes:

  • Added a new libunwind TPN entry gated on includeExternalDeps.
  • Removed the stale fsharp/fsharp TPN entry from Xamarin.Android.Build.Tasks external dependency group.
  • Simplified Java.Interop TPNs by removing the external-dependencies group and leaving only the dotnet/java-interop notice.

Reviewed changes

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

File Description
build-tools/xaprepare/xaprepare/ThirdPartyNotices/libunwind.cs Adds a new [TPN] notice for the external/libunwind submodule with its license file path.
build-tools/xaprepare/xaprepare/ThirdPartyNotices/Xamarin.Android.Build.Tasks.cs Removes the fsharp/fsharp notice from the external dependency group and deletes the corresponding notice class.
build-tools/xaprepare/xaprepare/ThirdPartyNotices/Java.Interop.cs Removes the Java.Interop external dependency group and retains only the dotnet/java-interop notice entry.

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.

2 participants