我有三个Gradle任务,如果我一个一个地执行它们,那么它就能工作。但是当我从另一个任务中执行它们时,它就不能工作了。以下是我的任务
import com.github.gradle.node.npm.task.NpmTask
plugins {
id("com.github.node-gradle.node") version "3.4.0"
}
// Executing this task on its own is working
tasks.register<NpmTask>("buildFrontEnd") {
我有一个Gradle多项目构建,其中有一个主目录,其中包含公共定义,还有一些项目是通过include语句在settings.gradle中定义的。
构建、测试、运行都很好,但通过任务dependencies显示依赖关系不起作用,它只打印:
$ g dependencies
master
:dependencies
------------------------------------------------------------
Root project
------------------------------------------------------------
No co
我对gradle很陌生,我尝试使用“复制”类型的任务将文件从一个文件夹复制到另一个文件夹,但它不起作用。以下是我的脚本:
def dest = 'newfolder'
task copy(type: Copy) << {
println dest
from "src"
into dest
}
但是,如果我删除"<<“并再次运行gradle复制,它就能工作。脚本如下:
def dest = 'newfolder'
task copy(type: Copy) {
println dest
我在gradle复制文件时遇到了问题。下面是build.gradle的一个片段
task mydir() {
new File("build/models").mkdir()
}
task copyTask(dependsOn:mydir, type: Copy){
from 'src/test/groovy/models'
into 'build/models'
from 'src/test/groovy/test.groovy'
into 'build/'
}
这里的问题
我准备了一个非常简单的脚本,它说明了我看到的使用Gradle 1.7的问题(因为一些插件还不支持更新版本,所以需要继续使用它)。
我试图动态地创建任务,每个任务对应于项目目录中的一个文件。这很好,但是我创建的任务在我给它们分配'Copy‘类型之后就永远不会被执行。
这是我的问题,build.gradle
file('templates').listFiles().each { File f ->
// THIS LINE DOES NOT WORK
task "myDist-${f.name}" (type: Copy) {
我正在创建一个Gradle任务,在该任务中,我希望下载并引用存在于Maven存储库中的工件的jar文件。具体来说,我计划使用jar的位置作为脚本的参数,通过Gradle 任务调用外部脚本。使用exec任务很简单;我想弄明白的是如何获取工件的jar文件在文件系统上的位置。
作为一个简单而具体的例子,假设我在Gradle项目目录中有以下文件:
build.gradle:
task myScript(type: Exec) {
executable './my_script.sh'
args jarFilePath // How do I get this value
我可能没有为这个问题设置正确的标题,这是因为我在Gradle方面不是很高级,所以很抱歉。
我的build.gradle中有以下Gradle任务:
// buildSrc/src/main/groovy/envs/actions - This where all the groovy classes which I use are located
import envs.actions.*
tasks.create("createEnvironment", CreateApplicationEnvironmentTask) {
println "executi