Unresolved reference: ext when convert gradle to gradle.kts

Viewed 875

By default when I create a compose app from Android Studio, it will give me ext as below in my root project build.gradle.

buildscript {
    ext {
        compose_version = '1.0.0'
    }
    repositories {
        google()
        mavenCentral()
    }
}

As I change it to build.gradle.kts, it will complaint

Unresolved reference: ext
Unresolved reference: compose_version
Too many characters in a character literal ''1.0.0''

How can I resolve this issue?

1 Answers

I use

buildscript {
    extra.apply{
        set("compose_version", "1.0.0")
    }
    repositories {
        google()
        mavenCentral()
    }

To access it from other gradle files, I need to explicitly set to a variable

val composeVersion = rootProject.extra.get("compose_version") as String

Then I can use it like

composeOptions {
    kotlinCompilerExtensionVersion = composeVersion
}

and

dependencies {
   implementation ("androidx.compose.ui:ui:$composeVersion")
}
Related