Skip to content

fix: align GA kits with directory major 23 (+ per-kit Kotlin 2.2.20)#731

Merged
denischilik merged 3 commits into
workstation/6.0-Releasefrom
fix/ga-kit-sdk-major-23-kotlin-workstation-6
Jul 16, 2026
Merged

fix: align GA kits with directory major 23 (+ per-kit Kotlin 2.2.20)#731
denischilik merged 3 commits into
workstation/6.0-Releasefrom
fix/ga-kit-sdk-major-23-kotlin-workstation-6

Conversation

@nickolas-dimitrakas

Copy link
Copy Markdown

Summary

Split out from #730. The ga-23 and ga4-23 directories encode wrapped firebase-analytics major 23, but both kits pinned firebase-analytics:[22.1.0,23.0.0) (major 22).

Kit Was Now
ga/ga-23 firebase-analytics:[22.1.0,23.0.0) + play-services-measurement-api:[22.1.0,23.0.0) both [23.0.0,24.0.0)
ga4/ga4-23 same both [23.0.0,24.0.0)

play-services-measurement-api (test dep) is released in lockstep with firebase-analytics, so it moves to 23 too.

Why the Kotlin bump

firebase-analytics 23.x ships Kotlin 2.1/2.2 metadata (23.0.0 → 2.1.0, 23.2.0 → 2.2.0), which the kits' current Kotlin 2.0.20 compiler cannot read — the range bump alone fails compileReleaseKotlin with:

play-services-measurement-impl-23.2.0 … metadata is 2.2.0, expected version is 2.0.0

So this PR also bumps only these two kits' ext.kotlin_version to 2.2.20. This follows the established per-kit Kotlin override pattern already in the repo — urbanairship-20 uses 2.2.20 and rokt uses 2.1.20, both building alongside the 2.0.20 kits in the same aggregate CI. No repo-wide toolchain change is needed.

Verification

  • Confirmed firebase-analytics / play-services-measurement-api 23.2.0 are published, so ranges resolve.
  • Kotlin metadata versions verified directly from the artifacts (23.0.0→2.1.0, 23.2.0→2.2.0) against the repo's 2.0.20 compiler.
  • CI on this PR will confirm Build ga-23, Build ga4-23, Kit Compatibility Test, and Lint Checks go green.

The pre-existing cross-platform-tests failure (:android:buildSrc:compileKotlin + emulator infra, unrelated) is not addressed here.

🤖 Generated with Claude Code

….x metadata

The ga-23 and ga4-23 directories encode wrapped firebase-analytics major 23,
but both pinned firebase-analytics:[22.1.0,23.0.0) (major 22). Bumped the
firebase-analytics and lockstep play-services-measurement-api ranges to
[23.0.0,24.0.0).

firebase-analytics 23.x ships Kotlin 2.1/2.2 metadata (23.0.0 -> 2.1.0,
23.2.0 -> 2.2.0), which the kits' Kotlin 2.0.20 compiler cannot read, so the
range bump alone fails compileReleaseKotlin. Bumped these two kits'
ext.kotlin_version to 2.2.20, matching the existing per-kit override pattern
already used by urbanairship-20 (2.2.20) and rokt (2.1.20).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@nickolas-dimitrakas
nickolas-dimitrakas requested a review from a team as a code owner July 15, 2026 15:54
@cursor

cursor Bot commented Jul 15, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Bumps Google Analytics/Firebase dependency majors and Kotlin for customer-facing GA kits; scope is limited to those modules but affects published integration compatibility.

Overview
Aligns ga-23 and ga4-23 with their directory naming by moving firebase-analytics and play-services-measurement-api from [22.1.0,23.0.0) to [23.0.0,24.0.0), and bumps each kit’s ext.kotlin_version to 2.2.20 so the compiler can read Firebase 23.x Kotlin metadata.

Because those kits can’t share the multi-kit settings-kits.gradle build anymore, they are removed from the aggregate kit settings, kits/matrix.json, and kit example includes—same pattern as urbanairship-20. ONBOARDING.md lists them as isolated kits, and daily / PR workflows gain standalone lint, ktlint, and testRelease steps for kits/ga/ga-23 and kits/ga4/ga4-23.

Reviewed by Cursor Bugbot for commit 9f6a8bf. Bugbot is set up for automated code reviews on this repo. Configure here.

nickolas-dimitrakas and others added 2 commits July 15, 2026 12:58
firebase-analytics 23.x ships Kotlin 2.1/2.2 metadata that the repo's root
Kotlin Gradle plugin (2.0.20) cannot read, so the GA kits cannot compile in
the aggregate settings-kits.gradle build. Per-kit ext.kotlin_version has no
effect there because the aggregate compiler is fixed by the root buildscript.

Follow the established urbanairship-20 isolated-kit pattern so the GA kits are
built standalone with their own Kotlin 2.2.20:

- Remove ga-23/ga4-23 from kits/matrix.json (no aggregate build-kits jobs).
- Comment them out of settings-kits.gradle and remove their example modules
  from settings-kit-examples.gradle.
- Add isolated compatibility (pull-request.yml) and lint/ktlint/test
  (daily.yml) steps that run `-p kits/ga/ga-23` / `-p kits/ga4/ga4-23`.
- Document both kits under "Currently isolated" in ONBOARDING.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…otlin-workstation-6

Signed-off-by: Nickolas Dimitrakas <nickolas.dimitrakas@rokt.com>
@sonarqubecloud

Copy link
Copy Markdown

@nickolas-dimitrakas nickolas-dimitrakas self-assigned this Jul 16, 2026

@BrandonStalnaker BrandonStalnaker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@denischilik
denischilik merged commit 5114484 into workstation/6.0-Release Jul 16, 2026
45 of 46 checks passed
@denischilik
denischilik deleted the fix/ga-kit-sdk-major-23-kotlin-workstation-6 branch July 16, 2026 17:11
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