У меня есть сборка script, и как часть этого script он копирует файл jar в каталог, так как он легко позволяет называть его utils jar. утилита jar построена другой сборкой script, сидящей в другом каталоге. Что я пытаюсь сделать, если моя сборка script запускает сборку utils script, чтобы я мог убедиться, что утилита utils обновлена.
Итак, я знаю, что мне нужно импортировать файл сборки utils.
<import file="../utils/build/build.xml" />
Что не работает, потому что задача импорта, в отличие от почти всех других ant taks, не запускается с basedir, она запускается из pwd. Поэтому, чтобы обойти это, у меня есть эта маленькая мелодия, которая успешно импортирует файл сборки
<property name="baseDirUpOne" location=".." />
<import file="${baseDirUpOne}/utils/build/build.xml" />
Итак, теперь, когда я решил проблему импорта, мне нужно вызвать задачу, и это должно быть легко:
<antcall target="utils.package" />
Обратите внимание, что в приведенном выше, utils - это имя проекта.. /utils/build/build.xml
проблема, с которой я сейчас сталкиваюсь, заключается в том, что вызов ant не выполняется в.. /utils/build, поэтому мне нужно и не могу найти, это свойство runat или что-то подобное, по существу:
<antcall target="utils.package" runat="../utils/build" />
Причина, по которой я нуждаюсь в этом, заключается в том, что в моем файле сборки utils шаг для выбора кода для копирования в банку основан на относительных путях, чтобы избежать путей жесткого кодирования в моем файле ant. Есть идеи?