Проверка входных данных перед запуском зависимых задач

У меня есть скрипт сборки 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 }, Возможно, это отвечает вашим потребностям.

Другие вопросы по тегам