[coverage] IDEA-340872 Add external report import action to the coverage view

GitOrigin-RevId: d655a4a7770893d33a03ad7367d85b65ac5bb5d9
This commit is contained in:
Maksim Zuev
2024-01-18 17:05:29 +01:00
committed by intellij-monorepo-bot
parent dcf27325e9
commit f56cd985d8
3 changed files with 28 additions and 1 deletions

View File

@@ -93,4 +93,7 @@ coverage.show.unmodified.elements=Show {0} with uncommitted changes
coverage.view.filters.group=Filters
coverage.files=files
coverage.files.capitalised=Files
coverage.filter.gotit=Only {0} with uncommitted changes are shown. You can configure filtering here.
coverage.filter.gotit=Only {0} with uncommitted changes are shown. You can configure filtering here.
coverage.import.report.action=Import External Coverage Report
coverage.import.report.action.description=Import a report collected in CI from disc

View File

@@ -0,0 +1,22 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.coverage.actions
import com.intellij.coverage.CoverageBundle
import com.intellij.icons.AllIcons
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
class ExternalReportImportAction : AnAction(
CoverageBundle.message("coverage.import.report.action"),
CoverageBundle.message("coverage.import.report.action.description"),
AllIcons.ToolbarDecorator.Import
) {
override fun actionPerformed(e: AnActionEvent) {
val project = e.project ?: return
val manager = ExternalReportImportManager.getInstance(project)
val suites = manager.chooseAndImportCoverageReportsFromDisc()
if (suites.isEmpty()) return
manager.openSuites(suites)
}
}

View File

@@ -6,6 +6,7 @@ import com.intellij.coverage.CoverageBundle;
import com.intellij.coverage.CoverageDataManager;
import com.intellij.coverage.CoverageLogger;
import com.intellij.coverage.CoverageSuitesBundle;
import com.intellij.coverage.actions.ExternalReportImportAction;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.RunManager;
import com.intellij.execution.RunnerAndConfigurationSettings;
@@ -370,6 +371,7 @@ public class CoverageView extends BorderLayoutPanel implements DataProvider, Dis
installAutoScrollFromSource(actionGroup);
actionGroup.add(ActionManager.getInstance().getAction("GenerateCoverageReport"));
actionGroup.add(new ExternalReportImportAction());
List<AnAction> extraActions = myViewExtension.createExtraToolbarActions();
extraActions.forEach(actionGroup::add);