Подтвердить что ты не робот

Поднять ошибку, если переменная не определена в Ant

Мне нужно, чтобы пользователь определял переменную во время компиляции, мне все же нужно решить, будет ли она переменной окружения или свойством (ant -Dname=value).

Как я могу поднять ошибку во время компиляции, если переменная не была определена пользователем?

4b9b3361

Ответ 1

Для первого вопроса:

Если переменная предназначена для условий среды, отличных от приложения, то сделайте ее переменной среды (ОС). В противном случае сделайте это свойство. Очевидно, что это не полностью отвечает на ваш вопрос, поскольку вам все же нужно определить, что это означает (для вашего приложения или системы), чтобы сказать, что переменная является средой.

Другое руководство - спросить себя, можете ли вы (или будете иметь) более одного приложения, которые зависят от разных значений одной и той же переменной, которые, возможно, будут развернуты в одной и той же системе. В таком случае мы не можем использовать переменную окружения, а переменные на основе свойств - единственный способ.

Для второго вопроса:

Используйте Ant встроенную Fail задачу, чтобы прервать сборку, если условие или свойство не задано. В документации Ant по Неудачная задача вы можете получить представление о том, как это сделать, если вы используете переменную, основанную на свойствах:

  <fail>
     <condition>
       <not>
         <isset property="thisdoesnotexist"/>
       </not>
     </condition>
   </fail>

Если вы решите использовать переменную окружения, вы просто используете атрибут среда задачи Свойство, чтобы использовать переменные среды (ОС) так же, как если бы они были построены свойства (pls ссылаются на применимую документацию для примеров.)

Надеюсь, что это поможет.

Ответ 2

Просто добавьте:

<fail unless="var1" message="var1 is not set"/>

Если var1 не установлен, сборка завершится с ошибкой.