Roslyn SDK Generator を使用して、VisualStudio 2015 でカスタム SonarQube ルールを作成しようとしています。
ジェネレーターは正常に動作し、.jar ファイルを SonarQube サーバーに公開して、毎日のビルドでカスタム ルールを使用できます。ここで、ルールを「脆弱性」に分類したいと思いますが、常に「コードのにおい」として表示されます。
私はいくつかのアプローチを試しました:
DiagnosticDescriptor クラスの「Category」を「Security」に変更
private const string Category = "Security"; private static DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get { return ImmutableArray.Create(Rule); } }
ジェネレーターが提供する xml テンプレートを変更し、新しい xml を使用してプラグインを再生成しました (生成された "MAINTENABILITY_COMPLIANCE" の代わりに "SECURITY" と "SECURITY_COMPLIANCE" を試しました)。
<sqale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <chc> <key>SECURITY</key> <chc> <rule-key>MyRule</rule-key> <prop> <key>remediationFunction</key> <txt>CONSTANT_ISSUE</txt> </prop> <prop> <key>offset</key> <txt /> <val>15min</val> </prop> </chc> </chc> </sqale>
これまでのところ何も機能していません。
次の構成を使用しています。
- VS2015 アップデート 3
- SonarQube v. 6.1
- SonarLint v. 2.8
- SonarQube.Roslyn.SDK v. 1.0 で開発されたカスタム C# アナライザー