Compose 編譯器選項 DSL
Compose 編譯器 Gradle 外掛程式為各種編譯器選項提供了領域特定語言 (DSL)。 你可以在套用該外掛程式的模組的 build.gradle.kts
檔案中,使用 composeCompiler {}
區塊來設定編譯器。
你可以指定兩種選項:
- 一般編譯器設定,可根據任何專案的需求啟用或停用。
- 功能旗標 (Feature flags),用於啟用或停用新的和實驗性功能,這些功能最終應成為基準 (baseline) 的一部分。
你可以在 Compose 編譯器 Gradle 外掛程式 API 參考資料中找到 可用的一般設定列表 和 支援的功能旗標列表。
以下是一個設定範例:
kotlin
composeCompiler {
includeSourceInformation = true
featureFlags = setOf(
ComposeFeatureFlag.StrongSkipping.disabled(),
ComposeFeatureFlag.OptimizeNonSkippingGroups
)
}
DANGER
Gradle 外掛程式為數個 Compose 編譯器選項提供了預設值,而這些選項在 Kotlin 2.0 之前僅需手動指定。
例如,如果你使用 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 參考資料中 支援的功能旗標列表。