Skip to content

test: 宿主端到端测试和功能矩阵移到插件仓库 - #18

Merged
xiaoyumuxi merged 1 commit into
mainfrom
test/host-e2e-and-feature-matrix
Nov 14, 2026
Merged

xiaoyumuxi merged 1 commit into
mainfrom
test/host-e2e-and-feature-matrix

Conversation

@xiaoyumuxi

Copy link
Copy Markdown
Contributor

关联:1lck/Lithe-IDEA#1915(插件的测试、功能矩阵和翻译只在插件仓库,宿主零依赖)

改动

主仓库在 #1915 删掉了 Maven 插件的宿主端到端测试和 6 个功能矩阵条目。这个 PR 把它们接到插件仓库:

  • 宿主端到端测试

    • e2e/host/desktop/internal/workbench/official_maven_plugin_e2e_test.go:来源是主仓库 desktop/internal/workbench/official_plugins_e2e_test.go(1lck/Lithe-IDEA@b582e206a)里的 TestOfficialMavenPluginBuildsAReactor 和它用到的辅助函数(安装插件包、安装目录摘要、等构建模型、跑任务、改插件设置)。只把 writeFixture 改名为 writePluginFixture(宿主同一个包里现在有同名函数),测试逻辑没改。
    • e2e/host/desktop/internal/projectgen/maven_integration_test.go:主仓库同路径文件原样搬来,覆盖清单里 maven-java 和 maven-archetype 两个新建项目条目。
  • 运行脚本 scripts/e2e-host.mjs 和宿主版本固定文件 e2e/host/lithe-host.json

  • 功能矩阵 docs/feature-matrix.md:迁入 6 个条目,并新增一条记录随测试迁来的新建项目能力。原条目写的都是旧 Swift 宿主和旧 Maven 后端的实现,已按当前插件 0.0.1(声明式,没有后端)和宿主 059d878d4 重写。

    ID macOS 说明
    java-maven-project implemented / pending 自动化测试通过,没有做手工验收
    java-maven-profiles-dependencies implemented / pending JDT 依赖快照那一半属于 Java Support,不写在这里
    java-maven-project-settings partial / pending 构建选项按工作区保存,不能按子项目设置
    java-maven-settings-reach-jdt missing Java Support 1.2.0 通过插件函数 languageImport.settings 收集 JDT 设置,0.0.1 没有后端,无法应答
    java-maven-toolbar-tooltips implemented / pending 没有自动化覆盖
    maven-user-settings-editing missing 0.0.1 没有 settings.xml 编辑,Local Repository 选项只传 -Dmaven.repo.local
    maven-project-generators(新增) implemented / pending 新建项目测试通过

    Windows 全部是 missing:插件只发布 darwin 包。

  • README 开发目录表加上新文件,增加“宿主端到端测试”“功能矩阵”两节。

没有迁移的内容

主仓库 #1915 还删了 docs/ci-builds.md 和 scripts/resources/ 里关于 Maven 插件运行时资源的说明(execution-* 报告快照、configuration-*/repository 探测、BuildSystems.Migrations.Maven.* 迁移偏好)。这些都是旧 Maven 后端的行为,0.0.1 没有,README“工作方式”一节已经写了当前唯一的运行时文件(Lithe 在插件状态目录分配、Maven 退出后删除的模型和依赖文件),所以没有搬过来。JDT -data/.lithe/maven/ 的设置副本属于 Java Support。

没有改 CI:这些测试要 Go、Rust 工具链、mvn,原型测试还要联网,和在主仓库时一样手动运行。

验证

2026-11-14,macOS arm64,插件 v0.0.1 发布包,从空的 .artifacts/lithe-host 开始(检出宿主、构建 Core):

LITHE_TEST_MAVEN_PLUGIN_ARCHIVE=<maven-build-0.0.1-darwin.zip 的绝对路径> \
LITHE_INTEGRATION_NETWORK=1 JAVA_HOME=<JDK> node scripts/e2e-host.mjs
  • TestOfficialMavenPluginBuildsAReactor PASS(8.76s)
  • TestMavenPluginProjectGeneratesABuildableMavenProject PASS(0.60s)
  • TestMavenPluginArchetypeRunsRealMaven PASS(13.07s,真实 mvn archetype:generate)
  • gofmt -l e2e/ 无输出;node scripts/package.mjs 正常,包里不含 e2e/ 和 docs/。

评审注意

  • 升级 lithe-host.json 的 revision 时,宿主测试工具(newHarness、awaitStateWithin 等)的改动可能要求同步修改测试。
  • java-maven-settings-reach-jdt 和 maven-user-settings-editing 标 missing 是如实记录 0.0.1 的状态;要补上需要给插件加后端,这个 PR 不做。

主仓库按 1lck/Lithe-IDEA#1915 不再保存插件的测试和功能矩阵条目,这里接收 Maven 插件的部分:

- e2e/host/ 放 TestOfficialMavenPluginBuildsAReactor(含辅助函数)和新建项目测试
  maven_integration_test.go,scripts/e2e-host.mjs 把 lithe-host.json 固定的宿主版本
  检出到 .artifacts/lithe-host 后运行
- docs/feature-matrix.md 迁移 6 个条目并按 0.0.1 重写,新增 maven-project-generators
- README 说明运行方式和功能矩阵位置
@xiaoyumuxi
xiaoyumuxi marked this pull request as ready for review November 14, 2026 16:03
@xiaoyumuxi
xiaoyumuxi merged commit 322f09a into main Nov 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant