如何在 Gradle Kotlin DSL 中应用和配置 Kotlin No Arg 编译器插件?

How to apply and configure the Kotlin No Arg compiler plugin in Gradle Kotlin DSL?

documentation 仅在 Groovy DSL 中给出示例:

plugins {
  id "org.jetbrains.kotlin.plugin.noarg" version "1.3.31"
}

noArg {
    annotation("com.my.Annotation")
}

这如何转化为 Kotlin DSL?

因为 Kotlin DSL 是静态类型的,语法会与 Groovy DSL 略有不同。

import org.jetbrains.kotlin.noarg.gradle.NoArgExtension

plugins {
    id("org.jetbrains.kotlin.plugin.noarg") version "1.3.31"
}

configure<NoArgExtension> {
    annotation("com.my.Annotation")
}

差异:

  • Kotlin DSL 需要 plugins 块中的 ids 来接受插件 ID 的参数。
  • 该插件公开了类型 NoArgExtension,然后将其导入。它是 configure 块所必需的,其中可以类似于 Groovy DSL 配置插件。