有没有办法通过捕获shellcript的输出来设置ant属性?(或另一个蚂蚁任务)
像这样的东西:
<property name="foo">
<value>
<exec executable="bar" />
</value>
</property>
Run Code Online (Sandbox Code Playgroud)
谢谢!
似乎exec任务有一个outputproperty-property,如下所示:
<exec executable="bar" outputproperty="foo" />
Run Code Online (Sandbox Code Playgroud)
扩展@Nim 的答案:
该标记可以显示为 的直接子级。它不必位于 . 这赋予了它全局范围,就像标签一样。
另外,如果您需要复杂的命令,可以使用arg标签。
例如,如果您想将 Git 分支名称添加到 jar 清单中,您可以执行以下操作:
<project>
<property name="user" value="fred"/>
<!-- git.branch gets set globally -->
<exec executable="/usr/bin/git" outputproperty="git.branch">
<arg value="rev-parse"/>
<arg value="--abbrev-ref"/>
<arg value="HEAD"/>
</exec>
<target name="make-jar">
<jar jarfile="project.jar">
<manifest>
<attribute name="Built-By" value="${user}"/>
<attribute name="Git-Branch" value="${git.branch}"/>
</manifest>
<fileset dir="${classes.dir}" includes="**/*.class"/>
</jar>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)