|
|
|
@ -46,7 +46,6 @@ public class PluginHelper {
|
|
|
|
|
public static final String TEMP_FILE = "temp.zip"; |
|
|
|
|
public static final String CONNECTION_404 = "404"; |
|
|
|
|
|
|
|
|
|
private static final String LOW_VERSION = "0"; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 下载插件 |
|
|
|
@ -343,66 +342,9 @@ public class PluginHelper {
|
|
|
|
|
*/ |
|
|
|
|
public static boolean isNewThan(Plugin plugin, Plugin oldPlugin) { |
|
|
|
|
|
|
|
|
|
return compareVersion(plugin.getVersion(), oldPlugin.getVersion()) >= 0; |
|
|
|
|
return plugin.versionCompareTo(oldPlugin) >= 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static int compareVersion(String version1, String version2) { |
|
|
|
|
|
|
|
|
|
if (StringUtils.isBlank(version1)) { |
|
|
|
|
version1 = LOW_VERSION; |
|
|
|
|
} |
|
|
|
|
if (StringUtils.isBlank(version2)) { |
|
|
|
|
version2 = LOW_VERSION; |
|
|
|
|
} |
|
|
|
|
//1.1.1类型
|
|
|
|
|
String[] v1 = parseVersion(version1); |
|
|
|
|
String[] v2 = parseVersion(version2); |
|
|
|
|
return compareVersion(v1, v2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static int compareVersion(String[] v1, String[] v2) { |
|
|
|
|
//v1,v2都是1.1.1类型的数组
|
|
|
|
|
int result = 0; |
|
|
|
|
int tempResult; |
|
|
|
|
for (int i = 0; i < v1.length; i++) { |
|
|
|
|
if (i >= v2.length) { |
|
|
|
|
//一直没分出大小,v2用完了,v1大
|
|
|
|
|
result = 1; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
tempResult = compareIntStr(v1[i], v2[i]); |
|
|
|
|
if (tempResult != 0) { |
|
|
|
|
//分出大小,停止后续比较
|
|
|
|
|
result = tempResult; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//循环完了v1,如果还没比出大小
|
|
|
|
|
if (result == 0 && v2.length > v1.length) { |
|
|
|
|
result = -1; |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static int compareIntStr(String s1, String s2) { |
|
|
|
|
|
|
|
|
|
return Integer.parseInt(s1) - Integer.parseInt(s2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static String[] parseVersion(String versionStr) { |
|
|
|
|
|
|
|
|
|
char c; |
|
|
|
|
StringBuilder sBuilder = new StringBuilder(); |
|
|
|
|
for (int i = 0; i < versionStr.length(); i++) { |
|
|
|
|
c = versionStr.charAt(i); |
|
|
|
|
if (Character.isDigit(c)) { |
|
|
|
|
sBuilder.append(c); |
|
|
|
|
} else if (c == '.') { |
|
|
|
|
sBuilder.append("-"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return sBuilder.toString().split("-"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static String sendInstalledPluginInfo(final Plugin plugin) { |
|
|
|
|
if (StableUtils.isDebug()) { |
|
|
|
|