Skip to content

Migrate audio_streamer/light/screen_state/pedometer to Built-in Kotlin; bump audio_streamer to Kotlin 2.2.20 (Flutter 3.44) #1297

@Zeroupper

Description

@Zeroupper

Summary

Building carp-dk/carp_study_app against Flutter 3.44.0 produces deprecation warnings for several plugins in this repo. Flutter 3.44's DependencyVersionChecker now warns below these minimums:

Dependency Warn-below threshold (Flutter 3.44)
Kotlin (KGP) 2.2.20
Android Gradle Plugin 8.11.1
Gradle 8.14.0

In addition, Flutter now warns that any plugin applying the Kotlin Gradle Plugin the legacy way (apply plugin: 'kotlin-android' + a buildscript classpath) will fail to build in a future Flutter release, and must migrate to Built-in Kotlin:

WARNING: Your app uses the following plugins that apply Kotlin Gradle Plugin (KGP): … audio_streamer, light, pedometer, screen_state
Future versions of Flutter will fail to build if your app uses plugins that apply KGP.

Migration guide: https://docs.flutter.dev/release/breaking-changes/migrate-to-built-in-kotlin/for-plugin-authors

Current state (master)

Plugin ext.kotlin_version AGP classpath Applies KGP legacy? Below 3.44 Kotlin min (2.2.20)?
audio_streamer 2.2.10 8.12.1 yes yes — needs bump
light 2.2.20 8.12.1 yes no
screen_state 2.2.20 8.12.1 yes no
pedometer 2.2.20 8.12.1 yes no

Requested changes

  1. audio_streamer — bump ext.kotlin_version from 2.2.10 to ≥ 2.2.20 (it is still unchecked in the tracking list of Upgrade all packages and plugins #1266).
  2. All four plugins — migrate from apply plugin: 'kotlin-android' to Built-in Kotlin so they no longer apply KGP directly. This is the only thing that clears the "plugins that apply KGP" warning; bumping the Kotlin version alone does not.

Context

This extends #1266, whose checklist targets the older compileSDK 36 / Kotlin 2.1.0 bar. Flutter 3.44 raises the bar to Kotlin 2.2.20 / AGP 8.11.1 / Gradle 8.14.0 and additionally requires the Built-in Kotlin migration, which is not covered there.

Refs #1266

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions