我想要实现的目标:
在声纳中,可以通过设置属性" sonar.libraries"来跟踪整个项目中使用的第三方依赖项。也许有更多的好处(比如检测哪些违规是由外部库引起的?)
我尝试做的事情:
我将值设置为build/intermediates/pre-dexed/debug/*.jar
,但这似乎没什么影响。
问题:
Since it is no longer needed to use the "libs" folder for third party dependencies,该物业的推荐名为" sonar.libraries"?
答案 0 :(得分:4)
我们需要在检测到Android项目时实施特殊处理。正确设置sonar.java.libraries是其中一项要求。机票已经存在,可随意投票或提供拉取请求。 https://jira.sonarsource.com/browse/SONARGRADL-6
更新:我们发布了本机支持Android项目的插件版本2.1(currently RC2)。将自动填充属性sonar.java.[test.]binaries
和sonar.java.[test.]libraries
。
答案 1 :(得分:1)
pre-dex文件夹在我看来也是完美的候选人。不幸的是,如果你查看这个文件夹中的jar,你会发现它们不包含编译类,而是包含dex文件。 dex文件是" dalvik可执行文件",它是Android的材料,而Sonar无法做任何事情。
我设法通过在build/intermediates/exploded-aar/**/*.jar
属性中声明sonar.libraries
来引用某些我的依赖项。
通过这条线你可以看到所有" android librairies" (aar)你的项目取决于你。我还没有设法跟踪所有其他普通的java图书馆(jar)