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
)
}
DANGER
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リファレンスで、サポートされているフィーチャーフラグのリストを参照してください。