.xml ファイルから SonarQube にルール (Java およびその他の言語用) をインポートしようとしています。そのためにサンプルプラグインを使用しました。そのサンプルはhttps://github.com/SonarSource/sonar-examples - project sonar-reference-pluginからダウンロードされました。品質プロファイルは実際に作成されますが、ルールは表示されません。 (画面イメージ SonarQube プロフィールページ)
これは、 RulesDefinitionXmlLoader クラスを使用して、ルールをロードすると想定される Override メソッドです。
private void defineRulesForLanguage(Context context, String repositoryKey, String repositoryName, String languageKey) {
NewRepository repository = context.createRepository(repositoryKey, languageKey).setName(repositoryName);
InputStream rulesXml = this.getClass().getResourceAsStream("/resources/rules-TESTE.xml");
if (rulesXml != null) {
RulesDefinitionXmlLoader rulesLoader = new RulesDefinitionXmlLoader();
rulesLoader.load(repository, rulesXml, StandardCharsets.UTF_8.name());
}
repository.done();
}
@Override
public void define(Context context) {
String repositoryKey = FooLintRulesDefinition.getRepositoryKeyForLanguage(FooLanguage.KEY);
String repositoryName = FooLintRulesDefinition.getRepositoryNameForLanguage(FooLanguage.KEY);
defineRulesForLanguage(context, repositoryKey, repositoryName, FooLanguage.KEY);
}
考えられる問題を回避するために、ルールを含む .xml ファイルへの別のパスを既に試しました。その .xml ファイルは現在、次のようになっています (また、非常にシンプルになり、適用しやすくするためのルールが 1 つしかありません)。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rules>
<rule>
<key>da-rule-key</key>
<name>Nome da regra</name>
</rule>
</rules>
ローカルの SonarQube 5.3 を使用していますが、別のバージョンを試してもうまくいきませんでした。前もって感謝します。