AGP 9 compiles Kotlin itself (android.builtInKotlin=true in every app), and warns that applying the Kotlin Gradle Plugin will soon fail. flutter_web_auth_2 5.1.0, keyboard_height_plugin 0.3.0 and flutter_tts 4.2.5 still apply it unconditionally, so their pub releases are copied into third_party/ with only their android/build.gradle changed, and the root overrides them by path (third_party/README.md says when to drop each). The servers' images copy third_party/, as pub refuses an override whose path is missing. third_party/ isn't our own code: left out of the analysis and the format check. All four apps' APKs build without the warning. A Kotlin daemon's session file that slipped into Train's android/ goes, and every app's android/.gitignore keeps .kotlin/ out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
1.4 KiB
Others' plugins, patched
Android plugins whose latest release still applies the Kotlin Gradle plugin itself,
which Flutter warns will fail builds once Kotlin is built into the Android Gradle
plugin (android.builtInKotlin=true, which every Halkyon app sets since 4 Nov 2026).
The root pubspec.yaml takes each from here through dependency_overrides.
Each folder is the release from pub.dev as it was (its example/, test/ and lint
options left out), under its own licence, but for android/build.gradle, changed as
Flutter's guide for plugin authors
has it: apply plugin: 'kotlin-android', the Kotlin Gradle plugin's classpath, the
kotlinOptions block and the explicit kotlin-stdlib dropped, a kotlin { compilerOptions { jvmTarget } } block added with the same JVM target.
| Plugin | Release | Licence | Used by |
|---|---|---|---|
flutter_web_auth_2 |
5.1.0 | MIT | halkyon_oidc_flutter (signing in with SimpleLogin) |
keyboard_height_plugin |
0.3.0 | BSD-3-Clause | appflowy_editor (Learn's notes) |
flutter_tts |
4.2.5 | MIT | Learn's voice mode |
When a plugin's own release has migrated, take it from pub.dev again: drop its override and its folder here. Before then, a newer release is brought in by copying it here and making the same change.