]> source.dussan.org Git - sonarqube.git/commitdiff
DOCS Add External Issue Reports to Adding Coding Rules docs
authorcolin-mueller-sonarsource <colin.mueller@sonarsource.com>
Mon, 18 Jan 2021 16:39:44 +0000 (17:39 +0100)
committersonartech <sonartech@sonarsource.com>
Mon, 18 Jan 2021 20:33:03 +0000 (20:33 +0000)
server/sonar-docs/src/pages/extend/adding-coding-rules.md

index 8bfd94c174fbf88beed6a30f987aa621082f4ab6..4be657b5f2c6cf1600d6db339a6f59165aa136e6 100644 (file)
@@ -3,33 +3,46 @@ title: Adding Coding Rules
 url: /extend/adding-coding-rules/
 ---
 
-There are two ways to extend coding rules:
+There are three ways to add coding rules to SonarQube:
 
-* Writing coding rules using Java via a SonarQube plugin
+* Writing a SonarQube plugin in Java that uses SonarQube APIs to add new rules
 * Adding XPath rules directly through the SonarQube web interface
+* Importing [Generic Issue Reports](/analysis/generic-issue/) generated by an independently run tool
 
-If both are available, the Java API will be more fully-featured than what's available for XPath, and is generally preferable.
+The Java API will be more fully-featured than what's available for XPath, and is generally preferable. However, this comes with the overhead of maintaining a SonarQube plugin (including keeping it up-to-date as APIs change, upgrading the plugin after releasing a new version).
+
+Importing [Generic Issue Reports](/analysis/generic-issue/) is a good solution when there's a very specific need for a subset of projects on your SonarQube instance. They are the most flexible option, but lack some features (such as being able to control their execution by inclusion in a Quality Profile).
 
 [[info]]
 | Before implementing a new coding rule, you should consider whether it is specific to your own context or might benefit others. If it might benefit others, you can propose it on the [Community Forum](https://community.sonarsource.com/). If there is shared interest, then it might be implemented for you directly in the related language plugin. It means less maintenance for you, and benefit to others.
 
 ## Custom rule support by language
-Languages not listed here don't support custom rules
-
- &nbsp;  |XPath 1.0|Java|Other
----|---|---|---
-C#| -  | -  | ![](/images/check.svg)[Importing Issues from Third-Party Roslyn Analyzers (C#, VB.NET)](/analysis/external-issues/)
-COBOL| - | ![](/images/check.svg)  | - 
-Flex|![](/images/check.svg) |  -  | - 
-Java |  -  | ![](/images/check.svg) |  - 
-JavaScript |  -  | ![](/images/check.svg) | - 
-PHP |  -  | ![](/images/check.svg)|  - 
-PL/SQL | ![](/images/check.svg) |  -  | - 
-PL/I | ![](/images/check.svg) |  -  | - 
-Python | - |  ![](/images/check.svg)  | -
-RPG |  -  | ![](/images/check.svg)| - 
-VB.NET|  -  |  -  | ![](/images/check.svg)[Importing Issues from Third-Party Roslyn Analyzers (C#, VB.NET)](/analysis/external-issues/)
-XML |  ![](/images/check.svg) |  -  | - 
+
+|  | XPath 1.0 | Java | Generic Issue Reports | Other |
+|-|-|-|-|-|
+| ABAP | - | - | ![](/images/check.svg) |  |
+| Apex | - | - | ![](/images/check.svg) |  |
+| C# | - | - | ![](/images/check.svg) | ![](/images/check.svg)[Importing Issues from Third-Party Roslyn Analyzers (C#, VB.NET)](/analysis/external-issues/) |
+| C/C++/Objective-C | - | - | ![](/images/check.svg) |  |
+| COBOL | - | ![](/images/check.svg) | ![](/images/check.svg) |  |
+| CSS | - | - | ![](/images/check.svg) |  |
+| Flex | ![](/images/check.svg) | - | ![](/images/check.svg) |  |
+| Go | - | - | ![](/images/check.svg) |  |
+| HTML | - | - | ![](/images/check.svg) |  |
+| Java | - | ![](/images/check.svg) | ![](/images/check.svg) |  |
+| JavaScript / Typescript | - | - | ![](/images/check.svg) |  |
+| PHP | - | ![](/images/check.svg) | ![](/images/check.svg) |  |
+| PL/SQL | ![](/images/check.svg) | - | ![](/images/check.svg) |  |
+| PL/I | ![](/images/check.svg) | - | ![](/images/check.svg) |  |
+| Python | - | ![](/images/check.svg) | ![](/images/check.svg) |  |
+| RPG | - | ![](/images/check.svg) | ![](/images/check.svg) |  |
+| Ruby | - | - | ![](/images/check.svg) |  |
+| Scala | - | - | ![](/images/check.svg) |  |
+| Swift | - | - | ![](/images/check.svg) |  |
+| T-SQL | - | - | ![](/images/check.svg) |  |
+| VB.NET | - | - | ![](/images/check.svg) | ![](/images/check.svg)[Importing Issues from Third-Party Roslyn Analyzers (C#, VB.NET)](/analysis/external-issues/) |
+| VB6 | - | - | ![](/images/check.svg) |  |
+| XML | ![](/images/check.svg) | - | ![](/images/check.svg) |  |
 
 
 ## Adding coding rules using Java
@@ -46,7 +59,6 @@ See the following pages to see samples and details about how to create coding ru
 
 * [for COBOL](/analysis/languages/cobol/)
 * [for Java](/analysis/languages/java/)
-* [for JavaScript](/analysis/languages/javascript/)
 * [for PHP](/analysis/languages/php/)
 * [for Python](/analysis/languages/python/)
 * [for RPG](/analysis/languages/rpg/)