diff --git a/api/pom.xml b/api/pom.xml
index 61250a5..816d670 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
4.0.0
diff --git a/api/src/main/java/cc/carm/plugin/minesql/api/conf/impl/FileBasedConfig.java b/api/src/main/java/cc/carm/plugin/minesql/api/conf/impl/FileBasedConfig.java
index 568f9f5..8e668ec 100644
--- a/api/src/main/java/cc/carm/plugin/minesql/api/conf/impl/FileBasedConfig.java
+++ b/api/src/main/java/cc/carm/plugin/minesql/api/conf/impl/FileBasedConfig.java
@@ -27,7 +27,11 @@ public class FileBasedConfig extends SQLDriverConfig {
@Override
public SQLSourceConfig createSource() {
File file = new File(MineSQL.getDataSourceFolder(), filePath);
- return SQLSourceConfig.create(getType().getDriverClass(), file.getAbsolutePath(), getType().getInitializer());
+ return SQLSourceConfig.create(
+ getType().getDriverClass(),
+ getType().getJdbcPrefix() + file.getAbsolutePath(),
+ getType().getInitializer()
+ );
}
@Override
diff --git a/core/pom.xml b/core/pom.xml
index 2a5fb2e..307c8cc 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
4.0.0
@@ -130,7 +130,7 @@
com.google.guava
guava
- provided
+ compile
diff --git a/core/src/main/java/cc/carm/plugin/minesql/MineSQLCore.java b/core/src/main/java/cc/carm/plugin/minesql/MineSQLCore.java
index ec15a58..93e6e8b 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/MineSQLCore.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/MineSQLCore.java
@@ -6,8 +6,8 @@ import cc.carm.lib.easyplugin.utils.JarResourceUtils;
import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.lib.githubreleases4j.GithubReleases4J;
import cc.carm.plugin.minesql.api.source.SQLSourceConfig;
-import cc.carm.plugin.minesql.command.EasySQLCommand;
-import cc.carm.plugin.minesql.command.EasySQLHelpFormatter;
+import cc.carm.plugin.minesql.command.MineSQLCommand;
+import cc.carm.plugin.minesql.command.MineSQLHelpFormatter;
import cc.carm.plugin.minesql.conf.PluginConfiguration;
import cc.carm.plugin.minesql.conf.SQLSourceGroup;
import cc.carm.plugin.minesql.util.DBPropertiesUtil;
@@ -43,6 +43,9 @@ public class MineSQLCore implements IMineSQL {
this.config = new PluginConfiguration();
this.configProvider.initialize(this.config);
+ getLogger().info("初始化MineSQL API...");
+ MineSQL.initializeAPI(this);
+
getLogger().info("初始化注册池...");
this.registry = new MineSQLRegistry(this);
@@ -78,7 +81,9 @@ public class MineSQLCore implements IMineSQL {
public @NotNull Map readConfigurations() {
SQLSourceGroup group = getConfig().SOURCES.getNotNull();
Map sources = new LinkedHashMap<>();
- group.getSources().forEach((k, v) -> sources.put(k, v.createSource()));
+ group.getSources().entrySet().stream()
+ .filter(entry -> !entry.getKey().startsWith("example-"))
+ .forEach(entry -> sources.put(entry.getKey(), entry.getValue().createSource()));
return sources;
}
@@ -90,12 +95,17 @@ public class MineSQLCore implements IMineSQL {
File file = new File(getPluginFolder(), propertiesFolder);
if (!file.exists() || !file.isDirectory()) {
- try {
- JarResourceUtils.copyFolderFromJar(
- "db-properties", file, JarResourceUtils.CopyOption.COPY_IF_NOT_EXIST
- );
- } catch (Exception ex) {
- getLogger().severe("初始化properties示例文件失败:" + ex.getMessage());
+ if ((propertiesFolder.equals("db-properties/") || propertiesFolder.equals("db-properties"))) {
+ try {
+ JarResourceUtils.copyFolderFromJar(
+ "db-properties", getPluginFolder(),
+ JarResourceUtils.CopyOption.COPY_IF_NOT_EXIST
+ );
+ } catch (Exception ex) {
+ getLogger().severe("初始化properties示例文件失败:" + ex.getMessage());
+ }
+ } else {
+ file.mkdirs();
}
}
@@ -105,7 +115,7 @@ public class MineSQLCore implements IMineSQL {
@SuppressWarnings("deprecation")
protected void initializeCommands(CommandManager, ?, ?, ?, ?, ?> commandManager) {
commandManager.enableUnstableAPI("help");
- commandManager.setHelpFormatter(new EasySQLHelpFormatter(commandManager));
+ commandManager.setHelpFormatter(new MineSQLHelpFormatter(commandManager));
commandManager.getLocales().setDefaultLocale(Locales.SIMPLIFIED_CHINESE);
commandManager.getCommandContexts().registerContext(SQLManager.class, c -> {
String name = c.popFirstArg();
@@ -119,7 +129,7 @@ public class MineSQLCore implements IMineSQL {
if (c.getIssuer().isPlayer()) return ImmutableList.of();
else return ImmutableList.copyOf(getRegistry().list().keySet());
});
- commandManager.registerCommand(new EasySQLCommand(this));
+ commandManager.registerCommand(new MineSQLCommand(this));
}
public void checkUpdate(String currentVersion) {
diff --git a/core/src/main/java/cc/carm/plugin/minesql/MineSQLRegistry.java b/core/src/main/java/cc/carm/plugin/minesql/MineSQLRegistry.java
index cc8ba40..99dd808 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/MineSQLRegistry.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/MineSQLRegistry.java
@@ -45,21 +45,25 @@ public class MineSQLRegistry implements SQLRegistry {
dbProperties.forEach((id, properties) -> {
try {
+ core.getLogger().info("正在初始化数据库 #" + id + " ...");
SQLManagerImpl sqlManager = create(id, properties);
this.managers.put(id, sqlManager);
- } catch (Exception exception) {
- core.getLogger().warning("初始化SQLManager(#" + id + ") 出错,请检查配置文件.");
- exception.printStackTrace();
+ core.getLogger().info("完成成初始化数据库 #" + id + " 。");
+ } catch (Exception ex) {
+ core.getLogger().severe("初始化SQLManager(#" + id + ") 出错,请检查配置文件: " + ex.getMessage());
+ ex.printStackTrace();
}
});
dbConfigurations.forEach((id, configuration) -> {
try {
+ core.getLogger().info("正在初始化数据库 #" + id + " ...");
SQLManagerImpl sqlManager = create(id, configuration);
this.managers.put(id, sqlManager);
- } catch (Exception exception) {
- core.getLogger().warning("初始化SQLManager(#" + id + ") 出错,请检查配置文件.");
- exception.printStackTrace();
+ core.getLogger().info("完成初始化数据库 #" + id + " 。");
+ } catch (Exception ex) {
+ core.getLogger().severe("初始化SQLManager(#" + id + ") 出错,请检查配置文件: " + ex.getMessage());
+ ex.printStackTrace();
}
});
@@ -69,7 +73,8 @@ public class MineSQLRegistry implements SQLRegistry {
this.managers.forEach((k, manager) -> {
getCore().getLogger().info(" 正在关闭数据库 " + k + "...");
shutdown(manager, activeQueries -> {
- getCore().getLogger().info(" 数据库 " + k + " 仍有有 " + activeQueries + " 条活动查询");
+ if (activeQueries.isEmpty()) return;
+ getCore().getLogger().info(" 数据库 " + k + " 仍有 " + activeQueries.size() + " 条活动查询");
if (manager.getDataSource() instanceof BeeDataSource
&& this.core.getConfig().SETTINGS.FORCE_CLOSE.getNotNull()) {
getCore().getLogger().info(" 将强制关闭全部活跃链接...");
diff --git a/core/src/main/java/cc/carm/plugin/minesql/command/EasySQLCommand.java b/core/src/main/java/cc/carm/plugin/minesql/command/MineSQLCommand.java
similarity index 97%
rename from core/src/main/java/cc/carm/plugin/minesql/command/EasySQLCommand.java
rename to core/src/main/java/cc/carm/plugin/minesql/command/MineSQLCommand.java
index 1f6b9c1..1d9ee50 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/command/EasySQLCommand.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/command/MineSQLCommand.java
@@ -15,13 +15,13 @@ import java.util.UUID;
@SuppressWarnings("unused")
-@CommandAlias("EasySQL")
+@CommandAlias("MineSQL")
@Description("MineSQL的主指令,用于开发者进行调试,只允许后台执行。")
-public class EasySQLCommand extends BaseCommand {
+public class MineSQLCommand extends BaseCommand {
protected final MineSQLCore core;
- public EasySQLCommand(MineSQLCore core) {
+ public MineSQLCommand(MineSQLCore core) {
this.core = core;
}
diff --git a/core/src/main/java/cc/carm/plugin/minesql/command/EasySQLHelpFormatter.java b/core/src/main/java/cc/carm/plugin/minesql/command/MineSQLHelpFormatter.java
similarity index 94%
rename from core/src/main/java/cc/carm/plugin/minesql/command/EasySQLHelpFormatter.java
rename to core/src/main/java/cc/carm/plugin/minesql/command/MineSQLHelpFormatter.java
index f194b78..952de11 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/command/EasySQLHelpFormatter.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/command/MineSQLHelpFormatter.java
@@ -2,9 +2,9 @@ package cc.carm.plugin.minesql.command;
import co.aikar.commands.*;
-public class EasySQLHelpFormatter extends CommandHelpFormatter {
+public class MineSQLHelpFormatter extends CommandHelpFormatter {
- public EasySQLHelpFormatter(CommandManager manager) {
+ public MineSQLHelpFormatter(CommandManager manager) {
super(manager);
}
diff --git a/core/src/main/java/cc/carm/plugin/minesql/conf/PluginConfiguration.java b/core/src/main/java/cc/carm/plugin/minesql/conf/PluginConfiguration.java
index 8d42ba2..ae748a0 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/conf/PluginConfiguration.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/conf/PluginConfiguration.java
@@ -42,6 +42,7 @@ public class PluginConfiguration extends ConfigurationRoot {
.asValue(SQLSourceGroup.class).fromSection()
.parseValue((w, d) -> SQLSourceGroup.parse(w))
.serializeValue(SQLSourceGroup::serialize)
+ .defaults(SQLSourceGroup.defaults())
.build();
public static class PropertiesConfig extends ConfigurationRoot {
diff --git a/core/src/main/java/cc/carm/plugin/minesql/conf/SQLSourceGroup.java b/core/src/main/java/cc/carm/plugin/minesql/conf/SQLSourceGroup.java
index 2874e49..68cda20 100644
--- a/core/src/main/java/cc/carm/plugin/minesql/conf/SQLSourceGroup.java
+++ b/core/src/main/java/cc/carm/plugin/minesql/conf/SQLSourceGroup.java
@@ -32,6 +32,18 @@ public class SQLSourceGroup {
return data;
}
+ public static @NotNull SQLSourceGroup defaults() {
+ LinkedHashMap configs = new LinkedHashMap<>();
+ configs.put("example-mysql", new RemoteAuthConfig(
+ SQLDriverType.MARIADB, "127.0.0.1", 3306,
+ "minecraft", "minecraft", "minecraft",
+ "?sslMode=false"
+ ));
+ configs.put("example-h2-file", new FileBasedConfig(SQLDriverType.H2_FILE, "test"));
+ configs.put("example-h2-mem", new H2MemConfig("temp"));
+ return new SQLSourceGroup(configs);
+ }
+
public static @NotNull SQLSourceGroup parse(ConfigurationWrapper> rootSection) {
LinkedHashMap configs = new LinkedHashMap<>();
for (String name : rootSection.getKeys(false)) {
diff --git a/platforms/bukkit/pom.xml b/platforms/bukkit/pom.xml
index 331855a..38aba57 100644
--- a/platforms/bukkit/pom.xml
+++ b/platforms/bukkit/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
../../pom.xml
4.0.0
@@ -69,7 +69,6 @@
cc.carm.lib
easyplugin-main
${deps.easyplugin.version}
- true
compile
@@ -84,7 +83,6 @@
org.bstats
bstats-bukkit
3.0.0
- true
compile
@@ -92,7 +90,6 @@
co.aikar
acf-paper
0.5.1-SNAPSHOT
- true
compile
diff --git a/platforms/bukkit/src/main/java/cc/carm/plugin/minesql/MineSQLBukkit.java b/platforms/bukkit/src/main/java/cc/carm/plugin/minesql/MineSQLBukkit.java
index 6fc5aa1..860b2c6 100644
--- a/platforms/bukkit/src/main/java/cc/carm/plugin/minesql/MineSQLBukkit.java
+++ b/platforms/bukkit/src/main/java/cc/carm/plugin/minesql/MineSQLBukkit.java
@@ -22,9 +22,6 @@ public class MineSQLBukkit extends EasyPlugin implements MineSQLPlatform {
log("加载基础核心...");
this.core = new MineSQLCore(this);
-
- log("初始化MineSQL API...");
- MineSQL.initializeAPI(this.core);
}
@Override
diff --git a/platforms/bungee/pom.xml b/platforms/bungee/pom.xml
index e57f171..dea739e 100644
--- a/platforms/bungee/pom.xml
+++ b/platforms/bungee/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
../../pom.xml
4.0.0
@@ -94,7 +94,6 @@
org.bstats
bstats-bungeecord
3.0.0
- true
compile
@@ -102,7 +101,6 @@
co.aikar
acf-bungee
0.5.1-SNAPSHOT
- true
compile
diff --git a/platforms/bungee/src/main/java/cc/carm/plugin/minesql/MineSQLBungee.java b/platforms/bungee/src/main/java/cc/carm/plugin/minesql/MineSQLBungee.java
index 7737d9c..1a1baee 100644
--- a/platforms/bungee/src/main/java/cc/carm/plugin/minesql/MineSQLBungee.java
+++ b/platforms/bungee/src/main/java/cc/carm/plugin/minesql/MineSQLBungee.java
@@ -25,9 +25,6 @@ public class MineSQLBungee extends Plugin implements MineSQLPlatform {
getLogger().info("加载基础核心...");
this.core = new MineSQLCore(this);
-
- getLogger().info("初始化MineSQL API...");
- MineSQL.initializeAPI(this.core);
}
@Override
diff --git a/platforms/velocity/pom.xml b/platforms/velocity/pom.xml
index 4099858..e9b84c8 100644
--- a/platforms/velocity/pom.xml
+++ b/platforms/velocity/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
../../pom.xml
4.0.0
@@ -66,6 +66,7 @@
+
${project.parent.groupId}
minesql-core
@@ -73,6 +74,7 @@
compile
+
com.velocitypowered
velocity-api
@@ -85,16 +87,13 @@
bstats-velocity
3.0.0
true
- compile
-
co.aikar
acf-velocity
0.5.1-SNAPSHOT
true
- compile
diff --git a/platforms/velocity/src/main/java/cc/carm/plugin/minesql/MineSQLVelocity.java b/platforms/velocity/src/main/java/cc/carm/plugin/minesql/MineSQLVelocity.java
index 49dfb06..6d42a7d 100644
--- a/platforms/velocity/src/main/java/cc/carm/plugin/minesql/MineSQLVelocity.java
+++ b/platforms/velocity/src/main/java/cc/carm/plugin/minesql/MineSQLVelocity.java
@@ -53,9 +53,6 @@ public class MineSQLVelocity implements MineSQLPlatform {
getLogger().info("加载基础核心...");
this.core = new MineSQLCore(this);
-
- getLogger().info("初始化MineSQL API...");
- MineSQL.initializeAPI(this.core);
}
@Subscribe(order = PostOrder.FIRST)
diff --git a/plugin/pom.xml b/plugin/pom.xml
index 8486f58..c0d7ff1 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -5,7 +5,7 @@
minesql-parent
cc.carm.plugin
- 0.0.3-SNAPSHOT
+ 1.0.0
4.0.0
@@ -45,6 +45,18 @@
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
org.apache.maven.plugins
maven-shade-plugin
@@ -79,6 +91,20 @@
cc.carm.lib.githubreleases4j
cc.carm.plugin.minesql.lib.githubreleases4j
+
+ cc.carm.lib.configuration
+ cc.carm.plugin.minesql.lib.configuration
+
+
+ org.bspfsystems.yamlconfiguration
+ cc.carm.plugin.minesql.lib.configuration.yaml
+
+
+
+ org.yaml.snakeyaml
+ cc.carm.plugin.minesql.lib.yaml
+
+
co.aikar.commands
cc.carm.plugin.minesql.lib.acf
@@ -87,6 +113,45 @@
co.aikar.locales
cc.carm.plugin.minesql.lib.locales
+
+ cn.beecp
+ cc.carm.plugin.minesql.lib.beecp
+
+
+
+ org.h2
+ cc.carm.plugin.minesql.driver.h2
+
+
+ org.mariadb
+ cc.carm.plugin.minesql.driver.mariadb
+
+
+ com.mysql
+ cc.carm.plugin.minesql.driver.mysql
+
+
+
+ com.sun.jna
+ cc.carm.plugin.minesql.lib.jna
+
+
+ com.google
+ cc.carm.plugin.minesql.lib.google
+
+
+ com.github
+ cc.carm.plugin.minesql.lib.github
+
+
+ org.checkerframework
+ cc.carm.plugin.minesql.lib.checkerframework
+
+
+ waffle
+ cc.carm.plugin.minesql.lib.waffle
+
+
diff --git a/pom.xml b/pom.xml
index 56ed148..aba1eb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
cc.carm.plugin
minesql-parent
pom
- 0.0.3-SNAPSHOT
+ 1.0.0
api
core
@@ -182,14 +182,7 @@
- ${project.basedir}/asset/
- true
-
- **/*
-
-
-
- ${project.basedir}/api-docs/
+ ${project.basedir}/.asset/
true
**/*