2014-02-19 3 views
0

С одним файлом build.gradle в каталоге in и следующих задач:Задача копирования не помещает скопированные файлы в свои TaskOutputs - почему?

task cpy(type: Copy) { 
    from 'in' 
    into 'out' 
} 

tast testIn << { 
    println cpy.inputs.files.files 
} 

task testOut << { 
    println cpy.outputs.files.files 
} 

Почему gradle testOut только печать:

[...\out]

когда gradle testIn печатает:

[...\in\build.gradle]

Ясно, что здесь есть несогласованность. В задании задаются точные файлы, которые он скопировал, но вывод указывает только каталог, в который он скопировал файлы, а не файлы. Это специально?

Я могу придумать множество случаев, когда полезно знать конечные пути копируемых файлов. Можно было бы отменить операцию копирования; без фактических путей к файлам после копирования приходится вручную их создавать, перемещая входные файлы и добавляя их имена в выходной путь. А как насчет «актуальной» функциональности Gradles - если cpy.outputs - это весь каталог, хотя он копирует только один файл, тогда снимок, сделанный Gradle, охватывает больше, чем нужно.

ответ

0

Выходы задачи Copy в настоящее время определяются как один выходной каталог. Это известное ограничение.

Смежные вопросы