Cover Image for Gradle から SonarQube を利用する方法

Gradle から SonarQube を利用する方法

この記事は最終更新日から7年以上が経過しています。

SonarQubeの最新版プラグインの使い方に関する日本語情報が少なかったから書いてみました。

追記(20170124)

        property "sonar.jdbc.url", "jdbc:h2:tcp://192.168.0.1:9092/sonar"
        property "sonar.jdbc.username", "sonar"
        property "sonar.jdbc.password", "sonar"

の部分は最新版のSonerQubeでは設定不要になったので注意

事前準備

SonarQubeでプログラムの品質管理をはじめる(インストール) を確認してSonarQubeのインストールが終わっている事

build.gradle の 設定変更

buildscript {
    repositories { 
      maven {
        url "http://repo1.maven.org/maven2/"
      }
      maven {
        url "https://plugins.gradle.org/m2/"
      }
      mavenLocal()
    }
    dependencies { 
      classpath 'org.sonarqube.gradle:gradle-sonarqube-plugin:1.0'
    }
}

apply plugin: 'java'
apply plugin: 'org.sonarqube'
apply plugin: 'jacoco'

sonarqube {
    properties {
        property "sonar.host.url", "http://192.168.0.1/"
        property "sonar.jdbc.url", "jdbc:h2:tcp://192.168.0.1:9092/sonar"
        property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
        property "sonar.jdbc.username", "sonar"
        property "sonar.jdbc.password", "sonar"
        property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
    }
}

注意点1

sonar.host.urlsonar.jdbc.urlsonar.jdbc.usernamesonar.jdbc.passwordにはSonarQubeでプログラムの品質管理をはじめる(インストール)で sonar.properties に設定した値を入れる事。 その設定を間違うと、Cannot load JDBC driver class 'com.mysql.jdbc.Driver'が発生して失敗するので注意すること

注意点2

apply plugin: 'jacoco'sonar.jacoco.reportPath の設定をしないとカバレッジが表示されない。 カバレッジが表示されない場合はここを疑うこと。

参考