Mercurial > public > develkit
diff metrics.gradle @ 85:f36eeb411845
add sonar publishing
author | smith@nwoca.org |
---|---|
date | Tue, 14 Feb 2012 15:18:45 -0500 |
parents | |
children | bb3fa722df51 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/metrics.gradle Tue Feb 14 15:18:45 2012 -0500 @@ -0,0 +1,83 @@ + +apply plugin: "sonar" + +gradle.addListener(new SsdtSonarSettings()) + +ant.property(file: System.getProperty('user.home') + "/.ssdt/sonar.properties") + +buildscript { + repositories { + maven { url 'http://repos.ssdt.nwoca.org/artifactory/gradle-plugins' } + } + dependencies { + classpath "gradle_cobertura:gradle_cobertura:1.0" + } +} + + +sonar { + server { + url = "http://sonar.ssdt-ohio.org" + } + database { + url = ant.properties['sonar.jdbc.url'] + driverClassName = ant.properties['sonar.jdbc.driverClassName'] + username = ant.properties['sonar.jdbc.username'] + password = ant.properties['sonar.jdbc.password'] + } + project { + dynamicAnalysis = "reuseReports" + sourceEncoding = "UTF-8" + } +} + +class SsdtSonarSettings extends BuildAdapter implements BuildListener { + + def void projectsEvaluated(Gradle gradle) { + Project root = gradle.getRootProject() + + def testableProjects = root.allprojects.findAll { it.configurations.any { it.name.contains('test') } } + + root.configure(testableProjects) { -> + def usesGroovy = configurations.any { it.name == 'groovy' } + apply { +// plugin com.orbitz.gradle.cobertura.CoberturaPlugin + } + + sonar { + project { + language = usesGroovy ? 'grvy' : 'java' + dynamicAnalysis = "reuseReports" + sourceEncoding = "UTF-8" + coberturaReportPath = file("$reportsDir/cobertura/coverage.xml") + withProjectProperties { props -> + props['sonar.cobertura.reportPath'] = "$reportsDir/cobertura/coverage.xml" + props["sonar.cpd.skip"] = true + } + } + } + +// cobertura { +// if (usesGroovy) { +// coverageSourceDirs = sourceSets.main.groovy.srcDirs +// } +// } + + } + + root.allprojects { + + def thisProject = delegate + def usesGroovy = thisProject.configurations.any { it.name == 'groovy' } + + sonar { + project { + language = usesGroovy ? 'grvy' : 'java' + dynamicAnalysis = "reuseReports" + sourceEncoding = "UTF-8" + } + } + + } + } +} \ No newline at end of file