Skip to content

新增环境信息参数并整合打包元数据 (Add env info flag and consolidate packaging metadata) - #295

Open
dongly wants to merge 1 commit into
RT-Thread:masterfrom
dongly:show-version-squashed
Open

新增环境信息参数并整合打包元数据 (Add env info flag and consolidate packaging metadata)#295
dongly wants to merge 1 commit into
RT-Thread:masterfrom
dongly:show-version-squashed

Conversation

@dongly

@dongly dongly commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

概述

本 PR 拆分自 #271

本 PR 为 env 工具新增 --info 参数显示环境信息横幅,激活脚本增加欢迎信息,
并将打包元数据整合至 pyproject.toml(分发名 rt-env),版本号与描述统一由
env.json 单源提供。

变更明细

领域 变更内容
命令行 新增 --info 参数:输出环境信息横幅(ENV_ROOT / PKGS_ROOT / RTT_ROOT / BSP_ROOT / RT-Thread 版本);argparse 程序名固定为 rt-env,usage 不再显示 venv 启动器全路径
激活脚本 env.sh / env.ps1 激活成功后显示欢迎信息(rt-env --info,命令存在才显示);env.sh 使用 POSIX 兼容重定向
元数据 version.py:提取公共 load_env_json()(三级定位:脚本目录 → ENV_ROOT~/.env)、新增 get_rt_env_description()、统一兜底默认值
打包 分发元数据全部迁入 pyproject.toml:分发名 rt-env、6 个控制台入口(含 webui)、完整包映射(含 env.plugins.*);setup.py 精简为动态 version/description 提供者;依赖新增 pyyaml
杂项 .gitignore 忽略本地 OMO 状态目录

输出

# 非 RT-Thread 目录

===================================================================
    Welcome to RT-Thread Env Tool v2.0.2
===================================================================
Environment Information:
  - ENV_ROOT : D:\rt-env-test
  - PKGS_ROOT: D:\rt-env-test\packages
===================================================================

# 有 RT-Thread 目录
===================================================================
    Welcome to RT-Thread Env Tool v2.0.2
===================================================================
Environment Information:
  - ENV_ROOT : D:\rt-env-test
  - PKGS_ROOT: D:\rt-env-test\packages
  - RTT_ROOT : D:\Develop\bcs12_src\rt-thread
  - BSP_ROOT : D:\Develop\bcs12_src
  - RT-Thread Version: 5.2.2
===================================================================

行为对比

命令 master 本 PR
rt-env -v 单行版本号 完全不变 ✅
rt-env --info —(新增) 环境信息横幅 + 旧版本警告
激活(env.sh / env.ps1) 静默 欢迎横幅
pip install 分发名 env rt-env(import 包名 env.* 不变)

兼容性

  • -v/--version 输出与 master 逐字节一致;子命令集不变
  • wheel 内容与 master 基线产物完全一致(109 个文件,含 webui 静态资源与插件包)
  • Python import 包名 env.* 不变,仅分发名变更

验证

  • 命令行矩阵:-v--info--info <子命令> 短路、-h、无效子命令、无参数帮助
  • 激活脚本:激活后显示横幅;venv 缺失时正确跳过;bash -nbash --posix -n 语法检查通过
  • version.py 兜底矩阵:env.json 缺失 / 损坏 / 单字段缺失
  • 打包端到端:构建 wheel 并装入一次性 venv——importlib.metadatart-env
    解析 2.0.2、6 个控制台入口全部生成、包与数据文件完整
  • 已在真实 Windows 环境部署验证(rt-env --info 横幅实际生效)

新增环境信息参数并整合打包元数据

EN: Show the environment banner via a new --info flag; pin the argparse prog to rt-env; show a welcome message on env activation in env.sh/env.ps1; extract load_env_json() with a description getter in version.py; move packaging metadata to pyproject.toml as distribution rt-env with dynamic version/description sourced from env.json via the slimmed setup.py.

CN: 新增 --info 参数显示环境信息横幅;argparse 程序名固定为 rt-env;env.sh/env.ps1 激活时显示欢迎信息;version.py 提取 load_env_json() 公共加载函数并新增 description 读取;打包元数据迁移至 pyproject.toml(分发名 rt-env,version/description 由精简后的 setup.py 从 env.json 动态读取)。
@BernardXiong

Copy link
Copy Markdown
Member

可否给一个实际输出情况?

@dongly

dongly commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

已更新实际输出

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.

2 participants