Compose コンパイラ オプション DSL
Compose コンパイラ Gradle プラグインは、さまざまなコンパイラオプションを設定するための DSL を提供しています。 プラグインを適用しているモジュールの build.gradle.kts ファイル内にある composeCompiler {} ブロックを使用して、コンパイラの設定を行うことができます。
指定できるオプションには以下の 2 種類があります。
- 一般的なコンパイラ設定。プロジェクトに応じて必要に応じて有効化または無効化できます。
- 新規および実験的な機能を有効化または無効化する機能フラグ(Feature flags)。これらは最終的にベースラインの一部となる予定のものです。
利用可能な一般的な設定の一覧およびサポートされている機能フラグの一覧は、Compose コンパイラ Gradle プラグインの API リファレンスで確認できます。
設定例を以下に示します。
kotlin
composeCompiler {
includeSourceInformation = true
featureFlags = setOf(
ComposeFeatureFlag.StrongSkipping.disabled(),
ComposeFeatureFlag.OptimizeNonSkippingGroups
)
}Gradle プラグインは、Kotlin 2.0 より前は手動でしか指定できなかったいくつかの Compose コンパイラオプションに対して、デフォルト値を提供します。 たとえば、それらのいずれかを
freeCompilerArgsで設定している場合、Gradle はオプションの重複エラーを報告します。
機能フラグの目的と使用方法
機能フラグは、新しいフラグの導入(ロールアウト)や非推奨化が継続的に行われる中で、トップレベルのプロパティへの変更を最小限に抑えるために、独立したオプションのセットとして整理されています。
デフォルトで無効になっている機能フラグを有効にするには、セット内でそれを指定します。例:
kotlin
featureFlags = setOf(ComposeFeatureFlag.OptimizeNonSkippingGroups)デフォルトで有効になっている機能フラグを無効にするには、そのフラグに対して disabled() 関数を呼び出します。例:
kotlin
featureFlags = setOf(ComposeFeatureFlag.StrongSkipping.disabled())Compose コンパイラを直接設定している場合は、以下の構文を使用して機能フラグを渡します。
none
-P plugin:androidx.compose.compiler.plugins.kotlin:featureFlag=<flag name>Compose コンパイラ Gradle プラグインの API リファレンスにあるサポートされている機能フラグの一覧を参照してください。
