Skip to content

Norm 0.20 ​

Norm 0.20 将单文件源码到可分发程序收敛为一条命令,并让无 package 的本地应用与 Java 框架使用同一类型系统。

本地应用身份 ​

  • 无 package 的单文件应用可以省略 Module 名称、版本与 exports,编译器为其分配不可发布的内部身份;
  • Java Annotation、应用代理、运行时分派和 Language Server 共享同一个宿主类型名映射;
  • std.application.applicationPackage() 提供框架扫描所需的实际宿主 package,不在业务源码中重复字符串配置。

自包含应用构建 ​

  • norm build web.norm 在源码旁生成 web.norm.exe;
  • norm build 与 norm build . 读取项目的 application.norm,并生成 <module>/build/<artifact>.exe;
  • 构建时解析、校验并固化精确 NAR 和完整 Java JAR 图,产物运行时不访问 GitHub 或 Maven,也不要求安装 Norm 或 Java;
  • 应用内容和 Norm 运行时按内容摘要缓存,同版本工具链内容发生变化时不会误用旧运行时。

Windows x64 是 0.20 的应用 EXE 目标。命令与输出约定见应用构建。

工具链一致性 ​

VS Code、CLI 与应用构建共享 ProjectLoader 的 Module 图。扩展显示当前工具链来源与版本,并在 Norm 源码工作区优先选择同一 minor 下更新的工作区构建。

发布验收额外构建带 NAR 与 Java 依赖的应用 EXE,并在空缓存和断网环境执行。

Norm 0.25