在 gradle 中排除声纳类

Posted

技术标签:

【中文标题】在 gradle 中排除声纳类【英文标题】:Exclude sonar classes in gradle 【发布时间】:2021-12-23 09:57:04 【问题描述】:

我正在尝试从我的 gradle 项目中排除特定包中的类,以便声纳不会解析它们。

看到sonar documentation for gradle,我在 build.gradle 文件中添加了以下内容:

 sonarqube 
     properties 
         property 'sonar.exclusions', "**/ws/**/"
     
 

这样在项目中传递声纳时,/ws/包内的所有类都将它们排除在外,但是在执行声纳时,这些类并没有被排除。

有没有办法在 gradle 中排除数据包,使它们不被声纳解析?

非常感谢!

【问题讨论】:

我认为您需要排除 "**/ws/**" 而不是 "**/ws/**/" 或者"**/ws/**/*" 嗨!我们还尝试了属性"sonar.exclusions", "**/ws/**/*.Java",声纳继续执行它们:( 为什么要用大写字母 J? 对不起,粘贴时格式改变了,“j”是小写"sonar.exclusions", "**/ws/**/*.java" 【参考方案1】:

试试类似的东西

 sonarqube 
     properties 
         property "sonar.language", "java"
         property 'sonar.exclusions', "**/ws/**/*.java"
     
 

【讨论】:

sonar.language 早就被删除了。 您好,我们已经尝试过,但没有成功:sonarqube properties property "sonar.language", "java" property 'sonar.exclusions', "**/ws/**/*.java" 我们还在 build.gradle 中尝试了以下内容,但仍然不排除类:jacocoTestReport executionData integrationTest, test reports xml.enabled true afterEvaluate classDirectories = files(classDirectories.files.collect fileTree(dir: it, exclude: '**/ws/**/*.java') )

以上是关于在 gradle 中排除声纳类的主要内容,如果未能解决你的问题,请参考以下文章

Gradle Build - 任务“:sonarqube”的执行失败无法被索引两次

在Gradle Android Studio中排除一个类文件

声纳多模块 Gradle Android 忽略 projectBaseDir

Gradle 依赖项排除后,依赖项仍在类路径上

Gradle排除依赖模块的某个类

声纳没有检查 Android 项目中的测试类