halkyon/third_party/README.md
Tizian 「ティツィアーン」 438ce20dbf
build: Android's built-in Kotlin, the three plugins applying KGP themselves patched in third_party/
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>
2026-11-04 09:32:13 +01:00

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.