Gradle Sonar 插件


当前第2页 返回上一页

build.gradle

project(":project2").sonar.project.language = "groovy"  

分析自定义的 Source Sets

默认情况下,Sonar 插件将分析 main source set 里的生产源文件,以及 test source sets 里的测试源文件。它的分析独立于项目的源目录布局。根据需要,可以添加额外的 source sets。

分析自定义的 Source Sets

build.gradle

sonar.project {
    sourceDirs += sourceSets.custom.allSource.srcDirs
    testDirs += sourceSets.integTest.allSource.srcDirs
}  

分析非 Java 语言

要分析非 Java 语言编写的代码,请安装相应的 Sonar 插件,并相应地设置 sonar.project.language :

分析非 Java 语言

build.gradle

sonar.project {
    language = "grvy" // set language to Groovy
}  

截至 Sonar 3.4,每个项目只可以分析一种语言。不过,在多项目构建中你可以为不同的项目设置不同的语言。

设置自定义的 Sonar 属性

最终,大多数配置都会以被称为 Sonar 属性的键-值对的形式传递给 Sonar 的代码分析器。在 API 文档中的 SonarProperty 注解显示了插件的对象模型的属性是如何映射到相应的 Sonar 属性中的。Sonar 插件提供了 hooks,用于 Sonar 属性传给代码分析器前的后置处理。相同的 hook 可以用来添加额外的属性,并且不会被插件的对象模型所覆盖。

对于全局的 Sonar 属性,可以使用 SonarRootModel 上的 withGlobalProperties hook:

设置自定义的全局属性

build.gradle

sonar.withGlobalProperties { props ->
    props["some.global.property"] = "some value"
    // non-String values are automatically converted to Strings
    props["other.global.property"] = ["foo", "bar", "baz"]
}  

对于每个项目的 Sonar 属性,使用 SonarProject 上的 withProjectProperties hook:

设置自定义的项目属性

build.gradle

sonar.project.withProjectProperties { props ->
    props["some.project.property"] = "some value"
    // non-String values are automatically converted to Strings
    props["other.global.property"] = ["foo", "bar", "baz"]
}  

Sonar 的可用属性的列表可以在 Sonar 文档中找到。注意,对于大多数的这些属性,Sonar 插件的对象模型具有等效的属性,且没有必要使用 withGlobalProperties 或withProjectProperties 的 hook。对于第三方 Sonar 插件的配置,请参阅插件的文档。

从命令行配置 Sonar 的设置

下面的属性或者可以从命令行中或者是作为 sonarAnalyze 任务的任务参数这两种方式之一来设置。任务参数将覆盖任何在构建脚本中设置的相应值。

  • server.url
  • database.url
  • database.driverClassName
  • database.username
  • database.password
  • showSql
  • showSqlResults
  • verbose
  • forceAnalysis

下面是一个完整的例子:

gradle sonarAnalyze --server.url=http://sonar.mycompany.com --database.password=myPassword --verbose  

如果你需要从命令行设置其他属性,你可以使用系统属性来做:

实现自定义命令行属性

build.gradle

sonar.project {
    language = System.getProperty("sonar.language", "java")
}  

然而,请记住,通常最好是配置在构建脚本中,并在代码控制下。

任务

Sonar 插件向 project 中添加了以下任务。

表 35.1. 声纳插件 - 任务

任务名称 依赖于 类型 描述
sonarAnalyze - sonarAnalyze 分析项目层次结构,并将结果存储在 Sonar 数据库。

标签:Gradle

返回前面的内容

相关阅读 >>

Gradle 安装

GradleGradle 中调用 ant

Gradle findbugs 插件

Gradle jdepend 插件

Gradle sonar 插件

Gradle checkstyle 插件

Gradle 使用 Gradle 图形用户界面

Gradle 任务详述

Gradle jetty 插件

Gradle web 工程构建

更多相关阅读请进入《Gradle》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...