我希望将自项目开始以来的整个历史记录加载到Sonar中。
基本上,我想执行以下代码:
0)从Subversion检出版本1 1)从Subversion检出下一个版本 2)如果提交日期与前一个日期相同,则返回1 3) 运行mvn sonar:sonar,使用提交时间覆盖构建时间 4) 如果不是最后一次提交,则返回1
是否有已经实现此功能的工具? 是否有一种办法说服Sonar使用不同于当前日期的日期?
我希望将自项目开始以来的整个历史记录加载到Sonar中。
基本上,我想执行以下代码:
0)从Subversion检出版本1 1)从Subversion检出下一个版本 2)如果提交日期与前一个日期相同,则返回1 3) 运行mvn sonar:sonar,使用提交时间覆盖构建时间 4) 如果不是最后一次提交,则返回1
是否有已经实现此功能的工具? 是否有一种办法说服Sonar使用不同于当前日期的日期?
这是来自邮件列表的内容:
事实上,要导入历史数据,您必须使用"sonar.projectDate"属性(格式为yyyy-MM-dd,例如2010-12-25)[1],并在每个您想在项目历史中看到的标签/分支上启动Sonar分析。
http://sonarqube.15.x6.nabble.com/re-ordering-historical-data-td3191565.html
有一篇额外的博客文章进一步解释了这个过程。
我发现来自@adam-banko的脚本已经无法使用了(因为它已经有8年历史了)。
这里是一个更新后的Python3脚本,用于上传Maven项目的历史快照: https://gist.github.com/hughluo/c51b14cfcd9afe3f89149f478c1a65d5
更改脚本中的日期范围以适应您的需求。
将脚本放在包含项目根目录 pom.xml
的文件夹中并运行。
SONAR_HOST=<sonar.host.url> SONAR_LOGIN=<sonar.login> SONAR_PROJECT=<sonar.projectKey> python3 upload_snapshots_sonar.py
我刚刚在搜索这个东西,发现在GitHub上有一个方便的bash脚本:
该脚本将检出每个标签(从指定参数开始的特定标签),将标签日期设置为sonar.projectDate并对其进行sonar分析。非常方便。我认为我可能需要稍微修改一下,因为我们在仓库中没有那么多标签,也许每周进行一次分析之类的。