gradle 在声纳中排除Lombok岛的覆盖范围不起作用

lokaqttq  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在尝试排除声纳中的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代码未被发现

jm2pwxwz

jm2pwxwz1#

lombok.config必须在项目的根目录中,而不是在 src\main\resources

相关问题