diff --git a/README.md b/README.md index 7c06705..8c95225 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Reset Your IDE Eval Information -1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.1.12.zip). +1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.1.13.zip). * Alternative installation method: * Add "Custom Plugin Repository": `https://plugins.zhile.io` manually (`Settings/Preferences` -> `Plugins`) * Search and install plugin: `IDE Eval Reset` diff --git a/build.gradle b/build.gradle index 6773cfd..ad45664 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { id 'java' - id 'org.jetbrains.intellij' version '0.5.0' + id 'org.jetbrains.intellij' version '0.6.5' } group 'io.zhile.research.intellij' -version '2.1.12' +version '2.1.13' sourceCompatibility = 1.7 targetCompatibility = 1.7 @@ -29,6 +29,8 @@ intellij { patchPluginXml { changeNotes """
+Release v2.1.13 + 1. fix error notification Release v2.1.12 1. fix disable plugins Release v2.1.11 diff --git a/src/main/java/io/zhile/research/intellij/ier/action/ResetAction.java b/src/main/java/io/zhile/research/intellij/ier/action/ResetAction.java index 3c2eead..6f8db28 100644 --- a/src/main/java/io/zhile/research/intellij/ier/action/ResetAction.java +++ b/src/main/java/io/zhile/research/intellij/ier/action/ResetAction.java @@ -22,16 +22,12 @@ import org.jetbrains.annotations.NotNull; public class ResetAction extends AnAction implements DumbAware { static { + CustomProperties.fix(); BrokenPlugins.fix(); BrokenPluginsListener.getInstance().listen(); AppEventListener.getInstance().listen(); AppActivationListener.getInstance().listen(); - try { - CustomProperties.fix(); - } catch (Exception e) { - // - } CustomRepository.checkAndAdd(CustomRepository.DEFAULT_HOST); } diff --git a/src/main/java/io/zhile/research/intellij/ier/helper/BrokenPlugins.java b/src/main/java/io/zhile/research/intellij/ier/helper/BrokenPlugins.java index bc3aee9..36b7e08 100644 --- a/src/main/java/io/zhile/research/intellij/ier/helper/BrokenPlugins.java +++ b/src/main/java/io/zhile/research/intellij/ier/helper/BrokenPlugins.java @@ -1,15 +1,17 @@ package io.zhile.research.intellij.ier.helper; import com.intellij.openapi.application.PathManager; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.util.io.FileUtil; import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.nio.file.StandardCopyOption; public class BrokenPlugins { + private static final Logger LOG = Logger.getInstance(BrokenPlugins.class); + public static void fix() { String content = "[]"; String fileName = "brokenPlugins.json"; @@ -19,12 +21,17 @@ public class BrokenPlugins { return; } + File tmp = null; try { - Path bak = brokenPluginsPath.getParent().resolve(fileName + ".tmp"); - Files.write(bak, content.getBytes()); - Files.move(bak, brokenPluginsPath, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE); + tmp = File.createTempFile(fileName, null); + FileUtil.writeToFile(tmp, content); + FileUtil.copy(tmp, brokenPluginsFile); } catch (IOException e) { - NotificationHelper.showError(null, "Set broken plugins failed!"); + LOG.warn("Set broken plugins failed", e); + } finally { + if (null != tmp) { + FileUtil.delete(tmp); + } } } } diff --git a/src/main/java/io/zhile/research/intellij/ier/helper/CustomProperties.java b/src/main/java/io/zhile/research/intellij/ier/helper/CustomProperties.java index 5413e3c..41336df 100644 --- a/src/main/java/io/zhile/research/intellij/ier/helper/CustomProperties.java +++ b/src/main/java/io/zhile/research/intellij/ier/helper/CustomProperties.java @@ -1,51 +1,8 @@ package io.zhile.research.intellij.ier.helper; -import com.intellij.openapi.application.PathManager; -import com.intellij.util.SystemProperties; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - public class CustomProperties { - public static void fix() throws Exception { + public static void fix() { String key = "idea.ignore.disabled.plugins"; System.clearProperty(key); - - Listpaths = new ArrayList<>(); - paths.add(Paths.get(SystemProperties.getUserHome(), PathManager.PROPERTIES_FILE_NAME)); - - String customOptionsDir = PathManager.getCustomOptionsDirectory(); - if (null != customOptionsDir) { - paths.add(Paths.get(customOptionsDir, PathManager.PROPERTIES_FILE_NAME)); - } - - for (Path path : paths) { - File file = path.toFile(); - if (!file.exists()) { - continue; - } - - Properties props = new Properties(); - try (FileInputStream fis = new FileInputStream(file)) { - props.load(fis); - } - - props.remove(key); - - if (props.isEmpty()) { - file.delete(); - continue; - } - - try (FileOutputStream fos = new FileOutputStream(file)) { - props.store(fos, null); - } - } } }