如何使用Ant';输入';任务
有人知道如何在Ant脚本中输入多行值吗?我使用提示用户Subversion提交注释,并且我希望能够支持多行文本 我正在Windows命令提示符下运行Ant的独立版本如何使用Ant';输入';任务,ant,Ant,有人知道如何在Ant脚本中输入多行值吗?我使用提示用户Subversion提交注释,并且我希望能够支持多行文本 我正在Windows命令提示符下运行Ant的独立版本 我想我可能可以搜索并替换,但在Ant中找不到任何简单的方法可以将属性值替换为属性值。看起来我必须编写一个文件,然后将该文件加载到另一个属性中。我并不那么想要它。对此我不是100%肯定,但我看了一下Ant源代码,它只是做了一个readLine(): 从/org/apache/tools/ant/input/DefaultInputHa
我想我可能可以搜索并替换,但在Ant中找不到任何简单的方法可以将属性值替换为属性值。看起来我必须编写一个文件,然后将该文件加载到另一个属性中。我并不那么想要它。对此我不是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);
}
}
}
}
如果我是你,我会这么做:
- 如果您使用的是Ant 1.7,那么请尝试实现您自己的InputHandler,如中所述。Apache许可证允许您基本上复制和粘贴上述代码作为起点
- 如果您使用的是Ant1.6或更早版本,那么只需创建自己的多输入任务。您可以扩展现有的输入类,只需读取多行即可