Skip to content

Commit e5137cd

Browse files
committed
SONARPY-201 Move call to coverage sensor in PythonScanner
1 parent fc6eb01 commit e5137cd

2 files changed

Lines changed: 10 additions & 15 deletions

File tree

sonar-python-plugin/src/main/java/org/sonar/plugins/python/PythonScanner.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.List;
2727
import java.util.Map;
2828
import java.util.Set;
29+
import org.sonar.api.SonarProduct;
2930
import org.sonar.api.batch.fs.InputFile;
3031
import org.sonar.api.batch.fs.TextRange;
3132
import org.sonar.api.batch.rule.Checks;
@@ -39,8 +40,10 @@
3940
import org.sonar.api.measures.FileLinesContextFactory;
4041
import org.sonar.api.measures.Metric;
4142
import org.sonar.api.rule.RuleKey;
43+
import org.sonar.api.utils.Version;
4244
import org.sonar.api.utils.log.Logger;
4345
import org.sonar.api.utils.log.Loggers;
46+
import org.sonar.plugins.python.coverage.PythonCoverageSensor;
4447
import org.sonar.python.IssueLocation;
4548
import org.sonar.python.PythonCheck;
4649
import 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
}

sonar-python-plugin/src/main/java/org/sonar/plugins/python/PythonSquidSensor.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import com.google.common.collect.ImmutableList;
2323
import java.util.List;
24-
import org.sonar.api.SonarProduct;
2524
import org.sonar.api.batch.fs.FilePredicates;
2625
import org.sonar.api.batch.fs.InputFile;
2726
import org.sonar.api.batch.fs.InputFile.Type;
@@ -32,15 +31,11 @@
3231
import org.sonar.api.batch.sensor.SensorDescriptor;
3332
import org.sonar.api.issue.NoSonarFilter;
3433
import org.sonar.api.measures.FileLinesContextFactory;
35-
import org.sonar.api.utils.Version;
36-
import org.sonar.plugins.python.coverage.PythonCoverageSensor;
3734
import org.sonar.python.PythonCheck;
3835
import org.sonar.python.checks.CheckList;
3936

4037
public final class PythonSquidSensor implements Sensor {
4138

42-
private static final Version V6_0 = Version.create(6, 0);
43-
4439
private final Checks<PythonCheck> checks;
4540
private final FileLinesContextFactory fileLinesContextFactory;
4641
private final NoSonarFilter noSonarFilter;
@@ -69,14 +64,6 @@ public void execute(SensorContext context) {
6964

7065
PythonScanner scanner = new PythonScanner(context, checks, fileLinesContextFactory, noSonarFilter, inputFiles);
7166
scanner.scanFiles();
72-
73-
if (!isSonarLint(context)) {
74-
(new PythonCoverageSensor()).execute(context, scanner.linesOfCodeByFile());
75-
}
76-
}
77-
78-
private static boolean isSonarLint(SensorContext context) {
79-
return context.getSonarQubeVersion().isGreaterThanOrEqual(V6_0) && context.runtime().getProduct() == SonarProduct.SONARLINT;
8067
}
8168

8269
}

0 commit comments

Comments
 (0)