2

我有一个在 Eclipse 中运行的 Ant 脚本,它在控制台中输出,如下所示:

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任务,我可以指定“输出属性”属性,但这不适用于antcall任务

那么,如何从 ant 中访问或重定向控制台输出?

4

1 回答 1

4

好的,找到了一些有用的东西......

记录任务可以监听输出并将其发送到文件。

显然它不允许相对路径 - 该文件与构建脚本在同一目录中创建(与 basedir 值无关)。

然后可以使用loadfile任务将其放入属性中,然后删除以进行清理。

将记录器直接输出到属性会更好,但这似乎不是一个选项,无论出于何种原因。

总之,这有效:

<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" />
于 2012-06-01T14:24:00.243 回答