Есть ли возможность буквально переопределить цель или как-то подражать этому?
Итак, когда я вызываю
<target perform-after="release">
<do-something />
</target>
, он будет действовать следующим образом:
<target name="release">
<antcall target="release" /> <!-- call previous version, not recursion -->
<do-something />
</target>
Я думаю он имеет значение, я опишу его на примере Android:
У нас есть шаблоны .xml
для каждого build.xml
в папке SDK ( {$ SDK} /tools/ant/*.xml
), эти файлы включаются в каждый сгенерированный build.xml
для каждого проекта. Есть только цели -pre-compile
, -pre-build
и -post-compile
, которые пусты и легко переопределить. Но, например, нет пустой цели -post-release
. Google рекомендует в сгенерированных комментариях build.xml
просто скопировать и вставить цель в мой собственный build.xml
, а затем настроить его. Но я думаю, что это неправильно, потому что, если Google что-то изменит в этой цели внутри шаблона, я никогда не узнаю, что использую устаревшую версию.