|
289b9678f2
|
refactor(config): 将与配置相关的内容迁移到 scalabot-meta 模块.
通过将配置迁移到单独的模块, 可以方便使用其他程序扩展 ScaleBot, 而不仅仅是让 ScaleBot 成为扩展的平台.
BREAKING CHANGE: 与配置有关的 Class 移动到了 scalabot-meta 模块.
目前仅所有配置类(以 `Config` 结尾的 Class)和相应的序列化类(以 `Serializer` 结尾的)都迁移到了 meta 模块, 但其工具方法则作为扩展函数保留在 app 模块中.
这么做的好处是为了方便其他应用(例如 ScalaBot 外部管理程序)根据需要生成配置文件.
scalabot-meta 将会作为依赖项发布, 可根据需要获取 ScalaBot-meta 生成 ScalaBot 的配置.
此次改动普通用户无需迁移.
|
2022-06-20 20:55:04 +08:00 |
|
|
c662b970f0
|
test(utils): 补充 deepListFiles 的单元测试.
补充单元测试项, 目前已实现 Utils 单元测试全覆盖(Logger Class 不算).
|
2022-06-19 02:47:26 +08:00 |
|
|
f148c21390
|
fix(utils): 修复 deepListFiles 错误地返回了 null 的情况.
预期中, deepListFiles 返回 null 与否是与 listFiles 相同的, 当 File 无法访问, 或者不是一个目录的情况下才会返回 null,
但由于语法疏漏, 导致可能出现即使 listFiles 返回 null 时 deepListFiles 也不返回 null 的情况.
现已修复该问题.
|
2022-06-19 02:07:24 +08:00 |
|
|
215a4670db
|
feat(metrics): 运行指标服务端支持设置 HTTP 认证.
支持对运行指标服务端设置 HTTP 认证, 以防止运行指标被非法获取.
|
2022-06-18 09:20:46 +08:00 |
|
|
35c77f6093
|
perf: 优化 Artifact 的判断条件.
根据相关文档[1], baseVersion 和 Version 不需要同时判断, 只需要单独判断 Version 即可确认版本是否符合.
另外, 如果 Version 不符, 那么 isSnapshot 就没有必要判断(不可能出现 Version 相同的情况下, 一个是快照版, 一个是发布版的情况), 故移除对 baseVersion 和 isSnapshot 的检查.
另外, Properties 属于 Aether 内部的非持久化信息交换方式, 不是必须纳入检查的项目, 故新增参数用于选择是否检查 Properties 是否相同.
------------------------------------
[1]: https://community.sonatype.com/t/what-is-the-differences-between-maven-baseversion-and-maven-version/2937
|
2022-06-15 02:18:01 +08:00 |
|
|
746221a085
|
feat(config): 简化凭证配置过程.
由于先前的配置过程较为麻烦, 故将凭证配置简化为只有用户名和密码.
|
2022-05-19 23:53:25 +08:00 |
|
|
24f34aa27f
|
refactor: 调整 checkJsonKey 的所在类, 以便于编写测试用例.
通过调整所在类, 可更好的在单元测试中获取方法对象, 进行测试调用.
|
2022-05-19 18:20:46 +08:00 |
|
|
37c3275bb6
|
fix(config): 修复因 Maven 仓库配置中未包括 layout 属性导致解析错误的问题.
当 Maven 仓库采用 JsonObject 形式配置, 且未配置 "layout" 属性时, 将会引发 NPE,
该改动已修复该问题.
|
2022-05-19 16:54:47 +08:00 |
|
|
9aab3c2a24
|
feat(config): 将代理类型为 null 的情况视为不使用代理.
为简化用户配置难度, 关闭代理可选择将 type 设为 null, 来表示不需要使用代理.
|
2022-05-19 15:46:18 +08:00 |
|
|
5e18149640
|
feat(config): 支持限定 Maven 仓库构件类型.
增加 Maven 仓库配置, 支持限定仓库可获取的构件发布类型(发布或快照).
此改动有利于用户增加仓库约束, 防止意外使用错误的扩展包版本.
|
2022-05-18 15:57:49 +08:00 |
|
|
0a5313e94a
|
fix(extension): 修复 Maven 仓库扩展搜索器无法从第三方仓库获取扩展的问题.
由于在加载仓库配置时, 未设置仓库 Id, 导致 Aether 将仓库排除, 进而导致无法通过第三方仓库获取插件.
改动后, 将在未配置仓库 Id 的情况下, 为其生成一个 Id 名称.
|
2022-05-18 15:40:33 +08:00 |
|
|
95ad251826
|
refactor(utils): 移除不再使用的方法.
当初开发 Maven 仓库搜索器时意外提交的, 已经可以移除了.
|
2022-05-07 01:43:15 +08:00 |
|
|
478480014a
|
perf(utils): 优化自动释放钩子的资源引用.
原本自动释放钩子对资源的引用, 可能会出现资源已经被关闭, 但仍然无法被 GC 回收的问题.
此次改动, 将会让钩子在关闭资源后, 将资源从列表中移除.
虽然, 自动释放钩子设计上仅会被 System.exit 动作触发, 但保险起见还是加上这个改动.
|
2022-05-05 16:52:29 +08:00 |
|
|
830f05c90a
|
refactor(utils): 加强 getPriority 方法的优先值判断.
加强优先级判断, 有利于后续使用时防止出现意外情况的问题.
顺便补充一手单元测试.
|
2022-05-05 16:13:48 +08:00 |
|
|
7b985ce325
|
refactor: 将十六进制转换代码迁移到 Kotlin.
将 ByteUtils 的实现改用 Kotlin 代码做, 移除 ByteUtils.
另外, 本次修改同时修正了方法名错误的问题(hax 改成 hex), 并补充了单元测试.
|
2022-05-04 00:38:30 +08:00 |
|
|
c5f28e395e
|
refactor(util): 优化代码.
使用 Kotlin 语法糖优化不必要的代码.
|
2022-03-28 23:43:33 +08:00 |
|
|
a642948f45
|
feat: 可通过配置文件设置用于查找扩展包的 Maven 仓库.
使用 Maven 扩展包搜素器将不再限制仓库, 可通过配置文件添加其他仓库.
|
2022-02-26 17:30:31 +08:00 |
|
|
35d092a22d
|
refactor: 根据 Kotlin 规范, 调整类访问权.
按照 Kotlin 编码规范, 将序列化类调整为`内部`可预防意外的外部使用.
|
2022-02-26 15:46:08 +08:00 |
|
|
13472d952e
|
feat(extension): 支持从 Maven 仓库下载并安装扩展包.
支持该功能后, 可以使用户更容易安装扩展包, 尤其是无需配置的扩展包.
|
2022-02-22 01:15:41 +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 |
|
|
37f0d4e6b8
|
initial: 基本完成的首个版本, 还需要调整一下.
暂时按照当初的计划实现了一个可用版本出来, 发布与否晚些再确定.
|
2022-01-16 20:21:18 +08:00 |
|