Blog de Antonio Manuel Muñiz

Desarrollo, Ingeniería y Calidad del Software

Archivos por Etiqueta: Sonar

Análisis de un proyecto web Java y Javascript en Sonar

Actualmente existen plugins de Sonar para analizar código Javascript en Sonar, pero hay una limitación, y es que los proyectos en Sonar tienen un lenguaje determinado, por ejemplo, no podemos analizar un proyecto Java y Javascript al mismo tiempo. La única solución (hasta que Sonar permita el análisis de proyectos multi-lenguaje) es crear dos proyectos en Sonar usando el concepto de branch, y configurando dos análisis, uno para el código Java y otro para el código Javascript.

Si el proyecto está modelado con Maven podemos hacer uso de perfiles para definir las dos tareas. Para ello crearemos el siguiente perfil (suponiendo que el código Javascript se encuentre en src/main/webapp/ui):

<profile>
    <id>js</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/webapp/ui</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</profile>

Y lanzaremos dos análisis en Sonar, uno para analizar el código Java:

mvn clean install sonar:sonar -Dsonar.branch=Java

Y otro para analizar el código Javascript:

mvn clean install sonar:sonar -Pjs -Dsonar.branch=Javascript -Dsonar.language=js -Dsonar.dynamicAnalysis=false

Previamente es necesario instalar el plugin de análisis de código Javascript en Sonar (es cuestión de minutos usando el update center). El resultado serán dos proyectos en Sonar. Lo ideal sería un sólo proyecto, pero hasta que Sonar soporte proyectos multi-lenguaje es la única solución.

En la instancia de Clinker que usamos en klicap puedes ver un ejemplo de proyecto Javascript en Sonar.

Anuncios

Sonar PDF Plugin 1.0 released

Hace unos días se ha publicado Sonar PDF Plugin 1.0, con una mejora fundamental: el documento PDF se almacena en la base de datos tras cada análisis y puede descargarse desde la GUI de Sonar.

PDF Download from Sonar GUI

También es posible configurar el tipo de reporte desde la interfaz de administración de Sonar:

PDF report type configuration

Se  puede encontrar información más detallada (instalación y uso) en la documentación del proyecto.

Sonar PDF Report 0.3 released

Desde ayer está disponible en el repositorio central de Maven Sonar PDF Plugin 0.3.

Como comentaba hace unos días, esta versión ofrece (además de un nuevo tipo de reporte) la posibilidad de usar Sonar PDF como un plugin propio de Sonar (hasta ahora sólo era posible usarlo como un plugin de Maven), configurable desde la propia GUI. La configuración se limita actualmente a la activación o desactivación del reporte.

Este plugin es el primero (en la forja de Sonar Plugins) que hace uso del concepto de “Sonar post-job”: acciones que se ejecutan como parte del ciclo definido por sonar:sonar una vez finalizado el análisis. Es decir, una vez instalado el plugin en Sonar, al ejecutar mvn sonar:sonar sobre uno de nuestros proyectos estaremos generando un reporte PDF al final del análisis (el reporte se almacena en el target de la copia de trabajo).

En la página del plugin hay disponible información más detallada en relación a la instalación, un enlace para la descarga directa de los binarios y características generales.

¿Qué hay previsto para la versión 0.4?

  • Revisión del diseño de los reportes
  • Inclusión de más opciones de configuración desde Sonar (por ejemplo, selección del tipo de reporte)
  • Disponibilidad de descarga del reporte desde la interfaz gráfica de Sonar

Pero por ahora, disfrutemos de la versión 0.3 :)

Sonar PDF Report 0.3 en la GUI de Sonar

A partir de la versión 0.3 de Sonar PDF Report (su publicación se realizará en los próximos días) se podrá configurar su uso desde la interfaz gráfica de Sonar.

Por ahora sólo podemos indicarle a Sonar que genere el reporte en PDF como parte del análisis, haciendo uso del concepto de “post-jobs” (a partir de la versión 1.10).

 

PDF Report en la GUI de Sonar

PDF Report en la GUI de Sonar

 

 

El siguiente paso será dotar a la interfaz de más posibilidades de configuración, como la selección del tipo de reporte, y por último la inserción del reporte en la base de datos para poder descargarlo desde el navegador, pero esto es el futuro… no muy lejano.

El proceso para instalar el plugin en Sonar es el estándar para todos los plugins, copiar el jar en el directorio de extensiones y reiniciar Sonar.

Me gustaría agradecer a Simon Brandhof la ayuda en la integración del plugin como “post-job”.

Sonar PDF Plugin 0.2 Released

Hace unos días hemos publicado Sonar PDF Plugin 0.2. Los cambios principales son: compatibilidad con Sonar 1.9, uso de “-Dbranch” e inclusión de hotspots en el reporte.

La publicación de esta nueva versión ha coincidido con la inclusión de Sonar en el Marco de Desarrollo de la Junta de Andalucía (proyecto MADEJA) como herramienta de verificación de la calidad del código de las aplicaciones desarrolladas para la administración pública andaluza.