我正在将CodeNarc插件用于Gradle和CodeNarc 1.1。我正在使用DuplicateStringLiteral规则并在配置文件中传入ignoreStrings:[' 1',' 2']但该规则不遵守我传入的值。它是一个groovy配置文件,部分看起来像:
DuplicateStringLiteral (
ignoreStrings: ['1', '2']
)
我也在使用DuplicateNumberLiteral并以相同的方式定义了ignoreNumbers属性,这似乎工作正常,所以我不认为我的语法有误。该报告似乎获取了忽略的值,并在规则的定义中显示了这一行:
ignoreStrings属性([1,2])可以选择指定要忽略的以逗号分隔的字符串列表。
任何人都能看到我在这里做错了什么?
答案 0 :(得分:2)
文档显示ignoreStrings的默认值为空String ...而不是空List。这让我觉得当它说可选的逗号分隔的字符串列表应该被忽略(即,不会导致违规)。,这意味着把列表(注意缺少大小写)逗号分隔的字符串在属性的单个String值中。
TL; DR尝试:
DuplicateStringLiteral (
ignoreStrings: '1,2'
)