From 1f26db8ab63fc4ae42b057fe669567d2cd779b01 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 4 May 2020 21:04:40 +0200 Subject: [PATCH] [updater] conflicts logging (IDEA-215497) GitOrigin-RevId: 96a8887ca99b0688641fa6ef75c64a89256bc09e --- updater/src/com/intellij/updater/Runner.java | 34 +++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/updater/src/com/intellij/updater/Runner.java b/updater/src/com/intellij/updater/Runner.java index 7d84f7289f55..600532b5c9c7 100644 --- a/updater/src/com/intellij/updater/Runner.java +++ b/updater/src/com/intellij/updater/Runner.java @@ -326,14 +326,7 @@ public class Runner { File destDir = dest.toFile(); preparationResult = PatchFileCreator.prepareAndValidate(patchFile, destDir, ui); - List problems = preparationResult.validationResults; - Map resolutions = problems.isEmpty() ? Collections.emptyMap() : ui.askUser(problems); - if (! resolutions.isEmpty()) { - logger().warn("Some conflicts were found: "); - for (Map.Entry entry : resolutions.entrySet()) { - logger().warn(" " + entry.getKey()); - } - } + Map resolutions = askForResolutions(preparationResult.validationResults, ui); if (doBackup) { backupDir = Utils.getTempFile("backup"); @@ -459,14 +452,7 @@ public class Runner { for (File patchFile : patchFiles) { PatchFileCreator.PreparationResult preparationResult = PatchFileCreator.prepareAndValidate(patchFile, destDir, ui); - List problems = preparationResult.validationResults; - Map resolutions = problems.isEmpty() ? Collections.emptyMap() : ui.askUser(problems); - if (! resolutions.isEmpty()) { - logger().warn("Some conflicts were found: "); - for (Map.Entry entry : resolutions.entrySet()) { - logger().warn(" " + entry.getKey()); - } - } + Map resolutions = askForResolutions(preparationResult.validationResults, ui); PatchFileCreator.ApplicationResult applicationResult = PatchFileCreator.apply(preparationResult, resolutions, null, ui); needRestore |= !applicationResult.appliedActions.isEmpty(); @@ -543,6 +529,22 @@ public class Runner { } } + private static Map askForResolutions( + List problems, UpdaterUI ui + ) throws OperationCancelledException { + if (problems.isEmpty()) return Collections.emptyMap(); + logger().warn("conflicts:"); + for (ValidationResult problem : problems) { + logger().warn(" " + problem.action.name() + " @ " + problem.path + ": " + problem.message); + } + Map resolutions = ui.askUser(problems); + logger().warn("resolutions:"); + for (Map.Entry entry : resolutions.entrySet()) { + logger().warn(" " + entry.getKey() + ": " + entry.getValue()); + } + return resolutions; + } + private static void refreshApplicationIcon(String destPath) { if (Utils.IS_MAC) { try {