2017-12-22 15 views
1

私はGradleの建物とテストの後、呼び出し、ジェンキンス項目を設定している次の仕様の「SonarQubeスキャナを実行」:SonarQubeでAndroid Kotlinのコードカバレッジを分析することは可能ですか?

sonar.projectKey=my_project_key 
sonar.projectName=my_Android 
sonar.projectVersion=1.0 
sonar.sources=app/src 
sonar.java.binaries=app/build/intermediates/classes/debug 
sonar.coverage.exclusions=app/src/test/**,app/src/androidTest/**,app/src/main/res/** 

をこれが正常にSonarQubeを実行し、IPアドレスへのレポートを生成:9000測定:バグ、脆弱性、債務、コードの匂い、重複などがあります。しかし、このレポートには、テスト対象のコードを定義する場所はありません。 SonarQubeはKotlinプラグインを正常に実行しており、コードベース自体を見ていますが、カバレッジを決定していません。これは、Kotlin Androidを使用しているときSonarQubeでこの情報を収集することは可能ですか?

私はJacocoをインストールしようとしましたが、SonarQubeの結果に関する新しいデータは表示されませんでした。

答えて

0

私のプロジェクトでは、Jacocoを使用してカバレッジレポートを生成しています。 KotlinクラスファイルがどこにあるSonarqubeに知らせるつまり

sonar.java.binaries = {$ buildDir} /クラス/ kotlin

:Sonarqube結果を拾うようにするには、次のように設定してみてください。この構成では、100%Kotlinプロジェクトを想定しています。あなたのプロジェクトがJavaとKotlinを混在させている場合は、両方のディレクトリの設定方法を決定する必要があります。

+0

私が変えてみました: 'sonar.java.binaries =アプリ/ビルド' へ: 'sonar.java.binaries =アプリ/構築/ kotlin' が、残念ながら私はまだコードカバレッジを得ていないのですが... – Don

+0

残念ながら私はAndroidのビルド構造に精通していません。 これはGradle 4.4とJVMベースのアプリケーションで動作しましたが、使用しているGradleのバージョンが古く、 'binaries'フォルダとは別のディレクトリが必要になることがありますか?またはAndroid/Gradleはクラスファイルを別の場所に書き込みますか? – Mikezx6r

関連する問題