【发布时间】:2021-11-14 12:43:35
【问题描述】:
在常规构建脚本中,您可以轻松地在 Project 上使用扩展,例如 Project.sourceSets,例如 build.gradle.kts:
sourceSets {
main {
...
}
}
但是当我在 buildSrc 模块中开发 Gradle 插件时,我无法访问这些。例如:
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.*
class ExamplePlugin : Plugin<Project> {
override fun apply(target: Project) {
target.sourceSets { // error because `sourceSets` can't be resolved.
}
}
}
尽管在我的 buildSrc 依赖项中包含了 kotlin-gradle-plugin 模块,但还是会发生这种情况:
plugins {
`kotlin-dsl`
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31")
}
那么,如何从我的 Gradle 插件中访问这些扩展?
【问题讨论】:
标签: java kotlin gradle gradle-plugin gradle-kotlin-dsl