2013-07-30 6 views
5

Sto creando un nuovo plug-in per SonarQube che consente agli sviluppatori di eseguire l'analisi del codice statico sul codice ESQL.SonarQube - aiuto nella creazione di un nuovo plug-in per la lingua

Utilizzo di Maven È possibile creare una shell di un plug-in, che produce il file JAR che posso inserire nella cartella corretta per poter essere aggiunto a SonarQube.

Il passo successivo è scrivere le classi Java per le regole, tuttavia non sono sicuro su cosa e dove queste assomiglino. Sto usando l'esempio dal seguente repository GIT: https://github.com/SonarSource/sonar-examples/tree/master/plugins/sonar-reference-plugin

È sufficiente creare un nuovo pacchetto con alcune classi? E come faccio a governare?

risposta

3

Se si desidera scrivere un motore di regole per il linguaggio ESQL, ciò significa che è necessario prima scrivere un parser per questa lingua. E solo dopo aver completato questa fase, creerai un motore di regole basato su quel parser (con classi di visitatori che navigano attraverso l'AST e che creano problemi in circostanze specifiche).

Potete dare un'occhiata a come abbiamo implementato il plugin Javascript (see the code of version 1.3):

  • il modulo "javascript-squid" è dove il parser è scritto
  • i "javascript controlli" modulo è dove è scritto il motore delle regole (basato sul parser)
  • il modulo "sonar-javascript-plugin" è il plugin vero e proprio, che incorpora il parser e il motore di regole e che fornisce tutta la colla necessaria attorno ad essi.
+0

Grazie mille, lo guarderò oggi. Il mio manager mi ha anche chiesto se è possibile avere un plug-in che esegue più espressioni regolari, che sono tutte memorizzate su un unico file. Ciò sarebbe possibile ha un modo rapido e sporco intorno ad esso. Per cominciare ho solo bisogno di controllare le dichiarazioni ESQL per assicurarmi che corrisponda agli standard di codifica dei clienti –

Problemi correlati