跳至主要内容

Compose 編譯器選項 DSL

Compose 編譯器 Gradle 插件提供了一個 DSL(領域特定語言)用於各種編譯器選項。 您可以使用它在您要套用該插件的模組的 build.gradle.kts 檔案的 composeCompiler {} 區塊中配置編譯器。

您可以指定兩種選項:

  • 一般的編譯器設定,可以根據需要在任何給定的專案中停用或啟用。
  • 功能標誌 (Feature Flags),用於啟用或停用新的和實驗性的功能,這些功能最終應成為基準的一部分。

您可以在 Compose 編譯器 Gradle 插件 API 參考中找到 可用的一般設定清單支援的功能標誌清單

以下是一個範例配置:

composeCompiler {
includeSourceInformation = true

featureFlags = setOf(
ComposeFeatureFlag.StrongSkipping.disabled(),
ComposeFeatureFlag.OptimizeNonSkippingGroups
)
}
警告

Gradle 插件為幾個 Compose 編譯器選項提供了預設值,這些選項在 Kotlin 2.0 之前只能手動指定。 如果您使用 freeCompilerArgs 設定了其中任何一個,例如,Gradle 會報告重複選項錯誤。

功能標誌的目的和使用

功能標誌被組織成一個獨立的選項集合,以最大限度地減少頂層屬性的更改,因為新的標誌會不斷推出和棄用。

要啟用預設停用的功能標誌,請在集合中指定它,例如:

featureFlags = setOf(ComposeFeatureFlag.OptimizeNonSkippingGroups)

要停用預設啟用的功能標誌,請在其上調用 disabled() 函數,例如:

featureFlags = setOf(ComposeFeatureFlag.StrongSkipping.disabled())

如果您直接配置 Compose 編譯器,請使用以下語法將功能標誌傳遞給它:

-P plugin:androidx.compose.compiler.plugins.kotlin:featureFlag=<flag name>

請參閱 Compose 編譯器 Gradle 插件 API 參考中的支援的功能標誌清單