У меня есть пара дополнительных задач, которые выглядят примерно так:
task taskA(){
inputs.file('config')
outputs.file('a-out')
}
task taskB(dependsOn: taskA){
/*
* Strictly speaking, 'a-out' is also a input of taskB, but
* if there is already output for taskB and 'config' has not changed,
* there is no need to regenerate 'a-out'.
*/
inputs.file('config')
outputs.file('b-out')
}
taskB
- это актуальная задача, которая меня интересует, а taskA
служит только производителем промежуточных данных.для taskB
.При отсутствии предыдущего вывода очень важно, чтобы taskA
был выполнен до taskB
.
Я хотел бы иметь возможность полностью пропустить taskA
, если taskB
обновлен (или загружен из кэша сборки), поскольку промежуточная генерация данных в этом случае просто теряет время.Приведенная выше настройка выведет UP-TO-DATE для обеих задач, но это не то, что мне нужно, поскольку при использовании кэша сборки распаковка кэша taskA
занимает немного времени, что опять-таки теряется.