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.*)
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)
For each touched package
Validation
Follow-up to #1461, raised by @tipa in #1461 (comment).
That PR aligned
ads-mobile-sdkwith 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 olderXamarin.GoogleAndroid.*form, andPlay.Core.Reviewstill has the anomalousXamarin.prefix in its namespace. This issue tracks unifying them.Package ID renames (
Xamarin.GoogleAndroid.*→Xamarin.Google.Android.*)Xamarin.GoogleAndroid.Annotations→Xamarin.Google.Android.Annotations(com.google.android:annotations)Xamarin.GoogleAndroid.Libraries.Identity.GoogleId→Xamarin.Google.Android.Libraries.Identity.GoogleId(com.google.android.libraries.identity.googleid:googleid)Xamarin.GoogleAndroid.Libraries.Places→Xamarin.Google.Android.Libraries.Places(com.google.android.libraries.places:places)Xamarin.GoogleAndroid.Libraries.Places.Compat→Xamarin.Google.Android.Libraries.Places.Compat(com.google.android.libraries.places:places-compat)Xamarin.GoogleAndroid.TV.Ads→Xamarin.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 byMaterial,Play.*, the newAds.Mobile.Sdk, etc.), and updateAdditions/,Transforms/,merge.targets, etc. as needed.Namespace cleanup (package ID unchanged)
Xamarin.Google.Android.Play.Review— dropXamarin.fromXamarin.Google.Android.Play.Core.Review[.Internal|.Model|.Testing]namespaces insource/com.google.android.play/review/Transforms/Metadata.Namespaces.xmlXamarin.Google.Android.Play.Review.Ktx— same cleanup insource/com.google.android.play/review-ktx/Transforms/Metadata.Namespaces.xmlsource/com.google.android.play/*/Transforms/Metadata.Namespaces.xmlfor any otherXamarin.Google.Android.*namespace leftovers.For each touched package
Update
nugetId(and anydependencies[*].artifactIdthat referenced the old ID) inconfig.json.Update
Metadata.Namespaces.xmlto dropXamarin.frommanagedName.Regenerate / commit
source/.../PublicAPI/PublicAPI.Unshipped.txt(andPublicAPI.Shipped.txtif affected) so the new namespaces are reflected.Update
published-namespaces.txt.Update
docs/artifact-list.mdanddocs/artifact-list-with-versions.md.Update
cgmanifest.json.Bump
nugetVersionby0.0.0.1(NuGet revision component) so the rename ships under a new version. Current versions for reference:nugetVersion4.1.1.254.1.1.261.1.0.131.1.0.145.2.05.2.0.12.6.0.172.6.0.181.0.1.61.0.1.72.0.2.72.0.2.82.0.2.72.0.2.8(Also update
nuGetVersionincgmanifest.jsonand the version column indocs/artifact-list-with-versions.mdto match.)Validation
dotnet cake --target=binderatedotnet cake --target=binderate-config-verifydotnet cake utilities.cake -t=namespace-checkdotnet cake --target=metadata-verifydotnet cakebuild green fornet9.0-androidandnet10.0-android.