gpt4 book ai didi

ant - 如何使用 Ant 'input' 任务读取多行值?

转载 作者:行者123 更新时间:2023-12-04 21:27:56 27 4
gpt4 key购买 nike

有人知道如何在 Ant 脚本中输入多行值吗?我正在使用 input task 提示用户进行 Subversion 提交评论,我希望能够支持多行文本。

我在 Windows 命令提示符下运行 Ant 的独立版本。

我想我可以搜索并替换\n,但我看不到任何简单的方法来在 Ant 中从属性值到属性值进行替换。看来我必须写一个文件,replace in the file , 然后将文件加载到另一个属性中。我不是那么想要它。

最佳答案

我对此不是 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,如 documentation 中所述. Apache 许可证允许您基本上复制并粘贴上述代码作为起点。
  • 如果您使用的是 Ant 1.6 或更早版本,那么只需创建您自己的 MultiLineInput 任务即可。您可以扩展现有的 Input 类并只读取多行。

无论哪种情况,您都需要决定用户如何表示“我完成了”。您可以使用空行或句点或其他内容。

祝你好运!

附言当我在谷歌上搜索“ant multi-line input”时,这个页面是第一个命中:-)。对于一个不到一小时前提出的问题来说,令人印象深刻。

关于ant - 如何使用 Ant 'input' 任务读取多行值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com