Browse Source

SONAR-19197 Add field for code variants to scanner-engine

tags/10.1.0.73491
Eric Giffon 1 year ago
parent
commit
0f6906caea

+ 4
- 0
sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssuePublisher.java View File

@@ -131,6 +131,10 @@ public class IssuePublisher {
applyFlows(builder::addFlow, locationBuilder, textRangeBuilder, issue.flows());
builder.setQuickFixAvailable(issue.isQuickFixAvailable());
issue.ruleDescriptionContextKey().ifPresent(builder::setRuleDescriptionContextKey);
List<String> codeVariants = issue.codeVariants();
if (codeVariants != null) {
builder.addAllCodeVariants(codeVariants);
}
return builder.build();
}


+ 3
- 1
sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java View File

@@ -127,7 +127,8 @@ public class IssuePublisherTest {
.forRule(JAVA_RULE_KEY)
.overrideSeverity(org.sonar.api.batch.rule.Severity.CRITICAL)
.setQuickFixAvailable(true)
.setRuleDescriptionContextKey(ruleDescriptionContextKey);
.setRuleDescriptionContextKey(ruleDescriptionContextKey)
.setCodeVariants(List.of("variant1", "variant2"));

when(filters.accept(any(InputComponent.class), any(ScannerReport.Issue.class))).thenReturn(true);

@@ -139,6 +140,7 @@ public class IssuePublisherTest {
assertThat(argument.getValue().getSeverity()).isEqualTo(org.sonar.scanner.protocol.Constants.Severity.CRITICAL);
assertThat(argument.getValue().getQuickFixAvailable()).isTrue();
assertThat(argument.getValue().getRuleDescriptionContextKey()).isEqualTo(ruleDescriptionContextKey);
assertThat(argument.getValue().getCodeVariantsList()).containsExactly("variant1", "variant2");
}

@Test

+ 1
- 0
sonar-scanner-protocol/src/main/protobuf/scanner_report.proto View File

@@ -200,6 +200,7 @@ message Issue {
bool quickFixAvailable = 8;
optional string ruleDescriptionContextKey = 9;
repeated MessageFormatting msgFormatting = 10;
repeated string codeVariants = 11;
}

message ExternalIssue {

Loading…
Cancel
Save