Skip to content

Composeコンパイラの移行ガイド

ComposeコンパイラはGradleプラグインによって補完されており、セットアップを簡素化し、コンパイラオプションへのアクセスを容易にします。 Android Gradleプラグイン (AGP) と共に適用される場合、このComposeコンパイラプラグインは、AGPによって自動的に提供されるComposeコンパイラの座標を上書きします。

Composeコンパイラは、Kotlin 2.0.0以降、Kotlinリポジトリにマージされました。 これにより、ComposeコンパイラがKotlinと同時にリリースされ、常に同じバージョンのKotlinと互換性があるため、プロジェクトのKotlin 2.0.0以降への移行が円滑になります。

新しいComposeコンパイラプラグインをプロジェクトで使用するには、Composeを使用するモジュールごとに適用します。 Jetpack Composeプロジェクトを移行する方法の詳細については、引き続きお読みください。Compose Multiplatformプロジェクトの場合は、マルチプラットフォーム移行ガイドを参照してください。

Jetpack Composeプロジェクトの移行

1.9からKotlin 2.0.0以降に移行する場合、Composeコンパイラの扱い方に応じてプロジェクト設定を調整する必要があります。設定管理を自動化するために、Kotlin GradleプラグインとComposeコンパイラGradleプラグインを使用することを推奨します。

GradleプラグインによるComposeコンパイラの管理

Androidモジュールの場合:

  1. Gradleバージョンカタログ にComposeコンパイラGradleプラグインを追加します:

    [versions]
    # ...
    kotlin = "2.1.21"
    
    [plugins]
    # ...
    org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
    compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  2. ルートのbuild.gradle.ktsファイルにGradleプラグインを追加します:

    kotlin
    plugins {
        // ...
        alias(libs.plugins.compose.compiler) apply false
    }
  3. Jetpack Composeを使用するすべてのモジュールにプラグインを適用します:

    kotlin
    plugins {
        // ...
        alias(libs.plugins.compose.compiler)
    }
  4. Jetpack Composeコンパイラのコンパイラオプションを使用している場合は、composeCompiler {}ブロックでそれらを設定します。参考として、コンパイラオプションのリストを参照してください。

  5. Composeコンパイラのアーティファクトを直接参照している場合は、これらの参照を削除し、Gradleプラグインに処理を任せることができます。

Gradleプラグインを使用しないComposeコンパイラの利用

Composeコンパイラの管理にGradleプラグインを使用していない場合は、プロジェクト内の古いMavenアーティファクトへの直接参照を更新してください:

  • androidx.compose.compiler:compilerorg.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddableに変更
  • androidx.compose.compiler:compiler-hostedorg.jetbrains.kotlin:kotlin-compose-compiler-pluginに変更

次に行うこと