配置三叶草排除文件模式

时间:2011-04-26 15:47:02

标签: java ant clover

问候,

我使用ant设置了clover 3.0,并使用以下文件排除:

<clover-setup initString="${clover.initstring}" flushpolicy="threaded" flushinterval="30000">
    <methodContext name="tostring" regexp="(.* )?public String toString\(.*\).*" />
    <files>
        <exclude name="**/*Test.java" />
        <exclude name="**/entity/fields/*.java" />
    </files>
</clover-setup>

正确排除*测试文件,toString()调用也是如此,实体/字段包下的文件不是。 <files> ant类型是否与两个项目一起排除?您可以在排除名称上定义部分包裹吗?我使用**/.....格式,因为文档说的是像

这样神秘的东西

Ant模式集,相对于顶级包(例如com / cenqua / clovertest),控制Clover工具中包含或排除哪些文件的元素。如果您希望根据包排除文件,请使用此选项。

从这一点开始,我从样本中的clovertest开始,虽然我不确定它是如何知道top level package is的?这是带文件的第一个包吗?

作为一个例子,我想要排除的java类就像

package com.acme.missileinabox.common.entity.fields;

public class ActivityFields {
   ....
}

知道我在做什么吗?我发布了问题here但没有回复。

1 个答案:

答案 0 :(得分:1)

您可能需要指定<fileset>,可能包含一个或多个<patternset>,如<fileset>中的<clover-setup>主题所述。

附录:如果您将<files>更改为<fileset>,则可以使用后者的隐式<patternset>不变:

<fileset>
    <exclude name="**/*Test.java" />
    <exclude name="**/entity/fields/*.java" />
</fileset>

或者,使用<files>并嵌套显式的<patternset>

<files>
    <patternset>
        <exclude name="**/*Test.java" />
        <exclude name="**/entity/fields/*.java" />
    </patternset>
</files>