Releases: wcpe/mc-testkit
Releases · wcpe/mc-testkit
Release list
v0.9.3
mc-testkit v0.9.3
变更
- harness-core 0.1.1 / template harness 降至 Java 8,plugin.yml 不写 api-version:同一桩 jar 可在 Paper 1.7.10–1.21 代表版本加载(FR-21 多版本烟雾)。此前
api-version: 1.20+ Java 17 字节码导致旧服务端拒载;改成1.8又被 Paper 1.20+ 拒绝。现不声明 api-version(1.13+ 按 legacy 加载)。 - GitHub Actions 升至 v5:
checkout/setup-java/setup-node/cache/upload-artifact/setup-gradle从 v4 升到 v5。 - 实机 E2E 仅手动触发 + 并行矩阵 + jar 缓存:
e2e.yml拆为 Paper 8 代表版本烟雾 + Waterfall/BungeeCord/Velocity/Folia 场景 suite 并行;actions/cache复用~/.gradle/caches/mc-testkit-jars。
构件坐标:top.wcpe.mc:mc-testkit:0.9.3(已发布 maven.wcpe.top)
关联构件:top.wcpe.mc:harness-core:0.1.1(Java 8 字节码,兼容 Paper 1.7.10–1.21)
消费方升级:id("top.wcpe.mc-testkit") version "0.9.3";模板桩升级依赖 harness-core:0.1.1。
v0.9.2
mc-testkit v0.9.2
变更
- Gradle 双缓存兼容契约(构建缓存 + 配置缓存):注册原语统一为全部本插件任务声明
outputs.upToDateWhen { false },消费方开启--build-cache时 prepare / e2e / serve / stop 等副作用任务仍真实执行,不得FROM-CACHE/UP_TO_DATE假跳过。新增 TestKit 回归:本地 Build Cache 下stopDevServe须SUCCESS;--build-cache与--configuration-cache同时开启时配置缓存可存储 + 重用且副作用任务不被构建缓存跳过。任务本身仍非@CacheableTask(起服副作用不可入缓存)。
构件坐标:top.wcpe.mc:mc-testkit:0.9.2(已发布 maven.wcpe.top)
消费方升级:id("top.wcpe.mc-testkit") version "0.9.2";可安全同时启用 --build-cache 与 --configuration-cache。
v0.9.1
mc-testkit v0.9.1
修复
- 自测模式自动接线补齐 serve 任务:0.9.0 的自测模式只把
prepareE2e<Key>/e2e<Key>自动依赖到本模块jar任务,遗漏了serve<Key>(持久手测)——serve 自行预检并注入插件,jar 未产出时同样会在预检期失败。现自测模式下 serve 任务同样自动依赖jar(真实消费者 MCE 的serve("dev")手测形态即命中此缺口)。
构件坐标:top.wcpe.mc:mc-testkit:0.9.1(已发布 maven.wcpe.top)
消费方升级:id("top.wcpe.mc-testkit") version "0.9.1";自测模式下 serve<Key> 会自动依赖 jar,无需手写 dependsOn 样板。
v0.9.0
mc-testkit v0.9.0
新增
- 自测模式(self-jar)默认接线:消费方
mcTestkit { }未声明pluginUnderTest且本工程有jar任务时,框架按契约 §3.1「默认取工作区构建产物」自动注入本模块jar任务产物(build/libs/<name>-<version>.jar),并把prepareE2e<Key>/e2e<Key>自动依赖到jar任务上——消费方无需再手写pluginUnderTest = env ?: 路径双轨样板与dependsOn接线(此前该样板是首用 CI 失败的头号来源:只挂taboolibMainTask不会带上jar,全新检出下 prepare 前置校验必挂)。运行期仍可用MC_TESTKIT_E2E_PLUGIN_UNDER_TEST_JAR覆盖(CI / GradleRunner 注入优先于 jar 产物路径)。显式声明过pluginUnderTest则完全尊重声明,0.8.x 消费方行为不变;本工程没有jar任务(未应用 java 插件,如纯代理拓扑)时告警并跳过,不抛错。 scenario(name)无配置重载:Groovy 消费方可直接写scenario('smoke'),不再被迫写显式空闭包scenario('smoke') { }(Kotlin 默认参数对 Groovy 不可见)。- 自测模式缺 jar 的指路型中文报错:提示先执行
gradlew jar或显式声明pluginUnderTest,替代此前泛化的「缺少必需的依赖注入」。
构件坐标:top.wcpe.mc:mc-testkit:0.9.0(已发布 maven.wcpe.top)
消费方升级:id("top.wcpe.mc-testkit") version "0.9.0";未声明 pluginUnderTest 时自动启用自测模式(取本模块 jar 产物并自动接线),显式声明则行为与 0.8.x 一致。