Mercurial > public > develkit
view metrics.gradle @ 145:cea4e793a3f4
handle merge working directories (multiple parent branches)
author | Dave Smith <smith@nwoca.org> |
---|---|
date | Fri, 25 Oct 2013 21:29:39 +0100 |
parents | 45d2396e9fc8 |
children | 0ca4f3c952b7 |
line wrap: on
line source
apply plugin: "sonar-runner" ant.property(file: System.getProperty('user.home') + "/.ssdt/sonar.properties") if (!gradle.environment.containsKey('coverage')) { gradle.environment.put('coverage', false) } else { gradle.environment.put('coverage', gradle.environment.coverage.toBoolean()) } println "metrics: coverage enabled: ${gradle.environment.coverage}" buildscript { repositories { maven { url 'http://repos.ssdt.nwoca.org/artifactory/gradle-plugins' } maven { url 'http://repos.ssdt.nwoca.org/artifactory/repo' } } dependencies { classpath 'me.davesmith:jaranalyzerplugin:0.2.0-SNAPSHOT' } } apply plugin: me.davesmith.gradle.plugins.jaranalyzer.JarAnalyzerPlugin jaranalyzer { dot = true packageFilter += 'org.slf4j*' packageFilter += 'groovyx.*' } 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}" } } if (gradle.environment.coverage) { configurations { jacocoAntRoot } dependencies { jacocoAntRoot 'org.jacoco:org.jacoco.ant:0.6.2.201302030002' } task fullCoverageReport << { ant { taskdef(name: 'jacocoreport', classname: 'org.jacoco.ant.ReportTask', classpath: configurations.jacocoAntRoot.asPath) mkdir dir: "${buildDir.path}/reports/coverage" jacocoreport { executiondata { fileset(dir: "${buildDir.path}/coverage-results") { include name: '*.jacoco.exec' } } structure(name: project.name) { classfiles { subprojects.each { project -> fileset dir: project.sourceSets.main.output.classesDir } } sourcefiles(encoding: 'CP1252') { subprojects.each { project -> project.sourceSets.main.allGroovy.srcDirs.findAll { file(it).exists() } each { fileset dir: "$it" } } } } xml destfile: "${buildDir.path}/reports/coverage/jacoco.xml" html destdir: "${buildDir.path}/reports/coverage" } } } fullCoverageReport.dependsOn { subprojects.collect { project -> project.copyCoverageData.path } } } subprojects { afterEvaluate { project -> def groovyProject = project.plugins.hasPlugin('groovy') def javaProject = project.plugins.hasPlugin('java') if (gradle.environment.coverage && groovyProject) { logger.info "coverage analysis enabled" project.apply plugin: 'jacoco' project.jacoco { toolVersion = "0.6.3.201306030806" } project.test { jacoco { enabled = true } } 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 } task copyCoverageData(dependsOn: test, type: Copy) { from project.test.jacoco.destPath into "${rootProject.buildDir.path}/coverage-results" include 'test.exec' rename 'test.exec', "${project.name}.jacoco.exec" } } sonarRunner { sonarProperties { property "sonar.language", groovyProject ? 'grvy' : 'java' if (gradle.environment.coverage) { 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}" } } } } allprojects { afterEvaluate { project -> project.getTasksByName('sonarRunner',false).each { it.enabled = gradle.branchStream == 'develop' } } }