任何人都知道如何在Ant脚本中输入多行值?我正在使用input task提示用户进行Subversion提交评论,我希望能够支持多行文本。
我在Windows命令提示符下运行Ant的独立版本。
我以为我可能能够进行搜索并替换\ n,但是我看不到在Ant中从属性值替换为属性值的任何简单方法。看起来我必须编写一个文件replace in the file,然后将该文件加载到另一个属性中。我不是那么想要它。
答案 0 :(得分:5)
我对此并不是100%肯定,但我看了一下Ant源代码,它只是执行readLine():
来自/org/apache/tools/ant/input/DefaultInputHandler.java:
/**
* Prompts and requests input. May loop until a valid input has
* been entered.
* @param request the request to handle
* @throws BuildException if not possible to read from console
*/
public void handleInput(InputRequest request) throws BuildException {
String prompt = getPrompt(request);
BufferedReader r = null;
try {
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());
} finally {
if (r != null) {
try {
r.close();
} catch (IOException e) {
throw new BuildException("Failed to close input.", e);
}
}
}
}
如果我是你,我会怎么做:
在任何一种情况下,您都需要决定用户如何表明“我已经完成了”。您可以使用空行或句号等。
祝你好运!P.S。当我在谷歌搜索“蚂蚁多行输入”时,这个页面是第一个命中:-)。对于不到一小时前提出的问题,这个问题非常令人印象深刻。