我正在为sonarqube版本4.3构建一个语言插件。目前,我无法为规则添加新的存储库。
在以前的版本中,有AnnotationRuleParserto解析规则。版本4.3是什么?
请告诉我如何在sonarqube版本4.3中创建新的存储库并添加规则。
谢谢!
答案 0 :(得分:4)
您应该使用RulesDefinitions。如果在具有标准SonarQube格式的XML文件中声明规则(请参阅RulesDefinitionXmlLoader),则可以使用以下命令加载:
public class MyJsRulesDefinition implements RulesDefinition {
private final RulesDefinitionXmlLoader xmlLoader;
public MyJsRulesDefinition(RulesDefinitionXmlLoader xmlLoader) {
this.xmlLoader = xmlLoader;
}
@Override
public void define(Context context) {
NewRepository repository = context.createRepository("my_js", "js").setName("My Javascript Analyzer");
// see javadoc of RulesDefinitionXmlLoader for the format
xmlLoader.load(repository, getClass().getResourceAsStream("/path/to/rules.xml"));
repository.done();
}
}
答案 1 :(得分:0)
确实L.Langó提出的方法是可行的方法。我个人也在我正在开发的插件上使用它。只是为了澄清包含规则的.xml文件的强制性必需结构:
f("AB")==="CDE12345"