Configuración adecuada para "sonar.libraries" en un moderno proyecto Gradle Android
Lo que quiero lograr:
En sonar es posible rastrear las dependencias de terceros que se utilizan en los Proyectos estableciendo la propiedad "sonar.libraries" y tal vez hay más beneficios (como detectar qué violaciones son causadas por bibliotecas externas).
- ¿Por qué el Sonar no lee mis resultados de JUnit XML en Jenkins?
- Cómo configurar la configuración de SONAR para el complemento de sonar intellij para Android Studio?
- El análisis del proyecto falla después de actualizar a SonarQube 5.0
- Analiza el proyecto Android Studio (Gradle) con Sonarqube
- Cambiar el perfil de calidad en SonarQube.com
Lo que intenté hacer:
He establecido el valor para build/intermediates/pre-dexed/debug/*.jar
pero esto parece tener poco efecto.
Pregunta:
Ya que ya no es necesario usar la carpeta "libs" para dependencias de terceros , ¿cuál es la recomendación para la propiedad llamada "sonar.libraries"?
- La cobertura general de Sonarqube no coincide con la cobertura de informes de jacoco
- Análisis de Android Project con Lint y SonarQube
- Sonar: Cómo utilizar gradle para inspeccionar un proyecto de android
- Cobertura de código en Android Studio con Sonar & Gradle
- Cobertura de código para sonar de las pruebas de android usando gradle
- Publicar los resultados de Lint a Sonar usando Gradle
- Sonar Android Lint sin problemas encontrados
- Android gradle construir que la cobertura de código para pruebas robolectric
Tenemos que implementar un procesamiento especial cuando se detecta un proyecto de Android. Configurar correctamente sonar.java.libraries es uno de los requisitos. Un boleto ya existe, siéntase libre de votar o proporcionar una solicitud de tracción. https://jira.sonarsource.com/browse/SONARGRADL-6
Actualización: hemos lanzado la versión 2.1 del plugin ( actualmente RC2 ) que soporta nativamente los proyectos de Android. Propiedades sonar.java.[test.]binaries
y sonar.java.[test.]libraries
se sonar.java.[test.]libraries
automáticamente.
La carpeta pre-dex también me parecía ser el candidato perfecto. Desafortunadamente, si nos fijamos en los frascos de esta carpeta, veremos que no contienen ninguna clase compilada, sino archivos dex. Un archivo dex que es un "ejecutable de dalvik", es material de Android, y Sonar no puede hacer nada de él.
He conseguido hacer referencia a algunas de mis dependencias, declarando build/intermediates/exploded-aar/**/*.jar
en la propiedad sonar.libraries
.
Con esta línea verás todas las librerías "android" (aar) de las que depende tu proyecto. Todavía no he conseguido hacer un seguimiento de todos los otros libraires java simples (jar)
- Mostrar barra de progreso indeterminada en la barra de estado de Android
- AlertDialog para envolver su contenido