There’s a bug in the SonarQube Gradle plugin. I’m seeing this stack trace when I run “./gradlew sonar” against a multi-module Gradle project:
java.lang.NoSuchMethodError: 'java.io.File org.gradle.api.tasks.testing.JUnitXmlReport.getDestination()'
at org.sonarqube.gradle.SonarPropertyComputer.configureTestReports(SonarPropertyComputer.java:273)
at org.sonarqube.gradle.SonarPropertyComputer.extractTestProperties(SonarPropertyComputer.java:241)
at org.sonarqube.gradle.SonarPropertyComputer.lambda$configureForJava$4(SonarPropertyComputer.java:212)
•••
at org.sonarqube.gradle.SonarPropertyComputer.configureForJava(SonarPropertyComputer.java:208)
at org.sonarqube.gradle.SonarPropertyComputer.addGradleDefaults(SonarPropertyComputer.java:384)
at org.sonarqube.gradle.SonarPropertyComputer.computeSonarProperties(SonarPropertyComputer.java:96)
at org.sonarqube.gradle.SonarPropertyComputer.computeSonarProperties(SonarPropertyComputer.java:143)
at org.sonarqube.gradle.SonarPropertyComputer.computeSonarProperties(SonarPropertyComputer.java:82)
at org.sonarqube.gradle.SonarQubePlugin.lambda$configureTask$1(SonarQubePlugin.java:96)
I checked the Gradle API docs, and the API of the JUnixXmlReport class has changed. Specifically, it looks like the getDestination() method has been renamed to getOutputLocation().
See:
https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/JUnitXmlReport.html
To me, it looks like Gradle changed their API and that affected your plugin and I wanted to let you know.
I’m using Gradle 8.2.1 and the Sonar plugin: org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.3.0.3225.
My apologies if this is the wrong forum for reporting bugs; I didn’t see a dedicated forum for reporting bugs.
Cheers,
Jon