我有一个用 groovypublish.gradle 编写的自定义发布文件,我想将其迁移到publish.gradle.kts 文件, 例如,问题似乎应用插件无法在除 build.gradle.kts 之外的任何文件中工作
publish.gradle.kts
apply(plugin ="maven-publish")
apply(plugin ="com.jfrog.artifactory")
artifactory{ .....
....
即使添加 jfrog 插件后,我也无法访问此文件中的artifactory 方法,这可能吗?我遗漏了一些东西?
在 Kotlin 中实现的方法是编写一个 预编译脚本插件。
Kotlin 脚本需要更多设置,因为它是静态类型的 - 编译器需要知道编译时可用的类型。
最简单的设置方法是使用
buildSrc
文件夹:
将脚本写入文件中,例如
publish.gradle.kts
中 buildSrc/src/main/kotlin
在
build.gradle.kts
文件夹中添加一个buildSrc
文件(是的,脚本本身需要构建)并至少放置以下内容:
plugins {
`kotlin-dsl`
}
Kotlin DSL 插件会查找 Kotlin 脚本插件并将它们放在构建类路径中。您的脚本需要的任何其他类型(包括外部插件 JAR)都需要在此处提供。
现在您可以在主项目构建文件中应用您的插件:
plugins {
publish
}