gpt4 book ai didi

java - ANT xml 属性 : demux properties with multiple values

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:02 24 4
gpt4 key购买 nike

我正在使用 cobertura 来计算测试覆盖率。我希望我的 ant 脚本回显有关特定包的覆盖信息。

到目前为止,我有:

   <target name="coverage-check">
<loadfile property="coveragexml" srcFile="${coverage.report.dir}/coverage.xml">
<filterchain>
<linecontains negate="true">
<contains value="!DOCTYPE"/>
</linecontains>
</filterchain>
</loadfile>

<xmlproperty validate="false">
<string value="${coveragexml}"/>
</xmlproperty>
</target>

这可以将各种 cobertura 信息加载到 ant 变量中,例如:coverage.packages.package(name)=lots,of,package,names

我想找到一种方法将特定的包名称(来自一个变量)应用到存储在其他变量中的覆盖率指标。如果我使用的是 python、lisp 等,我会将它们压缩在一起,然后进行搜索。我不知道如何在 ant 中进行压缩或搜索。

最佳答案

我用xmltask做了一个例子

<target name="xml-test">
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask" classpathref="extension.classpath"/>
<property name="xml.file" location="coverage.xml"></property>

<!-- package to search for -->
<property name="packageName" value="foo"></property>

<!-- extract for example line-rate and echo it -->
<xmltask source="${xml.file}">
<copy path="/coverage/packages/package[@name='${packageName}']/@line-rate" property="line-rate" />
</xmltask>

<echo>
Line Rate: ${line-rate}
</echo>

<!-- extract complete xml-block for package ${packageName}
and write it to other file
-->

<xmltask source="${xml.file}">
<copy path="/coverage/packages/package[@name='${packageName}']" buffer="foo-buffer" append="true" />
</xmltask>
<!-- write cut out to file -->
<xmltask dest="foo-coverage.xml">
<insert path="/" buffer="foo-buffer"/>
</xmltask>
</target>

不幸的是,从源 xml 复制的片段默认不会回显,而是写入另一个文件。

这不是解决方案,而是一个可能有帮助的示例。

我认为自己编写自定义 ant 任务的工作量会更少。

关于java - ANT xml 属性 : demux properties with multiple values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27041793/

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