动态gradle复制未执行任务主体的任务



下面的脚本生成一个动态复制任务(cbat)。但是执行

gradle cbat

只执行

复制文件

方法定义(仅println语句),但不将文件从源目录复制到目标目录。

请找到下面的简化构建。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
    }
}

我已经验证了源目录和目标目录是否存在

必须调用'execute()'来运行任务,如下所示:

task copyFiles<<{
    task ([type:Copy], 'name'){
        println this.name
    }.execute()
}

最新更新