Sonar – Primer análisis

Hemos visto anteriormente cómo instalar Sonar y el Java Runner. Esto nos permite realizar análisis sin necesidad de utilizar herramientas como Ant o Maven.

En este post vamos a ver cómo hacer un primer análisis de código Cobol Mainframe.

Recordemos que:

  • El archivo sonar-runner.properties se dedica a la conexión a Sonar y a nuestra base de datos.
  • El archivo sonar-runner.bat nos permite lanzar un análisis.

Entorno de análisis

Cuando se instala un servidor de análisis de código, es importante diferenciar bien entre los diferentes espacios según su finalidad:

  • El espacio dedicado a los diferentes softwares y sus diferentes versiones: Oracle, Java, Tomcat, Sonar, etc.
  • El espacio dedicado a la entrega y la instalación del código fuente que analizar.
  • El espacio dedicado a la implementación de los análisis: configuración, backups, personalización, creación de informes, extracción de datos, documentación de los análisis (útil cuando se multiplican o cuando se debe volver a un análisis antiguo o cuando nuestro servidor de análisis es utilizado por diferentes operadores), etc.

Sonar nos permite especificar este espacio en el sonar-runner.bat, con la variable PROJECT_HOME. Vamos pues a buscar en este fichero la línea siguiente:

SET PROJECT_HOME =% CD%

y modificarla para especificar un subdirectorio \Projects en el cual vamos a colocar los archivos de configuración de nuestro análisis. En realidad, no localizaría este espacio bajo el Java Runner, es sólo para fines de demostración.

Modifiqué el archivo sonar-runner.bat para insertar las 3 líneas siguientes:

  • Enseñar el directorio del Java Runner SONAR_RUNNER_HOME:

echo “SONAR_RUNNER_HOME = %SONAR_RUNNER_HOME%”

  • Especificar el directorio de análisis PROJECT_HOME en la carpeta \Projets y enseñar esta variable:

set PROJECT_HOME=%SONAR_RUNNER_HOME%\Projects
echo “PROJECT_HOME = %PROJECT_HOME%”

Configuración de nuestro primer análisis

Con el fin de efectuar un análisis, el Java Runner se basa en el fichero sonar-project.properties que se encuentra en nuestro entorno de análisis. El objetivo es analizar algunos programas Cobol localizados en un repertorio C:\SRC\Mainframe.

Sin entrar en el detalle de los parámetros para un análisis de código mainframe, vamos a crear nuestro fichero sonar-project.properties con los atributos siguientes:

  • En primer lugar, los datos obligatorios: un nombre / una llave para esta aplicación, objeto de nuestro primer análisis, así como un número de versión:

# required metadata
sonar.projectKey=CBL_1
sonar.projectName=Cobol 1st Analysis
sonar.projectVersion=1.0

  • Y, por supuesto, la ubicación de los archivos que analizar:

sources=C:/SRC/Mainframe

  • Último parámetro: el lenguaje de programación para esta aplicación:

#The value of the property must be the key of the language.
sonar.language=cobol

Ejecución de nuestro primer análisis

En una ventana de comandos DOS, estamos lanzando el archivo sonar-runner.bat:

  • Vemos las 2 variables que designan el directorio del Java Runner y del espacio de análisis: Con el directorio del código fuente:
  • Y cualquier error que se puede encontrar, como aqui una cadena incorrecta de carácteres:
  • Afortunadamente, un error de sintaxis en el código Cobol no va a detener Sonar, y nuestro análisis se acaba pronto con el mensaje ‘Analysis Successful’:

Podemos ahora consultar el portal Sonar y ver los resultados de nuestro primer análisis:

Pudimos llevar a cabo este primer análisis de modo muy simple, configurando algunos parámetros requeridos en el fichero sonar-project.properties, sin necesidad de administrar ficheros xml de Maven a la sintaxis a veces larga y compleja.

Sin embargo, el método descrito aquí presenta dos inconvenientes:

  • El Java Runner trabaja únicamente con un fichero sonar-project.properties. Renombre éste en el espacio de análisis y Java Runner no podrá funcionar correctamente. Hay que modificar este fichero cada vez que se efectuará un nuevo análisis diferente.
  • Consultar los errores en la ventana DOS no es de lo más fácil de usar, sobre todo para análisis bastante largos y\o que encuentran muchos errores.

Vamos a ver en nuestro próximo post cómo solucionar esto, gracias a nuestro amigo Jenkins.

 

 

Esta entrada está también disponible en Lire cet article en français y Read that post in english.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *