Below are the snippets of my build.gradle (app as well as project) files, along with the libs.versions.toml (version catalog) Since I am using Kotlin version 2.1.0, I have enabled compose compiler and have also followed the instructions as mentioned under Compose Compiler Gradle plugin. But, I am still getting the error 'Compose Compiler Gradle Plugin is required' while trying to build
A problem occurred configuring project ':app'.
> com.android.builder.errors.EvalIssueException: Starting in Kotlin 2.0, the Compose Compiler Gradle plugin is required
when compose is enabled. See the following link for more information:
https://d.android.com/r/studio-ui/compose-compiler
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 231ms
build.gradle (:app)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'com.google.gms.google-services'
alias(libs.plugins.compose.compiler) apply false
}
android {
compileSdk 35
defaultConfig {...}
buildTypes {...}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1.8
targetCompatibility JavaVersion.VERSION_1.8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion '1.5.1'
}
packaging {...}
}
dependencies {
implementation libs.androidx.core.ktx
implementation libs.androidx.appcompat
implementation libs.material
implementation libs.androidx.constraintlayout
implementation libs.androidx.lifecycle.runtime.ktx
implementation libs.androidx.activity.compose
implementation platform(libs.androidx.compose.bom)
implementation libs.androidx.compose.foundation
implementation libs.androidx.ui
implementation libs.androidx.ui.graphics
implementation libs.androidx.ui.tooling.preview
implementation libs.androidx.material3
implementation libs.junit
implementation libs.androidx.junit
implementation libs.androidx.espresso.core
//firebase google authentication
implementation platform(libs.firebase.bom)
implementation libs.firebase.auth
implementation libs.play.services.auth
androidTestImplementation platform(libs.androidx.compose.bom)
androidTestImplementation libs.androidx.ui.test.junit4
debugImplementation libs.androidx.ui.tooling
debugImplementation libs.androidx.ui.test.manifest
}
build.gradle (project)
buildScript {
ext.kotlin_version = '2.1.0'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.8.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms.google-services:4.4.2'
}
}
tasks.register('clean', Delete) {
delete rootProject.buildDir
}
libs.versions.toml (version catalog)
[versions]
activityCompose = "1.10.0"
appcompat = "1.7.0"
composeBom = "2025.02.00"
constraintlayout = "2.2.0"
coreKtx = "1.15.0"
espressoCore = "3.6.1"
firebaseBom = "33.9.0"
junit = "4.13.2"
junitVersion = "1.2.1"
kotlin = "2.1.0"
lifecycleRuntimeKtx = "2.8.7"
material = "1.12.0"
playServicesAuth = "21.3.0"
[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-appcompat = { module = "androidx.aappcompat:appcompat", version.ref = "appcompat" }
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
androidx-junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-material3 = { module = "androidx.compose.material3:material3" }
androidx-ui = { module = "androidx.compose.ui:ui" }
androidx-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
androidx-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" }
androidx-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
firebase-auth = { module = "com.google.firebase:firebase-auth" }
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
material = { module = "com.google.android.material:material", version.ref = "material" }
play-services-auth = { module = "com.google.android.gms:play-services-auth", version.ref = "playServicesAuth" }
[plugins]
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
Replace:
alias(libs.plugins.compose.compiler) apply false
with:
alias(libs.plugins.compose.compiler)