@@ -1,5 +1,5 @@ | |||
--- | |||
title: Developing a plugin | |||
title: Plugin basics | |||
url: /extend/developing-plugin/ | |||
--- | |||
@@ -1,5 +1,5 @@ | |||
--- | |||
title: Extending the Web App | |||
title: Adding pages to the webapp | |||
url: /extend/extend-web-app/ | |||
--- | |||
SonarQube provides the ability to add a new JavaScript page. A page (or page extension) is a JavaScript application that runs in the SonarQube environment. You can find the example of page extensions in the SonarQube or [sonar-custom-plugin-example](https://github.com/SonarSource/sonar-custom-plugin-example/tree/6.x/) repositories on GitHub. |
@@ -5,7 +5,7 @@ url: /extend/i18n/ | |||
This page gives guidelines to I18n for: | |||
* Plugin developers who would like to apply the i18n mechanism in their own plugin, so that this plugin can be available in several languages. | |||
* Plugin developers who would like to apply the i18n mechanism in their own plugins, so that these plugins can be available in several languages. | |||
* People who would like to help the community by making the platform available in a new language. | |||
## Principles |
@@ -9,7 +9,7 @@ The steps to cover a new programming language are: | |||
1. Write the grammar. This is the hardest part. | |||
1. Write a parser (a parser simply parses an input based on your grammar to yield a parse tree). | |||
1. Test your grammar, to ensure it is able to parse real-life language files. | |||
1. Write a few parse tree visitors. Some visitors will compute metrics, while others will enforce [coding rules](/extend/adding-coding-rules/). A dozen or so visitors is sufficient for an initial release. | |||
1. Write a few parse tree visitors. Some visitors will compute metrics such as [executable lines](/extend/executable-lines/), while others will enforce [coding rules](/extend/adding-coding-rules/). A dozen or so visitors is sufficient for an initial release. | |||
1. Write a scanner Sensor, in a SonarQube plugin, to launch the visitors. | |||
1. Compute | |||
1. issues |
@@ -89,11 +89,16 @@ | |||
"children": [ | |||
"/extend/web-api/", | |||
"/extend/adding-coding-rules/", | |||
"/extend/developing-plugin/", | |||
"/extend/new-languages/", | |||
"/extend/executable-lines/", | |||
"/extend/adding-scm/", | |||
"/extend/extend-web-app/", | |||
{ | |||
"title": "Developing a plugin", | |||
"children": [ | |||
"/extend/developing-plugin/", | |||
"/extend/new-languages/", | |||
"/extend/executable-lines/", | |||
"/extend/extend-web-app/", | |||
"/extend/adding-scm/" | |||
] | |||
}, | |||
"/extend/i18n/", | |||
"/extend/deploying-to-marketplace/", | |||
"/extend/contributing/" |
@@ -105,11 +105,16 @@ | |||
"children": [ | |||
"/extend/web-api/", | |||
"/extend/adding-coding-rules/", | |||
"/extend/developing-plugin/", | |||
"/extend/new-languages/", | |||
"/extend/executable-lines/", | |||
"/extend/adding-scm/", | |||
"/extend/extend-web-app/", | |||
{ | |||
"title": "Developing a plugin", | |||
"children": [ | |||
"/extend/developing-plugin/", | |||
"/extend/new-languages/", | |||
"/extend/executable-lines/", | |||
"/extend/extend-web-app/", | |||
"/extend/adding-scm/" | |||
] | |||
}, | |||
"/extend/i18n/", | |||
"/extend/deploying-to-marketplace/", | |||
"/extend/contributing/" |