view metrics.gradle @ 128:c93df17513f1

CM-133: add jacoco for standard coverage reports. Add sonar properties for SCM and bamboo plan
author smith@nwoca.org
date Tue, 04 Jun 2013 23:13:59 +0100
parents b2532280341e
children 253374129034
line wrap: on
line source
apply plugin: "sonar-runner"
ant.property(file: System.getProperty('user.home') + "/.ssdt/sonar.properties")

buildscript {
    repositories {
        maven { url 'http://repos.ssdt.nwoca.org/artifactory/gradle-plugins' }
        maven { url 'http://repos.ssdt.nwoca.org/artifactory/repository' }
        maven { url 'http://repos.ssdt.nwoca.org/artifactory/libs-snapshots' }
    }
    dependencies {
        classpath "me.davesmith:gradle-cobertura-plugin:1.0.2.SNAPSHOT"
        classpath "net.sourceforge.cobertura:cobertura:1.9.4.1"
    }
}

sonarRunner {
    sonarProperties {
        property "sonar.host.url", "http://sonar.ssdt-ohio.org/"
        property "sonar.jdbc.url", ant.properties['sonar.jdbc.url']
        property "sonar.jdbc.driverClassName", ant.properties['sonar.jdbc.driverClassName']
        property "sonar.jdbc.username", ant.properties['sonar.jdbc.username']
        property "sonar.jdbc.password", ant.properties['sonar.jdbc.password']
        property "sonar.build-stability.url", "http://bamboo.ssdt-ohio.org/browse/${gradle.bambooPlan}"
        property "sonar.scm.url", "scm:hg:${gradle.hgRepositoryUrl}"
    }
}

subprojects {
    afterEvaluate { project ->

        def groovyProject = project.plugins.hasPlugin('groovy')
        def javaProject = project.plugins.hasPlugin('java')

        if (groovyProject || javaProject) {
            project.apply plugin: 'jacoco'

            project.jacocoTestReport {
                if (groovyProject) {
                    sourceDirectories = files(sourceSets.main.allGroovy.srcDirs)
                    classDirectories = files(project.sourceSets.main.output.classesDir)
                }
                reports {
                    xml.enabled true
                    csv.enabled false
                    html.enabled true
                }
            }

            task coverageReport {
                dependsOn jacocoTestReport
            }

        }

        sonarRunner {
            sonarProperties {
                property "sonar.language", groovyProject ? 'grvy' : 'java'
                property "sonar.java.coveragePlugin", "jacoco"
                property "sonar.jacoco.reportPath", project.test.jacoco.destPath
                property "sonar.build-stability.url", "http://bamboo.ssdt-ohio.org/browse/${gradle.bambooPlan}"
                property "sonar.scm.url", "scm:hg:${gradle.hgRepositoryUrl}"
            }
        }
    }
}