sindrom
@sindrom

Задание дополнительного аругмента для ant или phing

Вопрос ко всем, кто использует ant или phing.
Я хочу написать сценарий, который будет деплоить некоторый проект на сервер. При этом, в строке запуска задачи я хочу иметь возможность указать переменную, которая будет указывать в каком окружении я собираюсь выполнять деплой (тестовое, продакшн и т.п). Хочется, чтобы это выглядело примерно следующим образом:
phing deploy test
Где deploy — это имя задачи, естественно, а test — это переменная, указывающая на окружение.

Мой вопрос: как в ant или phing можно перехватить значение второго аргумента (после имени задачи)?
  • Вопрос задан
  • 2577 просмотров
Пригласить эксперта
Ответы на вопрос 3
javax
@javax
Software Architect, Java Developer since 1996
Может в анте отдельные задачи сделать? Сколько там у вас видов деплоя…
Ответ написан
m00t
@m00t
Можно phing-у передать параметры через -D. Не очень красиво выглядит — зато без костылей ИМХО
	<target name="test_env">
		<echo>${environment}</echo>
	</target>

m00t@m00t:~/***$ phing test_env -Denvironment=test1
Buildfile: ****/build.xml

**** > test_env:

     [echo] test1

BUILD FINISHED

Total time: 0.0969 seconds
Ответ написан
@LastDragon
Для ant-а: (большая часть вырезана)
ant [options] [target [target2 [target3] ...]]
Options:
  -D<property>=<value>   use value for given property
  -propertyfile <name>   load all properties from file with -D

ant.apache.org/manual/running.html

Но отдельные цели, по-моему, более понятны. Еще вариант — создать псевдоцели действие которых будет сводится к установке нужных свойств и вызову нужной цели.

P.S. Когда выбирал между phing-ом и ant-ом остановился на последнем, т.к. (1) более универсален и (2) имеет полноценную поддержку в eclipse.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы