2016-09-16 2 views
0

Ниже сценария создается задача динамической копии (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

Вы должны назвать 'Execute()' для запуска задачи, например:

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