如何在Gradle Kotlin DSL中应用和配置Kotlin无参数编译器插件?

如何在Gradle Kotlin DSL中应用和配置Kotlin无参数编译器插件?,gradle,kotlin,gradle-kotlin-dsl,Gradle,Kotlin,Gradle Kotlin Dsl,仅给出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

仅给出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")
}
import org.jetbrains.kotlin.noarg.gradle.NoArgExtension
插件{
id(“org.jetbrains.kotlin.plugin.noarg”)版本“1.3.31”
}
配置{
注释(“com.my.annotation”)
}
差异:

  • Kotlin DSL需要
    plugins
    块中的
    id
    s来接受插件id的参数
  • 该插件公开类型
    NoArgExtension
    ,然后导入该类型。它是
    configure
    块所必需的,在该块中,插件的配置类似于Groovy DSL
请解释您的代码片段的作用以及它如何解决问题