James Smith
08/12/2025, 9:51 PMFAILURE: Build failed with an exception.
* What went wrong:
org.gradle.api.InvalidUserDataException: On plugin declaration 'kotlin' expected to find any of 'id' or 'version' but found unexpected keys 'android' and 'compose'.
> On plugin declaration 'kotlin' expected to find any of 'id' or 'version' but found unexpected keys 'android' and 'compose'.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at <https://help.gradle.org>.
BUILD FAILED in 4
From what I have in my libs.version.toml
[plugins]
android.application = { id = "com.android.application", version.ref = "agp" }
kotlin.android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin.compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
Can someone explain my issue a little, please?Martin
08/12/2025, 9:57 PM-
instead of .
Martin
08/12/2025, 9:58 PM[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
Martin
08/12/2025, 9:58 PMJames Smith
08/12/2025, 9:58 PMMartin
08/12/2025, 9:58 PMJames Smith
08/12/2025, 9:58 PMJames Smith
08/12/2025, 9:58 PMJames Smith
08/12/2025, 9:58 PMMartin
08/12/2025, 9:59 PMJames Smith
08/12/2025, 10:00 PMMartin
08/12/2025, 10:00 PM-
will be turned into .
when used in your build.gradle.kts
files while _
will basically stay the sameMartin
08/12/2025, 10:01 PMJames Smith
08/12/2025, 10:01 PMMartin
08/12/2025, 10:01 PM.toml
and in .gradle.kts
James Smith
08/12/2025, 10:01 PMMartin
08/12/2025, 10:02 PMJames Smith
08/12/2025, 10:02 PMJames Smith
08/12/2025, 11:57 PMJames Smith
08/12/2025, 11:59 PMMartin
08/13/2025, 7:35 AM@mbonnin
worksVampire
08/13/2025, 9:56 AMkotlin.android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin.compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
is semantically identical to
kotlin = { android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }, compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } }
And there you might see better what android
and compose
it complains about.
What you could do is:
kotlin-android.id = "org.jetbrains.kotlin.android"
kotlin-android.version.ref = "kotlin"
kotlin-compose.id = "org.jetbrains.kotlin.plugin.compose"
kotlin-compose.version.ref = "kotlin"
or
kotlin-android = { id = "org.jetbrains.kotlin.android", version = { ref = "kotlin" } }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version = { ref = "kotlin" } }