使用 ANT 更新带有 exec 输出的 YML 文件
Use ANT to update a YML file with exec output
我有一个 ANT 任务当前将最后一个 git 短提交哈希写入版本文件:
<target name="write-version-file-uat">
<exec executable="git" failonerror="true" output="${basedir}/some/path/version.html.twig">
<arg value="rev-parse"/>
<arg value="--short"/>
<arg value="HEAD"/>
<redirector>
<outputfilterchain>
<striplinebreaks />
<trim />
</outputfilterchain>
</redirector>
</exec>
</target>
我想更改此任务以更新 version.yml.dist
文件中的变量:
parameters:
version: version_value
并将新文件输出到version.yml
parameters:
version: this2is1ahash
如何更改重定向器以写入此变量?
我是否需要创建一个临时版本文件,然后 运行 另一个任务来获取该内容并更新变量,或者我可以一次完成所有这些吗?
我已经使用以下方法实现了上述目标,但我不确定这是最干净的解决方案:
<target name="write-version-file">
<exec executable="git" failonerror="true" output="${basedir}/some/path/version.yml">
<arg value="describe"/>
<arg value="--tags"/>
<redirector>
<outputfilterchain>
<striplinebreaks />
<trim />
<prefixlines prefix="parameters: ${line.separator} version: " />
</outputfilterchain>
</redirector>
</exec>
</target>
我有一个 ANT 任务当前将最后一个 git 短提交哈希写入版本文件:
<target name="write-version-file-uat">
<exec executable="git" failonerror="true" output="${basedir}/some/path/version.html.twig">
<arg value="rev-parse"/>
<arg value="--short"/>
<arg value="HEAD"/>
<redirector>
<outputfilterchain>
<striplinebreaks />
<trim />
</outputfilterchain>
</redirector>
</exec>
</target>
我想更改此任务以更新 version.yml.dist
文件中的变量:
parameters:
version: version_value
并将新文件输出到version.yml
parameters:
version: this2is1ahash
如何更改重定向器以写入此变量?
我是否需要创建一个临时版本文件,然后 运行 另一个任务来获取该内容并更新变量,或者我可以一次完成所有这些吗?
我已经使用以下方法实现了上述目标,但我不确定这是最干净的解决方案:
<target name="write-version-file">
<exec executable="git" failonerror="true" output="${basedir}/some/path/version.yml">
<arg value="describe"/>
<arg value="--tags"/>
<redirector>
<outputfilterchain>
<striplinebreaks />
<trim />
<prefixlines prefix="parameters: ${line.separator} version: " />
</outputfilterchain>
</redirector>
</exec>
</target>