2013-08-09 2 views
0

Я ищу сценарий моего процесса сборки. В настоящее время я могу создать файл build.xml вручную, а затем выполнить следующую команду для создания JAR файла:Возможно ли сгенерировать файл 'build.xml' из командной строки в Ant?

system("ant -f ~/build.xml") 

Я хотел бы восстановить мой build.xml файл каждый раз, когда я бегу этот сценарий так, что я гарантировать, что все изменения находятся в файле build.xml. Есть ли команда Ant, которую я могу запустить для создания этого файла build.xml?

Для справки, я использую IntelliJ IDEA, чтобы создать файл build.xml.

+1

Это вопрос Ителлии? Одной из главных причин, по которым люди предпочитают ANT, является то, что он дает им полный контроль над процессом их сборки. Maven, с другой стороны, призвана избегать написания логики сборки, вместо этого полагаясь на стандартный жизненный цикл сборки, настраиваемый с помощью плагинов. Прежде чем писать свой собственный инструмент сборки, выберите вариант. В худшем случае вы узнаете новую технику :-) –

+0

Спасибо, Марк, я загляну в это завтра, как только смогу обсудить переход на maven с моим менеджером проектов –

ответ

0

Существуют и другие распространенные способы настройки вашей сборки в Ant. Как:

  • Вводя свойств (возможно, исключенного в файл build.properties) и
  • regular expressions, где это возможно.

Они должны охватывать большинство случаев использования в Ant.

Для более сложного материала вы можете даже пойти на более логику, используя ant-contrib tasks.

В качестве альтернативы:

  • Если вы все еще хотите придерживаться генерации файла пользовательского build.xml каждый раз, вы могли бы пойти на некоторые XSLT преобразования, где вы могли бы сделать это. Я бы сказал, что это не обычная практика. Или
  • пойти Maven, как это было предложено в комментарии или даже
  • пойти Grails

Однако, чтобы помочь вам выбрать подходящее решение, вы должны сообщить нам некоторые подробности о build.xml изменения, которые вы» d хотел бы достичь.

+0

Спасибо Петру за этот ответ. Сегодня я не могу внести никаких изменений и не буду касаться кода до завтра. Менеджер проекта предложил муравьям над maven при запуске проекта, однако, если maven - более полезный инструмент, он может быть убежден иначе. Я буду обсуждать это с ним завтра, и если это не вариант, я буду использовать свойства в сборке xml. Я уже подумывал об этом, но не хотел следовать этому пути, если уже была техника с использованием муравья. –

+0

Вы не упоминаете о макродефах и ANT-библиотеках ... По моему опыту, они гораздо полезнее писать повторяемую и повторно используемую логику. И я должен уважительно не согласиться с вашей рекомендацией использовать ant-contrib, когда ANT нуждается в написании сценариев, тогда настало время внедрить язык сценариев (см. Задачу скрипта). –

+0

Пример Antlib: http: // stackoverflow.com/questions/15643191/how-to-manage-a-common-ant-build-script-through-multiple-project-build-jobs-on-je/15647898 # 15647898 –

Смежные вопросы