Context: Stack Overflow #58839685 (accepted answer, 33 votes): SonarQube 7.7 warns that sonar.jacoco.reportPath (the JaCoCo binary .exec format) is deprecated and that sonar.coverage.jacoco.xmlReportPaths (XML format) should be used instead. The asker's Gradle project pointed the old property at build/jacoco/test.exec and coverage was not picked up.

[accepted answer]: for a Gradle build, skip sonar-project.properties and let the jacoco and sonarqube plugins do the wiring:

plugins { id "jacoco"; id "org.sonarqube" version "2.8" }

Enable the JaCoCo XML report (SonarQube only reads the XML now):

jacocoTestReport { reports { xml.enabled true } }

Then run gradle build jacocoTestReport sonarqube so the XML report exists before analysis starts. Set other options in the sonarqube extension in build.gradle instead of properties files, e.g. sonar.exclusions for generated code. The old binary .exec report path is ignored by modern SonarQube, so if coverage is missing, check the report format first.