我使用Sonarcloud插件在Travis中设置了一个构建作业,以便分析我们的一个C / C ++项目,链接:
GitHub来源 - https://github.com/inilabs/libcaer
Travis工作 - https://travis-ci.org/inilabs/libcaer/jobs/247488797
Sonarcloud - https://sonarcloud.io/dashboard?id=com.inilabs.libcaer
现在,如果我使用默认的C质量配置文件和#34; Sonar方式"它工作正常。然后我创建了一个测试配置文件,其中我添加了一个规则并删除了另一个规则,这也有效,因此基本的自定义质量配置文件似乎工作正常。然后我创建了我们的主要质量概况" inilabs"我想要使用,其中许多规则被启用(~50)和几个(~10)被禁用。令人惊讶的是,这种构建在“声纳扫描仪”期间失败了。步骤,但有以下例外:
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
(请参阅上面的链接版本以获取完整错误,使用' sonar-scanner -X运行) 它似乎可以获得具有自定义质量配置文件的文件,所以我唯一能想到的是,在60次更改之一中必须有一个特定的规则才能使其失败,但我不知道如何调试这个了解它是哪一个。我希望你能帮我解决问题,谢谢!
答案 0 :(得分:3)
错误是由于质量配置文件中的某些规则停用,例如,请参阅"不应使用限制"在更改日志中:https://sonarcloud.io/organizations/inilabs-github/quality_profiles/changelog?language=c&name=inilabs。
此错误会在https://jira.sonarsource.com/browse/SONAR-9489中进行跟踪,并会尽快修复。
解决方法是将配置文件复制到另一个配置文件。损坏的规则不会被复制。
很抱歉给您带来不便。