From 0f6906caea05555b37525e165b363d45521ed7f6 Mon Sep 17 00:00:00 2001 From: Eric Giffon Date: Mon, 8 May 2023 17:01:38 +0200 Subject: SONAR-19197 Add field for code variants to scanner-engine --- .../src/main/java/org/sonar/scanner/issue/IssuePublisher.java | 4 ++++ .../src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java | 4 +++- sonar-scanner-protocol/src/main/protobuf/scanner_report.proto | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssuePublisher.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssuePublisher.java index 0e0cd3205b0..5e3b7a6d254 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssuePublisher.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/IssuePublisher.java @@ -131,6 +131,10 @@ public class IssuePublisher { applyFlows(builder::addFlow, locationBuilder, textRangeBuilder, issue.flows()); builder.setQuickFixAvailable(issue.isQuickFixAvailable()); issue.ruleDescriptionContextKey().ifPresent(builder::setRuleDescriptionContextKey); + List codeVariants = issue.codeVariants(); + if (codeVariants != null) { + builder.addAllCodeVariants(codeVariants); + } return builder.build(); } diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java index 9bc0da72b25..faaea60e599 100644 --- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java +++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/IssuePublisherTest.java @@ -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 diff --git a/sonar-scanner-protocol/src/main/protobuf/scanner_report.proto b/sonar-scanner-protocol/src/main/protobuf/scanner_report.proto index 62973c2e01e..335df02507f 100644 --- a/sonar-scanner-protocol/src/main/protobuf/scanner_report.proto +++ b/sonar-scanner-protocol/src/main/protobuf/scanner_report.proto @@ -200,6 +200,7 @@ message Issue { bool quickFixAvailable = 8; optional string ruleDescriptionContextKey = 9; repeated MessageFormatting msgFormatting = 10; + repeated string codeVariants = 11; } message ExternalIssue { -- cgit v1.2.3