Nell’articolo di oggi vedremo come integrare Sonar all’interno di Maven. Sonar è una piattaforma open per la gestione della qualità del codice. Esso analizza il codice del progetto ed estrae tutte le statistiche utili per migliorare il progetto.
E’ possibile installare sonar come server indipendente o come web application su un container Tomcat. Si appoggia ad un database per le statistiche estratte. Presenta un database embedded Apache Derby, ma Sonar consiglia di appoggiarsi ad un database più robusto. Sonar supporta i seguenti database:
- MySQL 5.1.x
- Oracle 10g XE
- PostgreSQL
- MS SqlServer 2005
Per configurare un database diverso da Apache Derby occorre agire sul file di configurazione e agire sui parametri:
- sonar.jdbc.url : URL del database
- sonar.jdbc.driver : driver
- sonar.jdbc.user : username (default ‘sonar’)
- sonar.jdbc.password : password (default ‘sonar’)
Nel nostro caso installeremo sonar come web application su un tomcat. Scaricate la distribuzione zip, scompattatela e lanciate il bat presente nella directory war.
Una volta creato il file .war fate il deploy sul vostro tomcat e accertatevi che il context sia attivo. Il war si preoccuperà di generare in automatico tutte le tabelle utili sul vostro database.
A questo punto non resta che integrare il plugin nel nostro progetto maven. L’integrazione avviene in 3 step:
- Inserire il puntamento al server nel file settings.xml di maven. Il file si trova sotto la conf di maven.
1 2 3 4 5 6 7 8 |
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url>http://localhost:9000/sonar</sonar.host.url> </properties> </profile> |
- Inserire il plugin nel pom file
1 2 3 4 5 |
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>1.0-beta-2</version> <-- da usare con maven 2.x </plugin> |
- infine lanciare la seguente direttiva
mvn sonar:sonar
Dopo l’elaborazione della direttiva possiamo accedere alla dashboard di sonar e vedere i risultati