Skip to content

fix(manifest): 移除 languageImport,改由 Java 后端导出 languageImport.settings - #8

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

1lck merged 2 commits into
mainfrom
fix/viva-compat

Conversation

@1lck

@1lck 1lck commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

当前 Lithe Core 的清单结构里已经没有 `languageImport` 字段,旧清单会因 `unknown field languageImport` 被拒绝。现行做法是:构建插件导出跨插件函数 `languageImport.settings`,由 Java 插件调用。

  • 清单删除 `languageImport`,新增 Java 后端(`runtime` + `tool: java` 8 + `lib/lithe-gradle-backend.jar`),并新增 `pluginFunctions.exports`、相应的 `requires` 和权限。版本升到 0.1.2。
  • 后端结构与 Maven 插件一致:Java SDK 与 Maven 钉同一个版本,`scripts/package.mjs` 用 `javac --release 8` 编译,固定时间戳,不依赖 Maven 或 Node。
  • 函数只读项目和 Gradle User Home 下的 `gradle.properties` 以及 `GRADLE_USER_HOME`,导出 `java.import.gradle.user.home`、`java.import.gradle.java.home`、`java.import.gradle.jvmArguments` 三项。`workspaceRoot` 必须位于已打开的工作区文件夹内。

验证:`scripts/package.mjs`、新增的 `scripts/test-backend.mjs`(覆盖覆盖顺序、越界路径、符号链接逃逸、缺少上下文)、`scripts/sdk/verify-sdk.mjs` 通过。清单经 Lithe Core 482499c 校验通过。本机没有 Gradle 和 Java 8,真实 Gradle 测试与 Java 8 运行留给 CI。

关联 1lck/Lithe-IDEA#1799。

🤖 Generated with Claude Code

1lck and others added 2 commits November 9, 2026 23:01
…va 导入设置

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
不再要求用户安装 Node。后端、固定版本的官方 Java SDK、打包脚本和后端测试对齐 Maven 插件。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@1lck
1lck merged commit 2eb3355 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