Skip to content

ADFA-4907 | Standardize plugin toolchain: compileSdk/targetSdk 36, AGP 8.11.0, Kotlin 2.3.0, Gradle 8.14.3 - #54

Open
hal-eisen-adfa wants to merge 1 commit into
mainfrom
ADFA-4907-compilesdk-36
Open

ADFA-4907 | Standardize plugin toolchain: compileSdk/targetSdk 36, AGP 8.11.0, Kotlin 2.3.0, Gradle 8.14.3#54
hal-eisen-adfa wants to merge 1 commit into
mainfrom
ADFA-4907-compilesdk-36

Conversation

@hal-eisen-adfa

@hal-eisen-adfa hal-eisen-adfa commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What

Standardizes the build toolchain across all 25 example plugins, closing ADFA-4907.

Because these plugins are being built with Code On The Go itself (see ADFA-4693), the standard is pinned to CoGo's on-device toolchain — verified on an emulator (CoGo build C-d-0727-1613):

Bit Standard Why
compileSdk / targetSdk 36 CoGo's SDK ships only android-36
AGP 8.11.0 the only AGP in CoGo's Gradle caches
Gradle wrapper 8.14.3 CoGo's Gradle (and the shared root wrapper)
Kotlin 2.3.0 repo majority (22/25); CoGo doesn't pin Kotlin
Java / jvmTarget 17 (unchanged) already uniform

Changes

  • compileSdk & targetSdk → 36 in 22 plugins (the 3 template installers were already 36).
  • AGP → 8.11.0 in 5: ai-assistant, ai-core (from 8.13.2 — intentional downgrade to match CoGo); client-time-tracker, compose-preview, layout-editor (from 8.8.2).
  • Kotlin → 2.3.0 in flutter-template, pebble-custom-function-template-installer, template-manager (from 2.1.0).
  • Gradle wrapper → 8.14.3 in 5: ai-assistant, ai-core (from 8.14.4); client-time-tracker, compose-preview, layout-editor (from 8.10.2).
  • template-manager: migrated the deprecated kotlinOptions.jvmTarget = "17" string DSL to kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } } — Kotlin 2.3.0 turns the old form into a hard error.

All values are plain literals (no version catalog).

Verification

  • Built every plugin with ../gradlew assemblePluginDebug. 20/25 build clean.
  • 5 fail with pre-existing errors, unrelated to this change (confirmed: they fail identically with these edits stashed). They reference newer API symbols absent from the committed libs/plugin-api.jar — a stale-libs issue, out of scope here:
    • ai-assistant, ai-core, speech-to-text-plugin → LlmInferenceService
    • code-suggestions-plugin → EditorContentChangeListener
    • vector-search-plugin → ProjectSearchExtension
  • Re-surveyed all 25: every plugin now reports compileSdk=36, targetSdk=36, AGP=8.11.0, Kotlin=2.3.0, Gradle=8.14.3, Java=17.

Scope notes

  • Does not address ADFA-4908 (shared libs/ path not resolving inside CoGo) — that's a separate structural issue. The 5 stale-libs failures above are adjacent to that libs work but distinct from this version-standardization.

…P 8.11.0, Kotlin 2.3.0, Gradle 8.14.3

Aligns all 25 example plugins with Code On The Go's on-device build toolchain
(verified on device: CoGo ships only android-36, AGP 8.11.0, Gradle 8.14.3;
does not pin Kotlin). Relevant because plugins are being built with CoGo itself
(ADFA-4693).

- compileSdk & targetSdk -> 36 (22 plugins; 3 template installers already 36)
- AGP -> 8.11.0 (ai-assistant, ai-core from 8.13.2; client-time-tracker,
  compose-preview, layout-editor from 8.8.2 -- downgrades intentional, match CoGo)
- Kotlin -> 2.3.0 (flutter-template, pebble, template-manager from 2.1.0)
- Gradle wrapper -> 8.14.3 (ai-assistant, ai-core from 8.14.4; client-time-tracker,
  compose-preview, layout-editor from 8.10.2)
- template-manager: migrate deprecated kotlinOptions.jvmTarget string DSL to
  compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } (required by Kotlin 2.3.0)

Java/jvmTarget already uniform at 17. 20/25 plugins build clean. 5 (ai-assistant,
ai-core, code-suggestions-plugin, speech-to-text-plugin, vector-search-plugin)
fail with pre-existing unresolved-reference errors (stale libs/plugin-api.jar,
missing newer API symbols) -- verified failing at baseline before this change,
out of scope here.

@claude claude Bot 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.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

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