Skip to content

feat(backend): 导出 languageImport.settings,向 Java 插件提供 Maven 导入设置 - #15

Merged
1lck merged 1 commit into
mainfrom
fix/viva-compat
Nov 10, 2026
Merged

1lck merged 1 commit into
mainfrom
fix/viva-compat

Conversation

@1lck

@1lck 1lck commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Java 插件通过跨插件函数 `languageImport.settings`(版本 1,workspace 上下文)读取构建插件提供的 Java 导入设置。Maven 此前没有导出这个函数。

  • 新增 `LanguageImport.java`,由 `MavenBackend` 在 `--plugin-backend` 模式下注册。它与构建提供方用同一个 jar,但运行在单独的进程里。
  • 只读取 `.mvn/maven.config`:`-s` 对应 `java.configuration.maven.userSettings`,`-gs` 对应 `java.configuration.maven.globalSettings`,`-o` 对应 `java.import.maven.offline.enabled`。文件不存在的项不导出。`workspaceRoot` 必须位于已打开的工作区文件夹内。
  • 清单新增 `backend`、`pluginFunctions.exports`,`requires` 里加上 backend 和 pluginFunctions,权限加上 `backend.launch` 和 `workspace.metadata`。README 和 `docs/releases/v0.1.2.md` 已补充说明。

验证:`scripts/sdk/verify-sdk.mjs`、`scripts/test-process.mjs`、`scripts/test-backend.mjs` 通过,其中新增一项函数测试。清单经 Lithe Core 482499c 的 `plugins.declarative.validate` 校验通过。

已知遗留:工具栏里的 Profiles、Offline 等选项目前只保存在宿主中,后续改为插件自己的 settings2 设置。

关联 1lck/Lithe-IDEA#1799。

🤖 Generated with Claude Code

@1lck
1lck merged commit 323af32 into main Nov 10, 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