|
3c54c33364
|
fix(config): 修复因正则表达式错误导致的 Token 检查失败.
由于表达式中限定的 BotId 为 Int 范围, 而目前的 TelegramUserId 已经扩展到 Long 了, 所以新的 Bot 是无法通过检查的, 已修正表达式问题.
|
2022-07-04 16:26:01 +08:00 |
|
|
c144755913
|
feat(config): 增加 BotAccountSerializer, 主要用于检查字段值.
增加 BotAccount 的序列化器, 便于检查有关字段的值是否有效.
|
2022-07-03 02:32:37 +08:00 |
|
|
9ed55204c0
|
refactor(config): 调整序列化工具类, 便于进行测试.
修正序列化工具类的类名, 并调整访问权为 internal.
同时将 `checkJsonKey` 改成更方便的 `JsonObject.getPrimitiveValueOrThrow`.
|
2022-07-03 01:35:23 +08:00 |
|
|
5843e37196
|
docs(config): 补充配置类的文档.
由于先前的更新忘记补充文档了, 所以补充一下.
|
2022-06-26 13:25:44 +08:00 |
|
|
06acc78180
|
test(config): 补全单元测试用例.
由于 `MavenRepositoryConfig.authentication` 有关联的序列化器, 因此不可忽略对该属性进行检查;
现已补充单元测试用例以确保反序列化结果正确.
|
2022-06-26 03:06:14 +08:00 |
|
|
db010d6c86
|
test(config): 为测试补充一个新的断言.
补充新的断言状况, 以保证功能正常使用.
|
2022-06-26 02:52:11 +08:00 |
|
|
61b611b22e
|
test(config): 为 BotConfig 补充最少参数的反序列化测试项.
补充最少参数的反序列化测试项, 以确保在 Json 属性缺失的情况下依然能正确反序列化出正确的对象.
|
2022-06-26 02:51:33 +08:00 |
|
|
c7c24fa454
|
fix(config): 修复潜在的无状况错误问题.
由于在 MavenRepositoryConfigSerializer 反序列化中过滤了 Json 的类型, 导致用户在配置中使用了错误的 Json 数据类型将不会有任何错误信息.
该改动已解决该问题.
|
2022-06-26 02:42:35 +08:00 |
|
|
045b3e5d54
|
test(config): 统一 Test 注解的使用, 修改测试代码的顺序.
Test 注解将统一使用 kotlin.test.Test, 这么做可以保持兼容性;
将 MavenRepositoryConfigSerializerTest.`json primitive deserialize test` 中的两段代码顺序调整一下, 以避免出现歧义.
|
2022-06-26 02:32:53 +08:00 |
|
|
d6b25c4560
|
test(config): 将 UsernameAuthenticatorSerializerTest 迁移到 SerializersKtTest.
将测试类移动到对应的文件中.
|
2022-06-25 23:02:11 +08:00 |
|
|
581eeba20b
|
feat(config): 新增 HTTPS 代理类型, 增加 Maven 对 HTTPS 代理的支持.
为 ProxyType 增加 HTTPS 类型, 同时为 Aether 增加 Https 代理支持, 方便用户使用现有的公开代理下载依赖包.
|
2022-06-25 23:00:51 +08:00 |
|
|
df484d6bd7
|
test(config): 调整测试数据, 以符合该测试用例的情况.
为 BotConfig 的完整序列化测试添加 Artifact 值, 覆盖解析 BotConfig 所涉及的 Artifact 序列化.
|
2022-06-25 19:19:55 +08:00 |
|
|
b8a99a4491
|
fix(config): 修正 BotConfigSerializer 中使用的错误默认值.
由于默认值未及时变更, 导致出现默认值与预期不符的情况;
目前已调整了新的默认值获取方式, 以便于后续调整默认值.
|
2022-06-24 19:51:27 +08:00 |
|
|
128e33e545
|
test(config): 移动 UsernameAuthenticatorTest 到新的包路径.
UsernameAuthenticatorTest 所测试的 UsernameAuthenticator 是属于 config 包的, 所以修正了一下这个问题.
|
2022-06-24 19:44:31 +08:00 |
|
|
85e59f4a64
|
test(config): 将 ArtifactSerializerTest 合并到 SerializersKtTest, 并添加新的单元测试.
为了归类单元测试, 所以将 ArtifactSerializerTest 合并到 SerializersKtTest;
添加 ProxyConfig 和 BotConfig 的单元测试类.
|
2022-06-24 19:43:06 +08:00 |
|
|
8f8d763566
|
test(config): 合并 BotAccountTest 并补充其他配置类的解析测试.
将 BotAccountTest 合并入 ConfigsTest, 方便归类测试, 并补充其他配置类的 JSON 解析;
此部分独立于 Serializer 以防止后续更改出现潜在的解析错误.
|
2022-06-24 19:38:47 +08:00 |
|
|
084280564a
|
fix(config): 添加两个序列化器来修复因 Gson 导致的解析错误.
由于 Gson 的解析方式不能正确处理 Kotlin 的 null-safety 属性, 因此添加两个 Serializer, 手动解析 Json 以避开这个问题.
Close #9
|
2022-06-24 19:36:39 +08:00 |
|
|
4a160ad42b
|
refactor(config): 更改 BotConfig.enabled 的默认值为 false.
更改 enabled 的默认值, 以防止意外启动 Bot.
同时让 bot.json 在初始化时设为 true, 方便用户改完就能启动.
|
2022-06-24 19:10:39 +08:00 |
|
|
a1790a0716
|
perf(config): 优化配置使用过程中的判断.
通过调整部分属性的 null-safety 特性, 移除了部分 non-null 判断, 略微(真的很略微)提高了性能(虽然仅限于启动).
|
2022-06-24 19:08:41 +08:00 |
|
|
b12758bd18
|
refactor(config): 更改部分配置类的属性默认值.
为了保证扩展中命令的权限判断有效性, 故移除 BotAccount 中 creatorId 字段的默认值, 此改动将要求用户提供准确的 Bot 创建者 Id.
这个改动拖得越久, 影响的范围就越大.
另外, 为 BotConfig 中的 extensions 属性和 proxy 属性增加默认值, 以减少意义重复的情况(例如当用户没设置 proxy 属性时提供一个 type 为 NO_PROXY 的 ProxyConfig, 无需判断是否为 null).
|
2022-06-24 02:00:11 +08:00 |
|
|
a2667438f2
|
refactor(config): 包装 Serializer 可能抛出的异常.
增加对 Serializer 中可能抛出的异常(例如 MalformedURLException, IllegalArgumentException)包装成 JsonParseException, 以避免异常类型混乱的问题.
|
2022-06-23 12:25:14 +08:00 |
|
|
d5e66156b9
|
perf(config): 优化 Artifact 的序列化过程.
AbstractArtifact 已经有官方的 toString 实现了, 故不再多此一举.
同时, 如果有不基于 AbstractArtifact 的 Artifact 实现, 将会转换成 DefaultArtifact 并直接使用 toString.
|
2022-06-23 11:37:37 +08:00 |
|
|
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 |
|