
Plugin de análisis de código estático para proyecto Android. (Checkstyle, PMD)
Plugin de análisis de código estático para proyectos Android.
Modificaciones en <project_dir>/build.gradle:
buildscript {
repositories { jcenter() }
dependencies {
...
classpath 'com.noveogroup.android:check:1.2.5'
...
}
}
Modificaciones en <project_dir>/<module_name>/build.gradle:
apply plugin: 'com.noveogroup.android.check'
La configuración recomendada es la predeterminada (vacía).
// sin configuración
check {
abortOnError true
checkstyle { config hard() }
findbugs { config hard() }
pmd { config hard() }
}
check { skip true }
Omitir solo Checkstyle
check { checkstyle { skip true } }
Omitir solo FindBugs
check { findbugs { skip true } }
Omitir solo PMD
check { pmd { skip true } }
// la configuración es opcional
check {
// omitir la verificación del código fuente o no, falso por defecto
skip true/false
// falla la compilación si se encuentra una violación de estilo de código, falso por defecto
abortOnError true/false
// configuración del verificador Checkstyle
checkstyle {
// omitir Checkstyle, falso por defecto
skip true/false
// falla la compilación si se encuentra una violación de la regla de Checkstyle, falso por defecto
abortOnError true/false
// archivo de configuración
config project.file('path/to/checkstyle.xml')
// recurso de configuración
// ver http://gradle.org/docs/2.2/release-notes#sharing-configuration-files-across-builds
config resources.text.fromFile(someTask)
// ruta de configuración
config 'path/to/checkstyle.xml'
// configuraciones predefinidas: easy y hard
config easy()
config hard()
// por defecto el plugin busca el archivo de configuración en <rootProject>/config/checkstyle.xml,
// luego en <project>/config/checkstyle.xml y si no hay archivo
// de configuración, se usará la configuración easy().
// directorio para archivos de informe
report new File(project.buildDir, 'reports/pmd')
// archivo de informe XML
reportXML new File(project.buildDir, 'reports/checkstyle/checkstyle.xml')
// archivo de informe HTML
reportHTML new File(project.buildDir, 'reports/checkstyle/checkstyle.html')
}
// configuración del verificador FindBugs
findbugs {
// la misma configuración que para Checkstyle
// por defecto el plugin busca el archivo de configuración en <rootProject>/config/findbugs.xml,
// luego en <project>/config/findbugs.xml y si no hay archivo
// de configuración, se usará la configuración easy().
}
// configuración del verificador PMD
pmd {
// la misma configuración que para Checkstyle
// por defecto el plugin busca el archivo de configuración en <rootProject>/config/pmd.xml,
// luego en <project>/config/pmd.xml y si no hay archivo
// de configuración, se usará la configuración easy().
}
}
Copyright (c) 2017 Noveo Group
Se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia
de este software y los archivos de documentación asociados (el "Software"), para tratar
el Software sin restricción, incluidos sin limitación los derechos
de uso, copia, modificación, fusión, publicación, distribución, sublicencia y/o venta
de copias del Software, y para permitir a las personas a las que se les proporcione el
Software hacer lo mismo, sujeto a las siguientes condiciones:
El aviso de copyright anterior y este aviso de permiso se incluirán en
todas las copias o partes sustanciales del Software.
Excepto si se indica lo contrario en este aviso, los nombres de los titulares de derechos de autor mencionados anteriormente
no se utilizarán en publicidad ni para promocionar la venta, uso u
otros tratos con este Software sin autorización previa por escrito.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O
IMPLÍCITA, INCLUIDAS ENTRE OTRAS LAS GARANTÍAS DE COMERCIABILIDAD,
IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO
LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS
RESPONSABILIDADES, YA SEA EN UNA ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE
O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.