Следующий тег exec ANT ведет себя не так, как ожидалось.
<exec executable="c:\scratch\test.cmd">
<arg value="A,B,C"/>
</exec>
При выполнении я ожидаю, что это вызовет text.cmd с 1 аргументом. Однако аргумент расширяется до трех отдельных аргументов.
Согласно Руководству, значение должно передавать содержимое как один аргумент, однако оно передается как три (по одному для каждого компонента строки, разделенных запятой).
Я попытался заменить команду "," точкой с запятой (;), но это тоже не работает. Похоже, что атрибут value arg анализирует предоставленную строку, как если бы это был путь, а это не так.
Кто-нибудь знает, как "A, B, C" передать как один аргумент?
Для полноты мой файл test.cmd выглядит следующим образом:
@echo off
echo Arg1: %1
echo Arg2: %2
echo Arg3: %3
echo Arg4: %4
echo Arg5: %5
echo Arg6: %6
echo Arg7: %7
echo Arg8: %8
echo Arg9: %9
и вывод сборки муравья:
[exec] Arg1: A
[exec] Arg2: B
[exec] Arg3: C
[exec] Arg4:
[exec] Arg5:
[exec] Arg6:
[exec] Arg7:
[exec] Arg8:
[exec] Arg9: