С одним файлом 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, охватывает больше, чем нужно.