Skip to content

Releases: MOMIEDEJIYI/ployenv

ployenv v0.6.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 12:31

v0.6.0 ployenv 0.6.0:adb 与 rust 两个运行时 + 验证分层

新增运行时
- adb(Android platform-tools):与其它运行时一样安装、切换、注入会话环境;只管理 platform-tools
  (adb + fastboot),不设 ANDROID_HOME/ANDROID_SDK_ROOT,也不碰 ~/.android。源是 Google SDK 仓库索引
  (当前 37.0.1,上游只发 SHA-1);安装期不执行 adb。
- rust:安装 rustc + cargo + rust-std 三个组件(约 187 MB,不取含文档的 400 MB 整包),只把 <ver>/bin
  加进 PATH,不设 RUSTUP_HOME/CARGO_HOME。显式版本安装不依赖版本索引;latest/stable 读官方 manifest。
  Windows 走 MSVC,链接程序需要 VS Build Tools,安装与 rustc --version 不需要。

验证与 CI
- 新增验证分层:T1 内循环、T2 收尾(含干净树严格 -Package)、T3 发布点;SKIP 单独计数、不计绿。
- 新增 16_运行时新增验收(读 ci/e2e-runtimes.tsv 同一行、自动落证据)与 01 激活验收的真断言。
- CI 支持单运行时 dispatch(runtime 入参):adb/rust 各取 1 行 x 2 平台(linux + windows/arm64)。

修复
- 两份操作手册的插件共用一节改用通用安装路径示例,不再带构建机路径。
- 11 公开面检查:npm pack 失败或空扫描不再假绿;-NoPack 明确 SKIP。
- build.ps1 增加 -AllowDirty:仅本地布局检查用,CI 与发布点照旧严格。

升级
- 无需改动配置。试 adb:ployenv install adb@latest;试 rust:ployenv install rust@latest
  (国内可用 config --set-mirror rust https://mirrors.ustc.edu.cn/rust-static/dist)。

ployenv v0.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 11:46

ployenv 0.5.1:插件数据根可共享 + 文档与提示修正

插件(dsh-plugin-ployenv)

  • 数据根优先级改为 row config root > 宿主环境变量 PLOYENV_ROOT > 包内 data/ployenv:
    内置件/自装件模式不再无视 PLOYENV_ROOT,装了 ployenv 的人可让插件与命令行共用一份运行时;
    空白值(空格/制表符)视为未设置,不会在宿主目录建出空白名目录。
  • dsh.compatibility.dsh 加回 0.2.0-rc.2 显式项:新范围 >=0.1.7-rc.1 <0.3.0 || 0.2.0-rc.2,
    预发布语义下 0.2.0-rc.2 重新放行、0.1.6 仍然拒绝。
  • locale 描述补 Maven(英文/中文)。
  • 文档:插件 README 的参数表与自包含/setup 说明、cordis.patch.yml 注释同步;
    操作手册中英两版新增「与 DSH 插件共用一份 ployenv」(PLOYENV_BIN、共享数据根、PATH、重启生效、回滚与优先级)。

基座

  • ployenv 帮助横幅补 maven:原横幅只列 node, java, go, python,而 support 已报五个运行时。

升级

  • 无需改动配置;已装 plugin 0.5.0 会随 npm 0.5.1 更新。想共用数据根的配置见操作手册该章。

ployenv v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 14:10

ployenv 0.5.0:Maven 运行时 + 表驱动 CI 矩阵

新增运行时

  • maven:像其它运行时一样安装、切换、注入会话环境。ployenv 只把 <ver>/bin 放进 PATH,
    不设 MAVEN_HOME/M2_HOME、不碰 settings.xml 与 ~/.m2(mvn.cmd 自己推导主目录)。
    Maven 需要一个 JDK:用 ployenv 装的 java,或继续用你自己的 JAVA_HOME —— 两种都能用。
  • Maven 通道只走 3.x 稳定线:latest/stable/省略取最高稳定 3.x;上游 仍是 4.0 预发布时
    @Release 会被拒绝并点名该版本;maven@lts 明确报“没有 LTS 通道”;available maven all 列出预发布并标 preview。
    部分版本号(如 3.10)不会解析到候选版。

修复与加固

  • ployenv shell 的激活提示说清它开的是同一窗口的子 shell(独立命令历史),exit 回父 shell 后
    历史与环境都在;手册两语言同步,并给出 cmd 下保留历史的 call 写法。
  • python 索引改为小分页:单次 per_page=40 的响应过大,api.github.com 会稳定返回 504。
  • GITHUB_TOKEN:存在时只对 https 的 api.github.com 带 Bearer(提升配额);token 被拒时匿名重试一次,
    坏/过期的 token 不会再让索引请求失败。
  • 测试基座改为在临时目录运行,检出目录祖先上的 .ployenv / .tool-versions 不再污染测试结果。

CI

  • 运行时端到端改为表驱动:ci/e2e-runtimes.tsv 一行一个运行时,prepare 生成动态矩阵(每个运行时一个 job,
    墙钟=最慢一行;tag/dispatch 跑全表,否则只跑改动的行),另有手动 all 档在同一 root 验证共存。
    矩阵覆盖 linux 与 windows/arm64,缓存只保存归档、每轮重新校验 SHA-512。

升级

  • 无需改动配置;已有的全局默认与项目文件照旧。要试 Maven:ployenv install maven@latest && ployenv use maven@latest。

ployenv v0.4.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 03:36

ployenv 0.4.0:作用域与配置健壮性

统一了全局默认与项目钉住的操作方式,并补齐配置与插件清单元数据的若干健壮性问题。

命令行

  • 项目级写 .ployenv:ployenv use <lang>@<version> -p(--project 长写法仍可用);-g/--global 显式声明全局默认。
  • 清除:ployenv use <lang>@none 清全局默认,ployenv use <lang>@none -p 删当前目录 .ployenv 里那一条(保留其他行与注释,删空即删文件)。
  • 命令不接受的 flag 现在报错并列出可接受项:此前会被静默忽略,例如 config --set-default … --project 会悄悄改掉全局默认。
  • ployenv use --help 等写法会打印用法,而不是被忽略。

配置

  • config.json 读取容忍 UTF-8 BOM,写回为不带 BOM 的 UTF-8;无法解析时告警一次,且拒绝覆盖原文件。
  • .ployenv、.tool-versions、go.mod 等文本配置同样容忍开头 BOM(此前首行键会被静默忽略)。
  • config --set-default <lang> none 清除全局默认值(off、default 同义)。

插件 dsh-plugin-ployenv

  • 插件清单显示标题与描述(新增 locale 元数据;此前缺省会退化成包名与空描述)。
  • 会话激活提示修正 PowerShell 写法;Windows 上 env 省略 --shell 时给出提示。

ployenv v0.3.4

Choose a tag to compare

@github-actions github-actions released this 14 Oct 11:54

ployenv 0.3.4:多平台首个正式版

发布资产扩到六个目标(windows/linux/darwin × amd64/arm64),并新增 macOS 与 arm64 的真机构建、单测与端到端验证。

安装与布局

  • 安装 Java 时正确处理 macOS 归档的两层嵌套;node 与 python 的工具路径跟随平台布局。
  • 数据根在 HOME 不可用时不再回落到相对路径,而是明确报错并要求 PLOYENV_ROOT。
  • Unix 上安装出的二进制会断言其带可执行位(权限随归档带入);归档未带则明确报错并回滚,不静默改权限。

会话环境

  • env --shell bash 输出可直接在 Git Bash / WSL 使用的 POSIX 形式。
  • 首次运行与 use 之后的提示按当前平台给出,不再只列 Windows 命令。

发布

  • 六目标资产:版本名加固定别名,配一份覆盖全部资产的 SHA256SUMS.txt;Windows/amd64 资产仍与仓库内置件逐字节一致。
  • CI 在六个真机 runner 上原生构建并跑全量单测;其中五个目标与交叉构建逐字节比对(Windows/amd64 的资产就是仓库内置件,按设计跳过)。
  • macOS 资产未签名、未公证:首次运行可能被 Gatekeeper 拦下,需手工放行(xattr -d com.apple.quarantine),并以 SHA256SUMS.txt 校验完整性。

插件 dsh-plugin-ployenv

  • setup 按宿主取件(windows/linux/darwin × amd64/arm64),不再限制安装平台;宿主没有对应资产时给出明确错误。
  • 在 Unix 上,setup 安装的二进制会补上执行位,装完即可运行。

ployenv v0.3.3

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:46

0.3.3 —— win32-x64 平台门、插件侧 setup、cmd 脚本转义修复。

ployenv v0.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:59

v0.3.2 — 一个项目一个 .ployenv(破坏性变更)+ 构建工具健壮性

(2026-10-12 仓库重建后重打:指向 0.3.2 发布线快照)