在一个项目中,我有两个文件夹project/server
和project/web
。
project/server
是带有build.gradle.kts
文件的spring boot应用程序的根目录,而project/web
是具有package.json
脚本(例如{{1})的React应用程序的根目录}。我想在npm start
文件夹中创建一个自定义gradle任务,以运行“ npm install”和“ npm start”,但是在编写此任务时遇到了麻烦。
我一直在关注https://karl.run/2018/05/07/kotlin-spring-boot-react/,并且在该教程的要运行的部分被绊倒了:
project/server
我无法使用这些代码段,因为Kotlin无法识别这些代码段。
答案 0 :(得分:1)
这是转换为Kotlin DSL的脚本:
import com.moowork.gradle.node.npm.NpmTask
// Task for installing frontend dependencies in web
val installDependencies by tasks.registering(NpmTask::class) {
setArgs(listOf("install"))
setExecOverrides(closureOf<ExecSpec> {
setWorkingDir("../web")
})
}
// Task for executing build:gradle in web
val buildWeb by tasks.registering(NpmTask::class) {
// Before buildWeb can run, installDependencies must run
dependsOn(installDependencies)
setArgs(listOf("run", "build:gradle"))
setExecOverrides(closureOf<ExecSpec> {
setWorkingDir("../web")
})
}
// Before build can run, buildWeb must run
tasks.build {
dependsOn(buildWeb)
}