在脚本下面生成动态复制任务(cbat)。 但是执行
gradle cbat
仅执行
copyFiles
方法定义(仅限println语句),但不要将文件从源目录复制到目标目录。
请在下面找到简化的build.gradle: -
group 'learn'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.5
task fileCopy{
group 'Config'
description 'Copy task'
ext.scriptSrc = 'C:\\Users\\devuser\\Desktop\\jars\\src\\binwin'
ext.scriptDest = 'C:\\Users\\devuser\\Desktop\\jars\\dest'
ext.includeEmptyDirs = false
//This adds a cbat gradle task
copyFiles("cbat", scriptSrc, scriptDest, "*.bat", includeEmptyDirs)
}
def copyFiles(String taskName, String source, String dest, String pattern, boolean includeEmptyDirs = false){
println "$taskName"
println "$source"
println "$dest"
println "$pattern"
println "$includeEmptyDirs"
task "$taskName" (type:org.gradle.api.tasks.Copy) << {
includeEmptyDirs = includeEmptyDirs
FileCollection collection = fileTree(source).include(pattern)
from( collection )
into dest
}
}
我已经确认源目录和目标目录存在。
答案 0 :(得分:0)
你必须调用'execute()'来运行任务,如下所示:
task copyFiles<<{
task ([type:Copy], 'name'){
println this.name
}.execute()
}