我有一个Ant脚本,我在Eclipse中运行,它在控制台中输出如下:
buildStuff:
[echo] Building <project>
doStuff:
syncStuff:
[sync] Copying 1 file to <directory>
doOtherStuff:
callWebservice:
[http] HTTP Request
[http] ********************
[http] URL: <url>
[http] Method: GET
[http] HTTP Response
[http] ********************
[http] Status: 200
[echo] [callWebservice] Success
我想将部分/全部输出放入ant脚本中的属性中。
使用exec任务,我可以指定“outputproperty”属性,但 不适用于antcall任务。
那么,如何从ant中访问或重定向控制台输出?
答案 0 :(得分:4)
好的,找到了有用的东西......
record 任务可以侦听输出并将其发送到文件。
显然它不允许相对路径 - 文件创建在与构建脚本相同的目录中(与基线值无关)。
然后可以使用loadfile任务将其放入属性中,然后delete进行清理。
将记录器输出直接指向属性会更好,但无论出于何种原因,这似乎都不是一种选择。
总之,这有效:
<record name="${CurProject}.status" />
<echo>Building ${CurProject}</echo>
etc...
<record name="${CurProject}.status" action="stop" />
<loadfile srcFile="build/${CurProject}.status" property="Status" />
<delete file="build/${CurProject}.status" />