Skip to content

Commit be642b4

Browse files
committed
修复自动检查更新问题
1 parent 5e1c370 commit be642b4

File tree

10 files changed

+49
-43
lines changed

10 files changed

+49
-43
lines changed

MiraiMC-Base/pom.xml

-5
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@
3434
<version>1.6</version>
3535
<scope>compile</scope>
3636
</dependency>
37-
<dependency>
38-
<groupId>com.google.code.gson</groupId>
39-
<artifactId>gson</artifactId>
40-
<version>2.8.8</version>
41-
</dependency>
4237
</dependencies>
4338

4439
<build>

MiraiMC-Base/src/main/java/me/dreamvoid/miraimc/internal/PluginUpdate.java

+32-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package me.dreamvoid.miraimc.internal;
22

3-
import com.google.gson.Gson;
4-
53
import java.io.BufferedReader;
64
import java.io.IOException;
75
import java.io.InputStream;
86
import java.io.InputStreamReader;
97
import java.net.HttpURLConnection;
108
import java.net.URL;
119
import java.nio.charset.StandardCharsets;
12-
import java.util.HashMap;
1310

1411
public class PluginUpdate {
15-
public static String getVersion() throws IOException {
16-
URL url = new URL("https://api.github.com/repos/DreamVoid/MiraiMC/releases/latest");
12+
private final String latestRelease;
13+
private final int latestReleaseNo;
14+
private final String latestPreRelease;
15+
private final int latestPreReleaseNo;
16+
17+
public PluginUpdate() throws IOException {
18+
URL url = new URL("https://raw.githubusercontent.com/DreamVoid/MiraiMC/main/version");
1719
StringBuilder sb = new StringBuilder();
1820
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
1921

@@ -34,7 +36,30 @@ public static String getVersion() throws IOException {
3436
input.close();
3537
httpUrlConn.disconnect();
3638

37-
HashMap datax = new Gson().fromJson(sb.toString(),HashMap.class);
38-
return (String) datax.get("name");
39+
String[] version = sb.toString().split(";");
40+
41+
String[] release = version[0].split(":");
42+
latestRelease = release[0];
43+
latestReleaseNo = Integer.parseInt(release[1]);
44+
45+
String[] preRelease = version[1].split(":");
46+
latestPreRelease = preRelease[0];
47+
latestPreReleaseNo = Integer.parseInt(preRelease[1]);
48+
}
49+
50+
public String getLatestRelease() {
51+
return latestRelease;
52+
}
53+
54+
public int getLatestReleaseNo() {
55+
return latestReleaseNo;
56+
}
57+
58+
public String getLatestPreRelease() {
59+
return latestPreRelease;
60+
}
61+
62+
public int getLatestPreReleaseNo() {
63+
return latestPreReleaseNo;
3964
}
4065
}

MiraiMC-Base/src/test/java/test/JavaMain.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package test;
22

3-
import java.io.IOException;
3+
import me.dreamvoid.miraimc.internal.PluginUpdate;
44

5-
import static me.dreamvoid.miraimc.internal.PluginUpdate.getVersion;
5+
import java.io.IOException;
66

77
public class JavaMain {
88
public static void main(String[] args){
99
try {
10-
System.out.println(getVersion());
10+
System.out.println(new PluginUpdate().getLatestRelease());
1111
} catch (IOException e) {
1212
e.printStackTrace();
1313
}

MiraiMC-Bukkit/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@
5353
<pattern>com.zaxxer</pattern>
5454
<shadedPattern>me.dreamvoid.miraimc.libraries.zaxxer</shadedPattern>
5555
</relocation>
56-
<relocation>
57-
<pattern>com.google.gson</pattern>
58-
<shadedPattern>me.dreamvoid.miraimc.libraries.gson</shadedPattern>
59-
</relocation>
6056
<relocation>
6157
<pattern>org.apache.commons.codec</pattern>
6258
<shadedPattern>me.dreamvoid.miraimc.libraries.codec</shadedPattern>

MiraiMC-Bukkit/src/main/java/me/dreamvoid/miraimc/bukkit/BukkitPlugin.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.dreamvoid.miraimc.bukkit.utils.Metrics;
55
import me.dreamvoid.miraimc.internal.*;
66
import org.bukkit.Bukkit;
7+
import org.bukkit.plugin.Plugin;
78
import org.bukkit.plugin.java.JavaPlugin;
89
import org.bukkit.scheduler.BukkitRunnable;
910

@@ -96,13 +97,14 @@ public void onEnable() {
9697
new BukkitRunnable() {
9798
@Override
9899
public void run() {
99-
getLogger().info("正在检查更新...");
100+
getLogger().info("Checking update...");
100101
try {
101-
String version = PluginUpdate.getVersion();
102-
if(getDescription().getVersion()!=version){
102+
PluginUpdate fetch = new PluginUpdate();
103+
String version = !getDescription().getVersion().contains("-") ? fetch.getLatestRelease() : fetch.getLatestPreRelease();
104+
if(!getDescription().getVersion().equals(version)){
103105
getLogger().info("已找到新的插件更新,最新版本: " + version);
104106
getLogger().info("从Github下载更新: https://github.com/DreamVoid/MiraiMC/releases/latest");
105-
} else getLogger().info("你使用的是最新版本");
107+
} else getLogger().info("You are using the latest version!");
106108
} catch (IOException e) {
107109
getLogger().warning("An error occurred while fetching the latest version, reason: " + e);
108110
}

MiraiMC-Bungee/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,6 @@
7171
<pattern>com.zaxxer</pattern>
7272
<shadedPattern>me.dreamvoid.miraimc.libraries.zaxxer</shadedPattern>
7373
</relocation>
74-
<relocation>
75-
<pattern>com.google.gson</pattern>
76-
<shadedPattern>me.dreamvoid.miraimc.libraries.gson</shadedPattern>
77-
</relocation>
7874
<relocation>
7975
<pattern>org.apache.commons.codec</pattern>
8076
<shadedPattern>me.dreamvoid.miraimc.libraries.codec</shadedPattern>

MiraiMC-Bungee/src/main/java/me/dreamvoid/miraimc/bungee/BungeePlugin.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,11 @@ public void onEnable() {
9494

9595
if(Config.Gen_CheckUpdate && !getDescription().getVersion().contains("dev")){
9696
getProxy().getScheduler().runAsync(this, () -> {
97-
getLogger().info("正在检查更新...");
97+
getLogger().info("Checking update...");
9898
try {
99-
String version = PluginUpdate.getVersion();
100-
if(getDescription().getVersion()!=version){
99+
PluginUpdate fetch = new PluginUpdate();
100+
String version = !getDescription().getVersion().contains("-") ? fetch.getLatestRelease() : fetch.getLatestPreRelease();
101+
if(!getDescription().getVersion().equals(version)){
101102
getLogger().info("已找到新的插件更新,最新版本: " + version);
102103
getLogger().info("从Github下载更新: https://github.com/DreamVoid/MiraiMC/releases/latest");
103104
} else getLogger().info("你使用的是最新版本");

MiraiMC-Nukkit/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,6 @@
7878
<pattern>com.zaxxer</pattern>
7979
<shadedPattern>me.dreamvoid.miraimc.libraries.zaxxer</shadedPattern>
8080
</relocation>
81-
<relocation>
82-
<pattern>com.google.gson</pattern>
83-
<shadedPattern>me.dreamvoid.miraimc.libraries.gson</shadedPattern>
84-
</relocation>
8581
<relocation>
8682
<pattern>org.apache.commons.codec</pattern>
8783
<shadedPattern>me.dreamvoid.miraimc.libraries.codec</shadedPattern>

MiraiMC-Nukkit/src/main/java/me/dreamvoid/miraimc/nukkit/NukkitPlugin.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,11 @@ public void onEnable() {
9999
getServer().getScheduler().scheduleAsyncTask(this, new AsyncTask() {
100100
@Override
101101
public void onRun() {
102-
getLogger().info("正在检查更新...");
102+
getLogger().info("Checking update...");
103103
try {
104-
String version = PluginUpdate.getVersion();
105-
if(getDescription().getVersion()!=version){
104+
PluginUpdate fetch = new PluginUpdate();
105+
String version = !getDescription().getVersion().contains("-") ? fetch.getLatestRelease() : fetch.getLatestPreRelease();
106+
if(!getDescription().getVersion().equals(version)){
106107
getLogger().info("已找到新的插件更新,最新版本: " + version);
107108
getLogger().info("从Github下载更新: https://github.com/DreamVoid/MiraiMC/releases/latest");
108109
} else getLogger().info("你使用的是最新版本");

MiraiMC-Sponge/pom.xml

-6
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@
4444
<version>4.0.3</version>
4545
<scope>provided</scope>
4646
</dependency>
47-
<dependency>
48-
<groupId>com.google.code.gson</groupId>
49-
<artifactId>gson</artifactId>
50-
<version>2.8.8</version>
51-
<scope>provided</scope>
52-
</dependency>
5347
</dependencies>
5448

5549
<build>

0 commit comments

Comments
 (0)