Я хотел бы иметь возможность передавать необязательный параметр в вызов задачи ant, чтобы он отображался как не заданный для вызываемой цели, если он опущен (важно в условиях или при использовании атрибутов unless
или if
).Я не знаю, установлен ли optArg , поэтому я не могу жестко закодировать параметр.
Пример: для цели ant someTarget требуется обязательный параметр requiredArg и поддерживает необязательный параметр optArg .
. Я могу добиться этого путём простого дублирования:
<if><equals arg1="${optArg}" arg2="true" />
<then>
<ant dir="someDir" target="someTarget" inheritAll="false">
<property name="mandatoryArg" value="42" />
<property name="optArg" value="true" />
</ant>
</then>
<else>
<ant dir="someDir" target="someTarget" inheritAll="false">
<property name="mandatoryArg" value="42" />
</ant>
</else>
</if>
Я бы хотел пропустить, еслиутверждение, что вызов муравья не дублируется, не теряя необязательный характер optArg .Я уже нашел этот вопрос , который, кажется, охватывает другую проблему.
Я использую Ant 1.7 и ant-contrib.
Есть идеи?Спасибо!
РЕДАКТИРОВАТЬ: Я также принимаю ответы, которые объясняют, почему это действительно невозможно.