我可以在 Kotlin 中编写 gradle buildSrc 吗?
Can I write gradle buildSrc in Kotlin?
我想用 Kotlin 而不是 Java 编写我的 Gradle buildSrc,因为其他所有内容也是 Kotlin。
我已经在 buildSrc/src/main/kotlin
和 buildSrc/src/main/java
中尝试了 .kt
个文件,但都不会被编译。至少当我把它们放在 /java
时,IntelliJ 确实识别它们,但是当 运行 Gradle 任务时找不到它们。
那么,如何 Gradle 查看 Kotlin 构建源代码?
buildSrc
被视为包含的构建,只要应用所需的插件,您就可以在该项目中使用任何支持的语言。
以下设置应该有效:
buildSrc/build.gradle
plugins {
id("org.jetbrains.kotlin.jvm") version "1.3.72"
}
repositories {
mavenCentral()
}
自定义任务:
buildSrc/src/main/kotlin/tasks/MyKtTask.kt
package tasks
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
open class MyKtTask : DefaultTask() {
@TaskAction
fun execute() {
println("kotlin tasks executed")
}
}
使用自定义任务:
build.gradle
task "testKt" (type: tasks.MyKtTask){
doLast{
// do something
}
}
我想用 Kotlin 而不是 Java 编写我的 Gradle buildSrc,因为其他所有内容也是 Kotlin。
我已经在 buildSrc/src/main/kotlin
和 buildSrc/src/main/java
中尝试了 .kt
个文件,但都不会被编译。至少当我把它们放在 /java
时,IntelliJ 确实识别它们,但是当 运行 Gradle 任务时找不到它们。
那么,如何 Gradle 查看 Kotlin 构建源代码?
buildSrc
被视为包含的构建,只要应用所需的插件,您就可以在该项目中使用任何支持的语言。
以下设置应该有效:
buildSrc/build.gradle
plugins {
id("org.jetbrains.kotlin.jvm") version "1.3.72"
}
repositories {
mavenCentral()
}
自定义任务:
buildSrc/src/main/kotlin/tasks/MyKtTask.kt
package tasks
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
open class MyKtTask : DefaultTask() {
@TaskAction
fun execute() {
println("kotlin tasks executed")
}
}
使用自定义任务:
build.gradle
task "testKt" (type: tasks.MyKtTask){
doLast{
// do something
}
}