我正在尝试排除声纳中的Lombok岛覆盖范围。
这是我的建筑。Gradle:
plugins {
//...
id "org.sonarqube" version "4.0.0.2929"
id 'jacoco'
}
jacocoTestReport {
reports {
xml.enabled true
}
}
test.finalizedBy jacocoTestReport
//...
为了排除这些类,我尝试了以下步骤:
1.我创造了一只Lombok鱼。此路径中的配置文件:src\main\resources
1.我添加了以下属性:
# This tells lombok this directory is the root,
# no need to look somewhere else for java code.
config.stopBubbling = true
# This will add the @lombok.Generated annotation
# to all the code generated by Lombok,
# so it can be excluded from coverage by jacoco.
lombok.addLombokGeneratedAnnotation = true
1.我在build中添加了这个。Gradle:
jacocoTestReport {
// ...
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, exclude: ['lombok/**'])
}))
}
}
1.在执行声纳任务之前清理项目:
gradlew.bat clean build test --debug sonar -Dsonar.projectKey=" + service + " -Dsonar.projectName=" + service + " -Dsonar.host.url=http://localhost:9000 -Dsonar.token=" + global_token
不幸的是由于某些原因在执行声纳任务分析项目后,
我仍然有Lombok代码未被发现:
1条答案
按热度按时间jm2pwxwz1#
lombok.config必须在项目的根目录中,而不是在 src\main\resources 中