Compose Compiler Gradle plugin
Stay organized with collections
Save and categorize content based on your preferences.
For Gradle users, you can use the Compose Compiler Gradle plugin to make setting
up and configuring Compose easier.
Set up with Gradle version catalogs
The following instructions outline how you can set up the Compose Compiler
Gradle plugin:
- In your
libs.versions.toml
file, remove any reference to the Compose
compiler
- In the plugins section, add the following new dependency
[versions]
kotlin = "2.0.0"
[plugins]
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
// Add this line
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
- In your projects root
build.gradle.kts
file, add the following to the
plugins section:
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
- In each module that uses Compose, apply the plugin:
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
Your app should now build and compile if you are using the default set up. If
you had configured custom options on the Compose compiler, see the following
section.
Set up without Gradle version catalogs
To set up the Compose Compiler Gradle plugin without version catalogs, add the
following plugin to build.gradle.kts
files associated with modules you use
Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" // this version matches your Kotlin version
}
Configuration options with the Compose Compiler Gradle Plugin
To configure the Compose compiler using the Gradle plugin, add the
composeCompiler
block to the module's build.gradle.kts
file at the top
level.
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
For the full list of available options, see the documentation.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-12-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-12 UTC."],[],[],null,["# Compose Compiler Gradle plugin\n\nFor Gradle users, you can use the Compose Compiler Gradle plugin to make setting\nup and configuring Compose easier.\n| **Note:** The Compose Compiler Gradle Plugin is only available from Kotlin 2.0+. For migration instructions, see [\"Jetpack Compose compiler moving to the Kotlin\n| repository\"](https://android-developers.googleblog.com/2024/04/jetpack-compose-compiler-moving-to-kotlin-repository.html). For an example migration, see the [Compose Samples\n| PR](https://github.com/android/compose-samples/pull/1354) in the Compose samples.\n\nSet up with Gradle version catalogs\n-----------------------------------\n\nThe following instructions outline how you can set up the Compose Compiler\nGradle plugin:\n\n1. In your `libs.versions.toml` file, remove any reference to the Compose compiler\n2. In the plugins section, add the following new dependency\n\n [versions]\n kotlin = \"2.0.0\"\n\n [plugins]\n org-jetbrains-kotlin-android = { id = \"org.jetbrains.kotlin.android\", version.ref = \"kotlin\" }\n\n // Add this line\n compose-compiler = { id = \"org.jetbrains.kotlin.plugin.compose\", version.ref = \"kotlin\" }\n\n1. In your projects root `build.gradle.kts` file, add the following to the plugins section:\n\n plugins {\n // Existing plugins\n alias(libs.plugins.compose.compiler) apply false\n }\n\n1. In each module that uses Compose, apply the plugin:\n\n plugins {\n // Existing plugins\n alias(libs.plugins.compose.compiler)\n }\n\nYour app should now build and compile if you are using the default set up. If\nyou had configured custom options on the Compose compiler, see the following\nsection.\n\nSet up without Gradle version catalogs\n--------------------------------------\n\nTo set up the Compose Compiler Gradle plugin without version catalogs, add the\nfollowing plugin to `build.gradle.kts` files associated with modules you use\nCompose: \n\n plugins {\n id(\"org.jetbrains.kotlin.plugin.compose\") version \"2.0.0\" // this version matches your Kotlin version\n }\n\nConfiguration options with the Compose Compiler Gradle Plugin\n-------------------------------------------------------------\n\nTo configure the Compose compiler using the Gradle plugin, add the\n`composeCompiler` block to the module's `build.gradle.kts` file at the top\nlevel. \n\n android { ... }\n\n composeCompiler {\n reportsDestination = layout.buildDirectory.dir(\"compose_compiler\")\n stabilityConfigurationFile = rootProject.layout.projectDirectory.file(\"stability_config.conf\")\n }\n\nFor the full list of available options, see the [documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html#compose-compiler-options-dsl)."]]