From: Stas Vilchik Date: Fri, 23 Mar 2018 10:15:38 +0000 (+0100) Subject: SONAR-10489 stop filtering x-file locations in scanner X-Git-Tag: 7.5~1471 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=139b2c9b94d519b1787d5ac9c7ad71cf7397cf9d;p=sonarqube.git SONAR-10489 stop filtering x-file locations in scanner --- diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java index fc4affc8bd1..ef7bda53f16 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java @@ -111,12 +111,6 @@ public class ModuleIssues { flowBuilder.clear(); for (org.sonar.api.batch.sensor.issue.IssueLocation location : flow.locations()) { int locationComponentRef = ((DefaultInputComponent) location.inputComponent()).batchId(); - if (locationComponentRef != componentRef) { - // Some analyzers are trying to report cross file secondary locations. The API was designed to support it, but server side is not - // ready to handle it (especially the UI) - // So let's skip them for now (SONAR-9929) - continue; - } locationBuilder.clear(); locationBuilder.setComponentRef(locationComponentRef); String message = location.message(); diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java index 1db69331274..07f627c8423 100644 --- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java +++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java @@ -19,7 +19,6 @@ */ package org.sonar.scanner.issue; -import java.util.Arrays; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -183,28 +182,6 @@ public class ModuleIssuesTest { assertThat(argument.getValue().getMsg()).isEqualTo("Avoid Cycle"); } - // SONAR-9929 Filter secondary locations that are on different files - @Test - public void skip_cross_file_secondary_locations() { - ruleBuilder.add(SQUID_RULE_KEY).setName(SQUID_RULE_NAME); - activeRulesBuilder.create(SQUID_RULE_KEY).setSeverity(Severity.INFO).setName(SQUID_RULE_NAME).activate(); - initModuleIssues(); - - DefaultIssue issue = new DefaultIssue() - .at(new DefaultIssueLocation().on(file).at(file.selectLine(3)).message("Foo")) - .forRule(SQUID_RULE_KEY) - .addFlow(Arrays.asList(new DefaultIssueLocation().on(file).at(file.selectLine(4)).message("Location 1"), - new DefaultIssueLocation().on(new TestInputFileBuilder("foo", "src/Foo2.php").initMetadata("Foo\nBar\nBiz\n").build()).at(file.selectLine(3)).message("Location outside"))); - when(filters.accept(anyString(), any(ScannerReport.Issue.class))).thenReturn(true); - - boolean added = moduleIssues.initAndAddIssue(issue); - - assertThat(added).isTrue(); - ArgumentCaptor argument = ArgumentCaptor.forClass(ScannerReport.Issue.class); - verify(reportPublisher.getWriter()).appendComponentIssue(eq(file.batchId()), argument.capture()); - assertThat(argument.getValue().getFlow(0).getLocationList()).hasSize(1); - } - @Test public void filter_issue() { ruleBuilder.add(SQUID_RULE_KEY).setName(SQUID_RULE_NAME);