我们正在分析SonarQube中的几个项目 - > Java和.Net项目。
对于Java / Maven项目,没有问题可以看到库依赖项 - >哪个组件使用哪个库。在Sonar核心中甚至还内置了一个依赖浏览器。
对于.Net Projects,我们使用NuGet进行依赖关系管理。在Sonar中,无法查看哪个Component使用具有.Net / NuGet项目特定版本的库。现在我们想知道哪个库在哪个组件中使用,反之亦然。这就是为什么我正在编写一个向我展示NuGet依赖的插件。
有两种可能性:
1。解决方案:简单方法
我编写了一个解析“repositories.config”和相应“packages.config”文件的插件,将这些信息保存到数据库中,然后在小部件中显示它们。
2。解决方案:优雅的方式
我编写了一个插件,它从“repositories.config”和相应的“packages.config”文件中读取NuGet信息,并以相同的方式持久保存此信息,就像maven信息在数据库中一样。然后内置的依赖浏览器也会找到NuGet依赖项。
因此:
解决方案1的问题:
持久化依赖信息的最佳方法是什么?使用包含依赖关系信息的JSON的每个项目的字符串度量?
解决方案2的问题:(这是我的主要问题)
您知道这些数据在Sonar数据库中为maven项目保存的方式/位置吗?我需要花费大量时间来重新获得整个声纳源代码。也许有人知道如何更快地找到这些信息,或者你甚至可能有其他想法来解决我的问题。
目标也是将此插件分享给社区。 p>
谢谢!
此致 塞德里克