"sonar.libraries" 在现代 Gradle Android 项目中的正确配置
Proper configuration for "sonar.libraries" in a modern Gradle Android project
我想达到的目标:
在声纳中,可以通过设置 属性 "sonar.libraries" 来跟踪整个项目中使用的第三方依赖项,也许还有更多好处(例如检测哪些违规是由外部库引起的?)
我尝试做的事情:
我把值设为build/intermediates/pre-dexed/debug/*.jar
,但是这个好像效果不大
问题:
,对名为 "sonar.libraries" 的 属性 有何建议?
我们需要在检测到Android项目时进行特殊处理。正确设置 sonar.java.libraries 是要求之一。票已经存在,请随意投票或提供拉取请求。
https://jira.sonarsource.com/browse/SONARGRADL-6
更新:我们发布了本机支持 Android 项目的插件 (currently RC2) 2.1 版。属性 sonar.java.[test.]binaries
和 sonar.java.[test.]libraries
将自动填充。
pre-dex 文件夹在我看来也是完美的选择。不幸的是,如果您查看此文件夹中的 jars,您会发现它们不包含已编译的 class,而是包含 dex 文件。一个 dex 文件是 "dalvik executable",它是 Android material,Sonar 不能对它做任何事情。
我设法通过在 sonar.libraries
属性.
中声明 build/intermediates/exploded-aar/**/*.jar
来引用 一些 我的依赖项
通过这一行,您将看到您的项目所依赖的所有 "android librairies" (aar)。我还没有设法追踪所有其他普通 java 图书馆 (jar)
我想达到的目标:
在声纳中,可以通过设置 属性 "sonar.libraries" 来跟踪整个项目中使用的第三方依赖项,也许还有更多好处(例如检测哪些违规是由外部库引起的?)
我尝试做的事情:
我把值设为build/intermediates/pre-dexed/debug/*.jar
,但是这个好像效果不大
问题:
我们需要在检测到Android项目时进行特殊处理。正确设置 sonar.java.libraries 是要求之一。票已经存在,请随意投票或提供拉取请求。 https://jira.sonarsource.com/browse/SONARGRADL-6
更新:我们发布了本机支持 Android 项目的插件 (currently RC2) 2.1 版。属性 sonar.java.[test.]binaries
和 sonar.java.[test.]libraries
将自动填充。
pre-dex 文件夹在我看来也是完美的选择。不幸的是,如果您查看此文件夹中的 jars,您会发现它们不包含已编译的 class,而是包含 dex 文件。一个 dex 文件是 "dalvik executable",它是 Android material,Sonar 不能对它做任何事情。
我设法通过在 sonar.libraries
属性.
build/intermediates/exploded-aar/**/*.jar
来引用 一些 我的依赖项
通过这一行,您将看到您的项目所依赖的所有 "android librairies" (aar)。我还没有设法追踪所有其他普通 java 图书馆 (jar)