Проверка входных данных перед запуском зависимых задач
У меня есть скрипт сборки Ant, который мне нужен для компиляции части моего проекта (он ссылается на стороннюю систему сборки для используемых нами библиотек JavaScript).
Я хочу обернуть вокруг него Gradle, поэтому я импортировал сборку Ant и могу успешно вызывать цели Ant через Gradle. Я даже добавил проверку ввода и вывода для целей, чтобы они не запускались, если им не нужно
У целей Ant есть настройка, которую они выполняют - в основном, импорт конфигураций и настроек. Они делают это через зависимость от init
цель, которая занимает около 4-5 секунд, чтобы бежать. Что я хотел бы сделать, это запретить запуск цели init, если входные данные для основной задачи были выполнены.
Какие-либо предложения?
Пример сценария сборки Ant (build.xml
):
<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" default="build">
<target name="init" />
<target name="build" depends="init">
<echo message="hello" file="output.txt" />
</target>
</project>
Пример скрипта Gradle, чтобы пойти с ним (build.gradle
):
ant.importBuild 'build.xml'
build {
inputs.dir file('src')
outputs.file file('output.txt')
}
В идеале, когда я бегу gradle build
Я не хочу init
бежать, если build
до даты.
Какие-либо предложения?
1 ответ
Современная проверка для build
произойдет только после init
побежал. Что вы можете сделать, это объявить те же входные данные для init
и если у него нет файловых выходов, outputs.upToDateWhen { true }
, Возможно, это отвечает вашим потребностям.