Skip to content

Unify naming for Xamarin.GoogleAndroid.* packages and Xamarin.Google.Android.Play.Core.Review namespace #1465

@jonathanpeppers

Description

@jonathanpeppers

Follow-up to #1461, raised by @tipa in #1461 (comment).

That PR aligned ads-mobile-sdk with the repo's standard naming form (Xamarin.Google.Android.* for the NuGet ID, Google.Android.* for the namespace). A handful of sibling packages still use the older Xamarin.GoogleAndroid.* form, and Play.Core.Review still has the anomalous Xamarin. prefix in its namespace. This issue tracks unifying them.

⚠️ All of these are breaking changes for consumers — package ID renames break NuGet references and namespace changes break using statements. They should ship together in a coordinated release, with release notes calling out the rename.

Package ID renames (Xamarin.GoogleAndroid.*Xamarin.Google.Android.*)

  • Xamarin.GoogleAndroid.AnnotationsXamarin.Google.Android.Annotations (com.google.android:annotations)
  • Xamarin.GoogleAndroid.Libraries.Identity.GoogleIdXamarin.Google.Android.Libraries.Identity.GoogleId (com.google.android.libraries.identity.googleid:googleid)
  • Xamarin.GoogleAndroid.Libraries.PlacesXamarin.Google.Android.Libraries.Places (com.google.android.libraries.places:places)
  • Xamarin.GoogleAndroid.Libraries.Places.CompatXamarin.Google.Android.Libraries.Places.Compat (com.google.android.libraries.places:places-compat)
  • Xamarin.GoogleAndroid.TV.AdsXamarin.Google.Android.TV.Ads (com.google.android.tv:tv-ads)

For each: also strip the Xamarin. prefix from the managed namespaces if present (matches the convention used by Material, Play.*, the new Ads.Mobile.Sdk, etc.), and update Additions/, Transforms/, merge.targets, etc. as needed.

Namespace cleanup (package ID unchanged)

  • Xamarin.Google.Android.Play.Review — drop Xamarin. from Xamarin.Google.Android.Play.Core.Review[.Internal|.Model|.Testing] namespaces in source/com.google.android.play/review/Transforms/Metadata.Namespaces.xml
  • Xamarin.Google.Android.Play.Review.Ktx — same cleanup in source/com.google.android.play/review-ktx/Transforms/Metadata.Namespaces.xml
  • Audit the rest of source/com.google.android.play/*/Transforms/Metadata.Namespaces.xml for any other Xamarin.Google.Android.* namespace leftovers.

For each touched package

  • Update nugetId (and any dependencies[*].artifactId that referenced the old ID) in config.json.

  • Update Metadata.Namespaces.xml to drop Xamarin. from managedName.

  • Regenerate / commit source/.../PublicAPI/PublicAPI.Unshipped.txt (and PublicAPI.Shipped.txt if affected) so the new namespaces are reflected.

  • Update published-namespaces.txt.

  • Update docs/artifact-list.md and docs/artifact-list-with-versions.md.

  • Update cgmanifest.json.

  • Bump nugetVersion by 0.0.0.1 (NuGet revision component) so the rename ships under a new version. Current versions for reference:

    Package Current nugetVersion Bumped
    Annotations 4.1.1.25 4.1.1.26
    Libraries.Identity.GoogleId 1.1.0.13 1.1.0.14
    Libraries.Places 5.2.0 5.2.0.1
    Libraries.Places.Compat 2.6.0.17 2.6.0.18
    TV.Ads 1.0.1.6 1.0.1.7
    Play.Review 2.0.2.7 2.0.2.8
    Play.Review.Ktx 2.0.2.7 2.0.2.8

    (Also update nuGetVersion in cgmanifest.json and the version column in docs/artifact-list-with-versions.md to match.)

Validation

  • dotnet cake --target=binderate
  • dotnet cake --target=binderate-config-verify
  • dotnet cake utilities.cake -t=namespace-check
  • dotnet cake --target=metadata-verify
  • Full dotnet cake build green for net9.0-android and net10.0-android.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions