
Плагин статического анализа кода для Android-проекта. (Checkstyle, PMD)
Плагин для статического анализа кода для проектов Android.
Изменения в <project_dir>/build.gradle:
buildscript {
repositories { jcenter() }
dependencies {
...
classpath 'com.noveogroup.android:check:1.2.5'
...
}
}
Изменения в <project_dir>/<module_name>/build.gradle:
apply plugin: 'com.noveogroup.android.check'
Рекомендуемая конфигурация — стандартная (пустая).
// no configuration
check {
abortOnError true
checkstyle { config hard() }
findbugs { config hard() }
pmd { config hard() }
}
check { skip true }
Пропустить только Checkstyle
check { checkstyle { skip true } }
Пропустить только FindBugs
check { findbugs { skip true } }
Пропустить только PMD
check { pmd { skip true } }
// configuration is optional
check {
// skip source code checking or not, false by default
skip true/false
// fails build if code style violation is found, false by default
abortOnError true/false
// configuration of Checkstyle checker
checkstyle {
// skip Checkstyle, false by default
skip true/false
// fails build if Checkstyle rule violation is found, false by default
abortOnError true/false
// configuration file
config project.file('path/to/checkstyle.xml')
// configuration resource
// see http://gradle.org/docs/2.2/release-notes#sharing-configuration-files-across-builds
config resources.text.fromFile(someTask)
// configuration path
config 'path/to/checkstyle.xml'
// predefined configurations: easy and hard
config easy()
config hard()
// by default plugin finds configuration file in <rootProject>/config/checkstyle.xml,
// after that in <project>/config/checkstyle.xml and if there are no configuration
// file, easy() configuration will be used.
// directory for report files
report new File(project.buildDir, 'reports/pmd')
// XML report file
reportXML new File(project.buildDir, 'reports/checkstyle/checkstyle.xml')
// HTML report file
reportHTML new File(project.buildDir, 'reports/checkstyle/checkstyle.html')
}
// configuration of FindBugs checker
findbugs {
// the same configuration as for Checkstyle
// by default plugin finds configuration file in <rootProject>/config/findbugs.xml,
// after that in <project>/config/findbugs.xml and if there are no configuration
// file, easy() configuration will be used.
}
// configuration of PMD checker
pmd {
// the same configuration as for Checkstyle
// by default plugin finds configuration file in <rootProject>/config/pmd.xml,
// after that in <project>/config/pmd.xml and if there are no configuration
// file, easy() configuration will be used.
}
}
Copyright (c) 2017 Noveo Group
Данное программное обеспечение предоставляется «как есть», без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, подразумеваемыми гарантиями товарной пригодности и пригодности для конкретной цели. Авторы или владельцы авторских прав не несут ответственности за любые претензии, убытки или иные обязательства, возникшие в результате использования или иного обращения с данным программным обеспечением.
Разрешается бесплатно распространять, использовать, копировать, изменять, объединять, публиковать, сублицензировать и/или продавать копии данного программного обеспечения, а также разрешать лицам, которым предоставляется данное программное обеспечение, делать это при условии соблюдения следующих условий:
Вышеуказанное уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или значительные части данного программного обеспечения.
За исключением случаев, предусмотренных в данном уведомлении, имена вышеуказанных владельцев авторских прав не могут использоваться в рекламе или иным образом для продвижения продажи, использования или иных операций с данным программным обеспечением без предварительного письменного разрешения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОДРАЗУМЕВАЕМЫМИ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ВЛАДЕЛЬЦЫ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКШИЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ИЛИ ИНОГО ОБРАЩЕНИЯ С ДАННЫМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.