sonarqube gradleプラグインで使用するサブモジュールでAndroidプロジェクトを設定する正しい方法は何ですか? Googleは私の友人ではありませんでしたが、私は何か基本的なものを見逃しているかもしれません。 (私はアンドロイドビルドのディレクトリとサブモジュールに関連するソナーレベルの問題を検索します。有用な結果はありません)sonarqube gradleプラグインで使用するサブモジュールでAndroidプロジェクトを設定する正しい方法は何ですか?
非常に高いレベルで、私は次の構造のAndroidプロジェクトで作業しています。
git_repository
|----- android_project
|--- app
|--- SDK
|- api
git_repositoryには、README.mdとその他の最上位ファイル(android_projectを含む)が含まれています。 android_projectには、SDKのgitサブモジュールだけでなく、このアプリケーションも含まれています。このgitサブモジュールには、アプリが実行する必要があるAPIコードが含まれています。
問題は、sonarqubeを実行しようとすると、存在しないファイル/ディレクトリを探しているようです。私は単純な最小限のプロジェクトでこの問題はありません。私は月曜日にサブモジュールを使用する最小限のプロジェクトを立ち上げる予定ですが、私は週末に出発する前にこの質問に答えてください。
$ ./gradlew clean sonarqube
* snip *
:sonarqube
Invalid value for sonar.java.test.libraries
:sonarqube FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sonarqube'.
> No files nor directories matching '/Users/my_username/git_repository/android_project/app/build/intermediates/dependency-cache/debug'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- debug option to get more log output.
BUILD FAILED
Total time: 9.897 secs
$
このGradleのタスクは、MacOSの/ Androidのメーカー、コマンドラインの設定に失敗しているが、究極の目標は、ジェンキンスで動作する構成となっていることです。 settings.gradleファイルとbuild.gradleファイルが続きます。明らかに私は間違ったことをしています。
git_repository/android_project/settings.gradle完全なリスト
include ':app', ':api'
project(':api').projectDir = new File('SDK/api')
git_repository/android_project/build.gradle完全なリスト
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
apply plugin: 'org.sonarqube'
allprojects {
repositories {
jcenter()
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
}
//subprojects {
// sonarqube {
// properties {
// // property "sonar.sources", "src"
// }
// }
//}
//sonarqube {
// properties {
//// property "sonar.exclusions", "file:**/SDK/**"
// }
//}
subprojects {
sonarqube {
properties {
property "sonar.sourceEncoding","UTF-8"
property "sonar.sources","src/main/java"
property "sonar.java.binaries", "./build/"
property "sonar.tests","src/androidTest"
// property "sonar.exclusions","build,build/**,**/*.png"
property "sonar.import_unknown_files", true
property "sonar.android.lint.report", "./build/outputs/lint-results.xml"
}
}
}
project(":api") {
sonarqube {
skipProject = true
}
}
なぜ特定のマシンのソフトウェアとしてsonarqubeを使用していないのですか?それをgradle pluginとして使用してください – dhams