我正在使用gradle-node-plugin来帮助减少项目的依赖关系。 Gradlew在我的项目中基本上取代了grunt或gulp。这使得java成为我唯一的依赖。
之前,我使用npm run tsc
并且我有一个运行tsc -w
的npm任务但是现在npm是一个gradle插件,我不能直接调用npm。我在build.gradle中有以下任务:
task watch(dependsOn: 'npmInstall', type: NpmTask) {
outputs.upToDateWhen { false }
args = ['run', 'tsc']
}
技术上它起作用。它首先确保npm插件已经安装了它的所有部分(包括typescript),然后将运行我的tsc任务。问题是tsc -w
永远不会终止。它会监视我的文件以进行更改,直到我选择终止它。它成功完成了此操作,但gradle会不断报告任务为Building 75% > :watch
。我在package.json
中有另一个任务,它在http-server
中提供我的文件,它的行为方式相同。
是否有一种首选方法让gradle运行这样一个永无止境的任务,或者我应该让它认为它是永久构建的?