From 99987330deb30569cc6bce7edfae3b2ed9c32566 Mon Sep 17 00:00:00 2001 From: pengzhile Date: Thu, 12 Nov 2020 11:47:41 +0800 Subject: [PATCH] add ide plugin marketplace mechanism Signed-off-by: pengzhile --- build.gradle | 4 +++- .../intellij/ier/action/ResetAction.java | 3 +++ .../intellij/ier/helper/CustomRepository.java | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/java/io/zhile/research/intellij/ier/helper/CustomRepository.java diff --git a/build.gradle b/build.gradle index a09832f..5344407 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'io.zhile.research.intellij' -version '2.1.0' +version '2.1.1' sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -29,6 +29,8 @@ intellij { patchPluginXml { changeNotes """
+Release v2.1.1
+  1. add ide plugin marketplace mechanism
 Release v2.1.0
   1. add option "Auto reset before per restart"
 Release v2.0.4
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 6f76859..5fbe084 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
@@ -14,6 +14,7 @@ import com.intellij.openapi.wm.ToolWindowManager;
 import com.intellij.openapi.wm.ex.ToolWindowManagerEx;
 import io.zhile.research.intellij.ier.component.ResetTimer;
 import io.zhile.research.intellij.ier.helper.Constants;
+import io.zhile.research.intellij.ier.helper.CustomRepository;
 import io.zhile.research.intellij.ier.helper.ProjectHelper;
 import io.zhile.research.intellij.ier.tw.MainToolWindowFactory;
 import io.zhile.research.intellij.ier.ui.dialog.MainDialog;
@@ -26,6 +27,8 @@ public class ResetAction extends AnAction implements DumbAware {
     public ResetAction() {
         super(ACTION_NAME, "Reset my IDE eval information", AllIcons.General.Reset);
         new ResetTimer().start(this);
+
+        CustomRepository.checkAndAdd(CustomRepository.DEFAULT_HOST);
     }
 
     @Override
diff --git a/src/main/java/io/zhile/research/intellij/ier/helper/CustomRepository.java b/src/main/java/io/zhile/research/intellij/ier/helper/CustomRepository.java
new file mode 100644
index 0000000..88719d7
--- /dev/null
+++ b/src/main/java/io/zhile/research/intellij/ier/helper/CustomRepository.java
@@ -0,0 +1,19 @@
+package io.zhile.research.intellij.ier.helper;
+
+import com.intellij.openapi.updateSettings.impl.UpdateSettings;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.List;
+
+public class CustomRepository {
+    public static final String DEFAULT_HOST = "https://plugins.zhile.io";
+
+    public static void checkAndAdd(@NotNull String host) {
+        List hosts = UpdateSettings.getInstance().getStoredPluginHosts();
+        if (hosts.stream().anyMatch(s -> s.equalsIgnoreCase(host))) {
+            return;
+        }
+
+        hosts.add(host);
+    }
+}