java - SonarQube 和 Jacoco 无法识别 kotlin-classes 目录

标签 java android kotlin sonarqube jacoco

我正在使用 Jacoco v0.8.4 和 Sonarcube v2.7.1

I am using the following configuration for SonarCube.

property "sonar.sources", "src/main/java"
property "sonar.binaries","build/intermediates/javac,app/build/tmp/kotlin-classes"
property "sonar.java.binaries", "build/intermediates/javac,app/build/tmp/kotlin-classes"
property "sonar.tests", "src/test/java" // where the tests are located
property "sonar.java.test.binaries", "build/intermediates/javac,app/build/tmp/kotlin-classes"
property "sonar.jacoco.reportPath", "build/jacoco/testDevDebugUnitTest.exec"
property "sonar.java.coveragePlugin", "jacoco"
property "sonar.android.lint.report", "build/reports/lint results.xml"
     

SonarCube 分析失败,原因是 sonar.java.binaries

的值无效

> 没有文件或目录匹配 'app/build/tmp/kotlin-classes'

但是'app/build/tmp/kotlin-classes' 存在于我的项目文件夹中。

但是,如果我从属性中删除 kotlin 东西,那么它会成功地覆盖 Java 文件。

我对 Kotlin 的覆盖有什么不妥吗?

最佳答案

你还需要在下面的路径中添加你构建的变体文件夹

property "sonar.java.test.binaries", "build/intermediates/classes/test/, app/build/tmp/kotlin-classes/<BuildVariant>UnitTest"
property "sonar.java.binaries", "build/intermediates/classes/<BuildVariant>/, app/build/tmp/kotlin-classes/<BuildVariant>/"
property "sonar.binaries", "build/intermediates/classes/<BuildVariant>/, app/build/tmp/kotlin-classes/<BuildVariant>/"

还有一件事尽量避免使用带有空格的文件名,例如 lint results.xml

关于java - SonarQube 和 Jacoco 无法识别 kotlin-classes 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57251039/

相关文章:

java - Retrofit - 如何从 JSON 对象获取响应

android - 版本冲突更新到 8.4.0

arrays - 按距离过滤对象数组 Kotlin

java - “有损转换”与 'Loss of precision'

java - 进程可以连接到自己创建的套接字吗?

android - CrashLytics Android 集成问题

android - ImageView 的原生圆形波纹效果

android - ArFragment在Activity上隐藏了一些 View ,以编程方式添加它

java - 使用 Ant Buildpack 的 Java 应用程序的 Heroku 部署失败

java - 我收到 "java.lang.StringIndexOutOfBoundsException: String index out of range: -3 "