Это можно сделать, но это немного связано.В самой задаче input
нет опции для простого выполнения того, что вы хотите.
Однако в Ant 1.7 или более поздней версии вы можете управлять выводом (и вводом) задачи input
, предоставляя обработчик ввода .Ant поставляется с несколькими обработчиками ввода, например, для безопасного ввода, который не отображает то, что вы вводите на экран.Вы можете, если хотите, написать свой собственный обработчик ввода и таким образом получить полный контроль над тем, как выглядит ввод и вывод.
Чтобы написать обработчик ввода, вы должны написать класс, который реализует InputHandler
интерфейс.Я рекомендую вам скачать исходный код Ant, взглянуть на DefaultInputHandler
и создать свою собственную версию, изменив ее в соответствии с вашими потребностями.В исходном коде Ant v1.8.3 приглашение и ввод реализованы следующим образом:
r = new BufferedReader(new InputStreamReader(getInputStream()));
do {
System.err.println(prompt);
System.err.flush();
try {
String input = r.readLine();
request.setInput(input);
} catch (IOException e) {
throw new BuildException("Failed to read input from"
+ " Console.", e);
}
} while (!request.isInputValid());
Я не пробовал, но замена println
на print
кажется хорошей идеей..
Когда вы закончите, вы можете указать задачу Ant input
на ваш скомпилированный обработчик ввода, используя параметры classname
и (например) classpath
.