I have a multilingual project with tests implemented using Java (JUnit) and Groovy (Spock).
plugins { id "org.sonarqube" version "2.2.1" } apply plugin: 'idea' apply plugin: 'java' apply plugin: 'groovy' apply plugin: 'jacoco' ext { spockVersion = '1.1-groovy-2.4-rc-3' groovyVersion = '2.4.7' } group = "at.softwarecraftsmen.poc" version = "1.0.0-SNAPSHOT" repositories { mavenCentral() } dependencies { testCompile "junit:junit-dep:4.11" testCompile "org.codehaus.groovy:groovy-all:$groovyVersion" testCompile "org.spockframework:spock-core:$spockVersion" } jacoco { toolVersion = "0.7.8+" } sonarqube { properties { //property 'sonar.tests', ["src/test/groovy", "src/test/java"] properties['sonar.tests'] += ["src/test/groovy"] } }
Sonarqube succeeds on the job, but reports Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeSpec . This is a Spock test using Groovy.
The following is the full log output from Gradle:
$ ./gradlew clean jacoco sonarqube :clean :compileJava :compileGroovy UP-TO-DATE :processResources UP-TO-DATE :classes :compileTestJava :compileTestGroovy :processTestResources UP-TO-DATE :testClasses :test objc[4573]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. :jacocoTestReport :sonarqube Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeSpec CodeNarc completed: (p1=0; p2=0; p3=0) 941ms Resource not found: at.softwarecraftsmen.poc.sonar.domain.DomainTesteeUnitTest File not found: at/softwarecraftsmen/poc/sonar/domain/DomainTestee.java Coverage information was not collected. Perhaps you forget to include debug information into compiled classes? File not found: at/softwarecraftsmen/poc/sonar/domain/DomainTestee.java Coverage information was not collected. Perhaps you forget to include debug information into compiled classes? BUILD SUCCESSFUL
Adding properties['sonar.tests'] += ["src/test/groovy"] does not fix the problem, only those tests from src/test/java reported.
------------------------------------------------------------ Gradle 3.3 ------------------------------------------------------------ Build time: 2017-01-03 15:31:04 UTC Revision: 075893a3d0798c0c1f322899b41ceca82e4e134b Groovy: 2.4.7 Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 JVM: 1.8.0_71 (Oracle Corporation 25.71-b15) OS: Mac OS X 10.11.6 x86_64
source share