From b07a052461fcd3dd390c73f8cf3b8ef63c7d145a Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 27 Jun 2016 00:51:45 +0200 Subject: [PATCH] provide additional command 'apply' for Toolbox. It's similar to 'install', but applies the patch silently and without ui --- updater/src/com/intellij/updater/Runner.java | 28 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/updater/src/com/intellij/updater/Runner.java b/updater/src/com/intellij/updater/Runner.java index 1d00b3376429..fd85efff580d 100644 --- a/updater/src/com/intellij/updater/Runner.java +++ b/updater/src/com/intellij/updater/Runner.java @@ -1,3 +1,18 @@ +/* + * Copyright 2000-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.intellij.updater; import org.apache.log4j.FileAppender; @@ -65,12 +80,16 @@ public class Runner { create(spec); } - else if (args.length >= 2 && "install".equals(args[0])) { + else if (args.length >= 2 && ("install".equals(args[0]) || "apply".equals(args[0]))) { String destFolder = args[1]; initLogger(); logger.info("destFolder: " + destFolder); - install(jarFile, destFolder); + if ("install".equals(args[0])) { + install(jarFile, destFolder); + } else { + apply(jarFile, destFolder); + } } else { printUsage(); @@ -248,6 +267,11 @@ public class Runner { }); } + private static void apply(final String jarFile, final String destFolder) throws Exception { + logger.info("Applying patch to the " + destFolder); + doInstall(jarFile, new ConsoleUpdaterUI(), destFolder); + } + private static boolean doInstall(String jarFile, UpdaterUI ui, String destFolder) throws OperationCancelledException { try { try {