当前状态
我目前正在研究一个本地克隆不同项目的java应用程序,并生成sonar-project.properties文件以准备SonarQube分析。
应用程序可以通过检测“pom.xml”文件并获取所需的属性来为基于maven的项目执行此操作。来自该文件中标记的“sonar.modules”,并将它们写入该项目的sonar-project.properties文件中。
问题
现在我应该扩展我的程序来分析基于Gradle的项目。由于我从未使用过Gradle,因此我可以在哪里找到我需要的信息,以便配置sonar-project.properties文件,例如modules,sourceDirectory等正确。
这是我的第一个SOF问题,如果您需要任何其他信息,请发表评论。
先谢谢。
答案 0 :(得分:0)
如果您完全使用gradle来构建项目,那么这将非常简单,方便实现。最重要的是,您仔细查看了gradle插件文档和示例 - https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Gradle
我将在这里添加一个简短的gradle构建脚本,基于带有gradle的start.spring.io项目。当你致电gradle build sonarqube
时,这将
示例:
buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2'
classpath "org.ajoberstar:grgit:2.2.0"
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'jacoco'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.sonarqube'
group = 'net.gradle.testing'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
sonarqube {
properties {
System.setProperty('sonar.host.url', 'host URL')
}
}
但如前所述,要设置特殊属性,或者如何设置Proejct键和名称,最好检查扫描仪的文档:D