Commit Graph

70 Commits

Author SHA1 Message Date
856af0dde7
refactor(config): 重写 AppPaths 的 toString.
重写该方法后, 可以简单地添加到字符串模板中, 方便使用.
2022-02-21 16:47:13 +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
19c601817c
fix: 修正了数据库命名错误的问题.
由于 MessageDigest 不适用于多线程环境, 导致用于创建数据库名称的数据会不断累加, 最终出现 botToken 无法对应数据库的问题.
2022-01-16 21:12:48 +08:00
37f0d4e6b8
initial: 基本完成的首个版本, 还需要调整一下.
暂时按照当初的计划实现了一个可用版本出来, 发布与否晚些再确定.
2022-01-16 20:21:18 +08:00