2016-05-06 99 views
0

我有一個目錄結構如下所示:搖籃總是跳過複製任務

./ 
    bar/ 
    build.gradle 
    foo/ 
     asdf.txt 

的build.gradle的內容是:

task qwer(type: Copy) << { 
    def from_dir = "foo" 
    def dest_dir = "bar" 
    println "From: " + from_dir 
    println "To: " + dest_dir 
    from(from_dir) 
    into(dest_dir) 
    include "*.txt" 
} 

當我執行​​在此之上目錄, gradle打印出:qwer任務是最新的,並且構建成功,但bar/保持空白,而這兩個println命令似乎從未打印過任何內容。

添加--info開關後,gradle這個報告這樣的:

Skipping task ':qwer' as it has no source files. 

我試圖改變它包括"*""asdf.txt",我嘗試了完全下降的包括線路,都具有相同的結果。

這是在Kubuntu 14.04上的Gradle 2.13,Java 1.8.0_66和Groovy 1.4.4。

那麼我需要做些什麼才能讓gradle真正複製文件?

回答

2

這對Gradle 2.12適合我。在原來的<<是一個問題,因爲我們不希望在這種情況下doLast行爲(我們要定義的任務):

task qwer(type: Copy) { 
    def from_dir = "foo" 
    def dest_dir = "bar" 
    println "From: " + from_dir 
    println "To: " + dest_dir 
    from(from_dir) 
    into(dest_dir) 
    include "*.txt" 
}