1
mirror of https://github.com/CarmJos/MineSQL.git synced 2024-09-19 20:25:45 +00:00

采用独立文件的方式读取依赖版本

This commit is contained in:
Carm Jos 2022-02-24 05:58:11 +08:00
parent 79ed47389a
commit aa83feea05
5 changed files with 73 additions and 14 deletions

View File

@ -90,7 +90,7 @@
<locale>zh_CN</locale>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>cc.carm.lib:*</dependencySourceIncludes>
<dependencySourceIncludes>cc.carm.lib:easysql-api</dependencySourceIncludes>
<dependencySourceIncludes>cc.carm.plugin:*</dependencySourceIncludes>
<outputDirectory>${project.parent.basedir}/api-docs/</outputDirectory>
</configuration>

View File

@ -3,6 +3,7 @@ package cc.carm.plugin.easysql.command;
import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.lib.easysql.api.SQLQuery;
import cc.carm.plugin.easysql.EasySQLRegistryImpl;
import cc.carm.plugin.easysql.util.VersionReader;
import co.aikar.commands.BaseCommand;
import co.aikar.commands.CommandHelp;
import co.aikar.commands.CommandIssuer;
@ -11,8 +12,6 @@ import co.aikar.commands.annotation.*;
import java.util.Map;
import java.util.UUID;
import static cc.carm.plugin.easysql.util.MavenReadUtil.getVersion;
@SuppressWarnings("unused")
@CommandAlias("EasySQL")
@ -37,15 +36,19 @@ public class EasySQLCommand extends BaseCommand {
issuer.sendMessage("§c只有后台执行才能使用此命令。");
return;
}
String pluginVersion = getVersion(this, "cc.carm.plugin", "easysql-plugin-core");
String apiVersion = getVersion(this, "cc.carm.lib", "easysql-api");
String poolVersion = getVersion(this, "com.github.chris2018998", "beecp");
if (pluginVersion == null || apiVersion == null) {
VersionReader reader = new VersionReader();
String pluginVersion = reader.get("plugin", null);
if (pluginVersion == null) {
issuer.sendMessage("§c无法获取当前版本信息请保证使用原生版本以避免安全问题。");
return;
}
issuer.sendMessage("§r当前插件版本为 §b" + pluginVersion + " §r核心接口版本为 §9" + apiVersion + "§r。 §7(基于 BeeCP " + poolVersion + ")");
issuer.sendMessage("§r正在检查更新请稍候...");
issuer.sendMessage("§r当前插件版本为 §b" + pluginVersion + "§r。 §7(基于 EasySQL &3" + reader.get("api") + "&7)");
issuer.sendMessage("§8 - &f连接池依赖 BeeCP §9" + reader.get("beecp"));
issuer.sendMessage("§8 - &f数据库驱动 MySQL §9" + reader.get("mysql-driver"));
issuer.sendMessage("§8 - &f数据库驱动 MariaDB §9" + reader.get("mariadb-driver"));
issuer.sendMessage("§8 - &f数据库驱动 h2-database §9" + reader.get("h2-driver"));
issuer.sendMessage("§r正在检查插件更新请稍候...");
EasySQLRegistryImpl.getInstance().checkUpdate(pluginVersion);
}

View File

@ -0,0 +1,39 @@
package cc.carm.plugin.easysql.util;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.InputStream;
import java.util.Properties;
public class VersionReader {
String versionsFileName;
public VersionReader() {
this("versions.properties");
}
public VersionReader(String versionsFileName) {
this.versionsFileName = versionsFileName;
}
public synchronized @NotNull String get(@NotNull String artifactID) {
return get(artifactID, "unknown");
}
@Contract("_,!null->!null")
public synchronized @Nullable String get(@NotNull String artifactID,
@Nullable String defaultValue) {
try (InputStream is = this.getClass().getResourceAsStream("/" + versionsFileName)) {
Properties p = new Properties();
p.load(is);
return p.getProperty(artifactID, defaultValue);
} catch (Exception ignore) {
}
return defaultValue;
}
}

View File

@ -0,0 +1,11 @@
# suppress inspection "SpellCheckingInspection" for whole file
plugin=${project.version}
api=${easysql.version}
beecp=${beecp.version}
mysql-driver=${mysql-driver.version}
mariadb-driver=${mariadb-driver.version}
h2-driver=${h2-driver.version}

16
pom.xml
View File

@ -10,9 +10,15 @@
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<easysql.version>0.3.8</easysql.version>
<easyplugin.version>1.3.8</easyplugin.version>
<hikaricp.version>4.0.3</hikaricp.version>
<beecp.version>3.3.2</beecp.version>
<mysql-driver.version>8.0.28</mysql-driver.version>
<mariadb-driver.version>3.0.3</mariadb-driver.version>
<h2-driver.version>2.1.210</h2-driver.version>
</properties>
<groupId>cc.carm.plugin</groupId>
@ -118,7 +124,7 @@
<!--项目地址 https://github.com/Chris2018998/BeeCP -->
<groupId>com.github.chris2018998</groupId>
<artifactId>beecp</artifactId>
<version>3.3.2</version>
<version>${beecp.version}</version>
</dependency>
<dependency>
@ -150,21 +156,21 @@
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.0.3</version>
<version>${mariadb-driver.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<version>${mysql-driver.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.210</version>
<version>${h2-driver.version}</version>
</dependency>
</dependencies>