Commit Graph

42 Commits

Author SHA1 Message Date
00e90eabd0
fix(extension): 移除默认的 MavenRepositoryExtensionFinder.
将 MavenRepositoryExtensionFinder 的初始化过程交给 Launcher 执行.
2022-02-28 08:26:26 +08:00
285c8b04d1
fix: 修复因 config.json 不存在而引发的启动异常.
当 config.json 不存在时, 当 Launcher 类被加载时, 将导致因 config.json 加载失败而出现类初始化异常, 通过调整访问时机, 修复了这个问题.
2022-02-26 17:36:23 +08:00
a642948f45
feat: 可通过配置文件设置用于查找扩展包的 Maven 仓库.
使用 Maven 扩展包搜素器将不再限制仓库, 可通过配置文件添加其他仓库.
2022-02-26 17:30:31 +08:00
6df9f1b3c7
refactor(bot): 按照 Kotlin 官方代码规范, 修正代码格式错误.
Kotlin 官方代码规范建议把 Companion object 放在类的最后面, 确实应该如此.
2022-02-26 17:26:24 +08:00
4bc3776717
refactor(config): 更改 BotConfig 的 proxy 属性默认值.
为了让用户了解到可对机器人配置单独的代理, 而将 proxy 的默认值改为 ProxyConfig 缺省值.
2022-02-26 16:22:16 +08:00
eb34f17b06
refactor(config): 调整 BotConfig 中部分字段的默认值.
内置命令默认打开, 方便用户查询命令. baseApiUrl 默认值为 Telegram 官方 API 地址, 设置默认值可让用户了解可以对此项进行修改.
2022-02-26 16:18:32 +08:00
54b3e1cad7
fix(bot): 修复 disableBuiltInAbility 逻辑错误的问题.
设置反了, 所以 disableBuiltInAbility == true 就会打开内置命令.
2022-02-26 16:11:27 +08:00
35d092a22d
refactor: 根据 Kotlin 规范, 调整类访问权.
按照 Kotlin 编码规范, 将序列化类调整为`内部`可预防意外的外部使用.
2022-02-26 15:46:08 +08:00
90434d9dbf
perf(extension): 修正 FoundedPackage 统计方法.
该问题源于旧版本时方法的用途, 原本该方法用于合并所有已找到的 FoundedPackage, 但新版本已经被其他方法替代, 所以也没必要再通过合并来统计数量.
2022-02-26 15:37:50 +08:00
b3c63e5abe
feat(config): 支持通过环境变量或 VM 参数指定数据目录.
主要是为 Docker 镜像支持, 这样可以在镜像中指定数据目录, 方便设置持久卷或者文件映射.
2022-02-26 12:00:16 +08:00
737ac9a08a
fix: 修复了注释中的一个错字 :P
纠正了语句错误而已.
2022-02-24 02:23:53 +08:00
9e9c5134c9
release: 发布 0.0.1 版本. 2022-02-22 01:48:11 +08:00
a530fb4835
docs: 更新 Readme 内容(未完成).
先更新一部分 Readme 内容, 晚些有空了再补充更多信息.
2022-02-22 01:44:55 +08:00
692fe5b8f9
feat(extension): Maven 仓库搜索器将使用全局代理下载扩展包.
改动后, 配置的全局代理将适用于 MavenRepositoryExtensionFinder.
2022-02-22 01:32:02 +08:00
13472d952e
feat(extension): 支持从 Maven 仓库下载并安装扩展包.
支持该功能后, 可以使用户更容易安装扩展包, 尤其是无需配置的扩展包.
2022-02-22 01:15:41 +08:00
d69112eefa
refactor(logging): 再 ban 掉三个啰嗦的类.
因为它们的 Debug 级别日志太啰嗦了(狗头).
2022-02-22 01:11:40 +08:00
856af0dde7
refactor(config): 重写 AppPaths 的 toString.
重写该方法后, 可以简单地添加到字符串模板中, 方便使用.
2022-02-21 16:47:13 +08:00
3d5a009c7c
build: 设置了发布小仓库的配置.
目前处于 alpha 版本, 所以构建就不发到 Maven 中央仓库了.
如需使用, 可以看 https://github.com/LamGC/maven-repository 获取引用方式.
2022-02-21 15:42:07 +08:00
6ea36a1129
build: 更新 Slf4j-api 的版本.
更新版本以修复潜在的问题.
2022-02-21 15:38:20 +08:00
d7b253186e
fix(extension): 在创建扩展对象时捕获异常.
为防止 Factory 抛出异常影响加载, 增强鲁棒性, 所以在创建实例时捕获异常, 并跳过抛出异常的 Factory.
目前还不能解决 Factory 初始化异常的问题, 等 MavenRepositoryFinder 更新后再修复.
2022-02-21 11:52:25 +08:00
1b538f7c1f
docs(bot): 补充 ScalaBot 的 Javadoc 内容.
补充了文档.
2022-02-20 16:54:30 +08:00
19ad5e0c1a
refactor(logging): 屏蔽 Apache HttpClient 中 Debug 级别的日志.
Debug 级别下 HttpClient 会把请求和响应完全打印到日志中, 在 Debug 过程中不是那么的友好, 所以屏蔽它.
2022-02-20 16:51:14 +08:00
f8f80840c6
refactor(extension): 在搜索到扩展包的情况下不再继续使用低优先级搜索器.
在高优先级搜索器找到一个或以上的扩展包时, 停止调用更低优先级的搜索器,
这有助于避免无意义的远端扩展包搜索行为, 在本地搜索到扩展包后就没有必要再触发远端搜索器搜索了.
2022-02-19 23:26:38 +08:00
52a97b892c
refactor(logging): 设置不同运行环境下的日志配置.
使用 logback 中配置的引用功能, 为 scalabot-app 模块设置了开发环境与生产环境的日志配置,
目前仅最低级别不同外没啥区别.
2022-02-17 19:27:02 +08:00
86144f29cc
build: 更新依赖项 Slf4j-api 和 gson 的版本.
更新版本以修复潜在的 bug.
2022-02-17 19:08:30 +08:00
d85ee024cb
feat(metrics): 初步增加获取运行指标的功能(兼容 Prometheus).
添加兼容 Prometheus 的运行指标收集导出功能, 通过内置 HttpServer 将其导出.
默认关闭.
2022-02-17 19:06:28 +08:00
beb3fd8280
refactor(extension): 将 ExtensionPackageFinder 实现移动到单独的代码文件中.
移动之后, ExtensionComponents.kt (原名 Extension.kt) 将专注于扩展的加载组件开发, 而 ExtensionFinders.kt 则专注于开发和维护扩展包发现器.
2022-02-17 18:52:47 +08:00
014e733d86
refactor(logging): 移除无用的属性.
additivity 并非用于 appender-ref, 该问题不影响任何功能, 属于初期开发遗漏的瑕疵.
2022-02-16 17:04:41 +08:00
2c9e727ecd
style(extension): 补充文档并修正代码规范问题.
去除多余的空格, 并在文档中建议使用 FinderPriority 中定义的优先级.
2022-02-16 17:02:08 +08:00
c5e5b1c303
refactor(util): 添加方法用于快速注册 ShutdownHook.
该功能将在后续提交中使用.
2022-02-16 14:27:16 +08:00
16135e3cde
feat(extension): 支持 ExtensionPackageFinder 设置优先级.
添加 FinderRules 注解, 发现器标记注解后, 将根据优先级选择加载扩展包;
该改动有助于支持远端扩展包加载的开发, 例如可以直接从 maven 中央仓库获取支持加载的构件, 支持该功能将大大增加便捷性.

Closed #1
2022-02-15 22:37:24 +08:00
2e49a1ec12
feat(extension): 添加 FoundExtensionPackage 接口.
使用 FoundExtensionPackage 接口, ExtensionPackageFinder 可以将加载扩展包的时机推迟到需要加载的时候,
这么做可以让搜索器预先找好扩展包而无需立即加载, 避免了资源浪费.

Issue #1
2022-02-15 17:07:41 +08:00
5556613087
refactor(extension): 改进 ExtensionClassLoader 的构造器.
将构造器改进后, 在使用过程中会更加灵活.
2022-02-15 14:06:45 +08:00
36ab898520
build: 更新 Slf4j 和 Junit, 屏蔽扩展包的测试依赖.
更新 Slf4j (1.7.32 -> 1.7.33) 和 Junit (5.6.0 -> 5.8.2).
按版本号规范来讲, 应该不会有兼容性问题.
2022-02-15 13:37:40 +08:00
e7fa80686a
refactor: 将 extensionsDataFolder 和 extensionsPath 移动到构造器中.
将上述属性移动之后, 可以更方便地编写测试, 也可以更加灵活地设置扩展路径.
2022-02-15 13:32:00 +08:00
47ca81188c
build: 更新 Gradle Wrapper 所使用的 Gradle 版本(7.3.3 -> 7.4).
更新 Gradle 以获得更优的构建性能.
2022-02-15 13:27:50 +08:00
b03af43edd
build: 打包时加入 javadoc 与 source.
扩展依赖库应该提供 Javadoc 与 Source (虽然没几行代码).
2022-01-19 14:02:55 +08:00
964959d80a
docs: 更新接口类的文档.
调整排版和语句问题.
2022-01-16 22:24:14 +08:00
bfe5bb8b7d
refactor: 将扩展示例的名称更改为 scalabot-ext-example.
用 simple 并不能表示为示例, 改成 example 会更合适一些.
2022-01-16 21:18:48 +08:00
19c601817c
fix: 修正了数据库命名错误的问题.
由于 MessageDigest 不适用于多线程环境, 导致用于创建数据库名称的数据会不断累加, 最终出现 botToken 无法对应数据库的问题.
2022-01-16 21:12:48 +08:00
37f0d4e6b8
initial: 基本完成的首个版本, 还需要调整一下.
暂时按照当初的计划实现了一个可用版本出来, 发布与否晚些再确定.
2022-01-16 20:21:18 +08:00
cbaeb2ce00
Initial commit 2022-01-16 14:44:52 +08:00