diff options
author | Eric Giffon <eric.giffon@sonarsource.com> | 2023-05-10 12:35:19 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-05-16 20:02:49 +0000 |
commit | 059965c0d4843daf4efd62164e325f762dc9dd08 (patch) | |
tree | a437bc8f04a7ff865717bf8f79cc58f2205606bc | |
parent | 0578c09eae4077e0228277d50f34eac438157865 (diff) | |
download | sonarqube-059965c0d4843daf4efd62164e325f762dc9dd08.tar.gz sonarqube-059965c0d4843daf4efd62164e325f762dc9dd08.zip |
SONAR-19197 Support code variants in project import/export
3 files changed, 8 insertions, 3 deletions
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java index 014ad779980..af669dcc260 100644 --- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java +++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStepIT.java @@ -27,6 +27,7 @@ import com.tngtech.java.junit.dataprovider.UseDataProvider; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; +import java.util.List; import java.util.Random; import org.apache.commons.io.FileUtils; import org.junit.After; @@ -228,7 +229,8 @@ public class ExportIssuesStepIT { .setRuleDescriptionContextKey("test_rule_description_context_key") .setIssueCreationTime(963L) .setIssueUpdateTime(852L) - .setIssueCloseTime(741L); + .setIssueCloseTime(741L) + .setCodeVariants(List.of("v1", "v2")); // fields tested separately and/or required to match SQL request issueDto @@ -265,6 +267,7 @@ public class ExportIssuesStepIT { assertThat(issue.getLocations()).isNotEmpty(); assertThat(issue.getMessageFormattingsList()) .isEqualTo(ExportIssuesStep.dbToDumpMessageFormatting(messageFormattings.getMessageFormattingList())); + assertThat(issue.getCodeVariants()).isEqualTo(issueDto.getCodeVariantsString()); } @Test diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStep.java index 4331ea36598..17655c74112 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectexport/issue/ExportIssuesStep.java @@ -60,7 +60,7 @@ public class ExportIssuesStep implements ComputationStep { " i.resolution, i.severity, i.manual_severity, i.gap, effort," + " i.assignee, i.author_login, i.tags, i.issue_creation_date," + " i.issue_update_date, i.issue_close_date, i.locations, i.project_uuid," + - " i.rule_description_context_key, i.message_formattings " + + " i.rule_description_context_key, i.message_formattings, i.code_variants " + " from issues i" + " join rules r on r.uuid = i.rule_uuid and r.status <> ?" + " join components p on p.uuid = i.project_uuid" + @@ -147,7 +147,8 @@ public class ExportIssuesStep implements ComputationStep { .setIssueCreatedAt(rs.getLong(19)) .setIssueUpdatedAt(rs.getLong(20)) .setIssueClosedAt(rs.getLong(21)) - .setProjectUuid(rs.getString(23)); + .setProjectUuid(rs.getString(23)) + .setCodeVariants(emptyIfNull(rs, 26)); Optional.ofNullable(rs.getString(24)).ifPresent(builder::setRuleDescriptionContextKey); setLocations(builder, rs, issueUuid); setMessageFormattings(builder, rs, issueUuid); diff --git a/server/sonar-ce-task-projectanalysis/src/main/protobuf/project_dump.proto b/server/sonar-ce-task-projectanalysis/src/main/protobuf/project_dump.proto index d18b27cd1df..91a9495631c 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/protobuf/project_dump.proto +++ b/server/sonar-ce-task-projectanalysis/src/main/protobuf/project_dump.proto @@ -126,6 +126,7 @@ message Issue { optional string ruleDescriptionContextKey = 24; repeated MessageFormatting messageFormattings = 25; + string codeVariants = 26; } // Stream of issues changelog stored in file issues_changelog.pb |