2626import java .util .List ;
2727import java .util .Map ;
2828import java .util .Set ;
29+ import org .sonar .api .SonarProduct ;
2930import org .sonar .api .batch .fs .InputFile ;
3031import org .sonar .api .batch .fs .TextRange ;
3132import org .sonar .api .batch .rule .Checks ;
3940import org .sonar .api .measures .FileLinesContextFactory ;
4041import org .sonar .api .measures .Metric ;
4142import org .sonar .api .rule .RuleKey ;
43+ import org .sonar .api .utils .Version ;
4244import org .sonar .api .utils .log .Logger ;
4345import org .sonar .api .utils .log .Loggers ;
46+ import org .sonar .plugins .python .coverage .PythonCoverageSensor ;
4447import org .sonar .python .IssueLocation ;
4548import org .sonar .python .PythonCheck ;
4649import org .sonar .python .PythonCheck .PreciseIssue ;
@@ -58,6 +61,8 @@ public class PythonScanner {
5861 private static final Number [] FUNCTIONS_DISTRIB_BOTTOM_LIMITS = {1 , 2 , 4 , 6 , 8 , 10 , 12 , 20 , 30 };
5962 private static final Number [] FILES_DISTRIB_BOTTOM_LIMITS = {0 , 5 , 10 , 20 , 30 , 60 , 90 };
6063
64+ private static final Version V6_0 = Version .create (6 , 0 );
65+
6166 private final SensorContext context ;
6267 private final Parser <Grammar > parser ;
6368 private final List <InputFile > inputFiles ;
@@ -82,6 +87,9 @@ public void scanFiles() {
8287 for (InputFile pythonFile : inputFiles ) {
8388 scanFile (pythonFile );
8489 }
90+ if (!isSonarLint (context )) {
91+ (new PythonCoverageSensor ()).execute (context , linesOfCodeByFile );
92+ }
8593 }
8694
8795 private void scanFile (InputFile inputFile ) {
@@ -208,7 +216,7 @@ private void saveFilesComplexityDistribution(InputFile inputFile, MetricVisitor
208216 .save ();
209217 }
210218
211- public Map < InputFile , Set < Integer >> linesOfCodeByFile ( ) {
212- return linesOfCodeByFile ;
219+ private static boolean isSonarLint ( SensorContext context ) {
220+ return context . getSonarQubeVersion (). isGreaterThanOrEqual ( V6_0 ) && context . runtime (). getProduct () == SonarProduct . SONARLINT ;
213221 }
214222}
0 commit comments