Skip to content

Instantly share code, notes, and snippets.

@daschl
Forked from skhatri/quality.gradle
Created December 20, 2013 12:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daschl/8054456 to your computer and use it in GitHub Desktop.
Save daschl/8054456 to your computer and use it in GitHub Desktop.
apply plugin: 'checkstyle'
checkstyleMain {
ignoreFailures = false
reports {
include ( '**/*.java')
xml {
destination "${rootProject.buildDir}/reports/checkstyle/main.xml"
}
}
configFile = file('./config/checkstyle/checkstyle.xml')
}
checkstyleTest {
ignoreFailures = false
reports {
include ( '**/*.java')
xml {
destination "${rootProject.buildDir}/reports/checkstyle/test.xml"
}
}
configFile = file('./config/checkstyle/checkstyle-test.xml')
}
task checkstyleReport << {
if (file("$buildDir/reports/checkstyle/${checkType}.xml").exists()) {
ant.xslt(in: "$buildDir/reports/checkstyle/${checkType}.xml",
style:"config/checkstyle/checkstyle.xsl",
out:"$buildDir/reports/checkstyle/checkstyle_${checkType}.html"
)
}
}
task quality(dependsOn:['checkstyleMain', 'checkstyleTest'])
gradle.taskGraph.afterTask {Task task, TaskState state ->
if(state.failure) {
if (task.name in ['checkstyleMain', 'checkstyleTest']) {
checkstyleReport {
def matcher = task.name =~ /^checkstyle(.*)$/
if (matcher.matches()) {
checkType = matcher.group(1).toLowerCase()
}
}
checkstyleReport.execute()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment