Skip to main content

symbol-tool

用于管理符号文件仓库的命令行工具。

1.3.0.0

  • 命令语法参考 Conan:文件模式作为位置参数,使用 -r/--remote 选择仓库。
  • transfer 使用 -r <源> --remote-to <目标>,remote add 使用名称及 URL 位置参数。
  • 不再兼容旧上传 -p/--pattern、-t/--target、迁移 -s/--source、 名称筛选 -n/--name、-nn/--nname、时间筛选 -cb/-ub 及 remote add --url;查询仍保留 -p/--path。
  • --help、--version 和参数解析不读取或下载配置。

1.2.0.1

  • 移除安装包内置凭据;本地 JSON 不存在时从内网 tool 仓库下载默认配置,已有配置保持不变。

1.2.0.0

  • 新增 upload --dry-run:检查并列出待上传符号文件,不执行实际上传。

快速开始

pip install -e .
symbol-tool --version

打包

pyinstaller symbol_tool.spec --clean

命令示例

symbol-tool upload ".\**\*.pdb" -r local --dry-run
symbol-tool upload ".\**\*.pdb" --remote denture
symbol-tool query "*.pdb" -r local --exclude "UP*" --created-before 180d
symbol-tool query -r local --path "*/release/*" --limit 20
symbol-tool fix -r local
symbol-tool transfer "*.pdb" -r local --remote-to denture
symbol-tool clean -r local
symbol-tool remote list
symbol-tool remote add office http://repo/artifactory --repo symbol-office
symbol-tool remote disable office
symbol-tool remote enable office
symbol-tool remote remove office

upload 必须提供本地文件模式。query 和 transfer 的符号名称模式可省略, 省略时不过滤名称;--exclude 排除匹配的名称。模式应加引号,避免 shell 展开。 transfer --delete-old 仍保持原语义:目标已存在时删除源文件。 remote add 必须提供名称和 URL;仓库、用户名和密码未通过选项提供时交互输入。 密码输入隐藏,不建议通过 --password 将真实密码写入命令历史。

upload --dry-run 使用与实际上传相同的 glob 匹配和符号文件解析, 计算符号索引并通过只读 HEAD 请求检查远端是否已存在。 未存在的有效文件输出 Would upload: <本地文件> -> <目标地址>, 已存在或无效文件仍输出跳过原因。检查失败(例如 HTTP 401、403、500) 会输出 Check failed,不会误报为待上传文件。 此模式需要网络和目标访问权限,但不会发送 PUT 上传请求,也不会修改本地符号文件。 不指定 --dry-run 时保持原有上传行为。

target 是别名。每个别名对应“某个服务器 + 某个路径”,配置保存在 ~\.symbol-tool\remote.json,凭据仍以 JSON 字段存储。

本地 JSON 不存在时,首次运行自动从以下内网地址下载默认配置并保存; 已有本地 JSON 不会被下载内容覆盖,也不会自动合并或刷新:

http://artifactory:8082/artifactory/tool/symbol-tool/remote.json

安装包不再内置默认用户名和密码。下载设置连接与读取超时,HTTP 错误、 网络错误及无效 JSON 均明确报错,不回退到内置凭据,也不保存无效下载内容。 离线使用前须预先准备本地 JSON。可通过 symbol-tool remote 子命令管理配置。

此地址使用明文 HTTP,配置包含密码;能访问该文件的用户可获得其中的凭据, 网络监听也可能暴露凭据。内网地址不构成加密或身份验证,请限制仓库访问和 本地 JSON 的读取权限,勿将配置或其内容纳入源码、安装包及日志。

测试

pytest tests

发布到 PyPI

python -m pip install --upgrade build twine
python -m build .
python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*

CI 中请配置:

  • TWINE_USERNAME=gitlab-ci-token
  • TWINE_PASSWORD=$CI_JOB_TOKEN

Metadata

Release files for symbol-tool 1.3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for symbol-tool 1.3.0.0
File Size Uploaded
symbol_tool-1.3.0.0.tar.gz 20.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for symbol-tool 1.3.0.0
File Interpreter ABI Platform
symbol_tool-1.3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.3 kB

Release files / symbol_tool-1.3.0.0.tar.gz

Download URL symbol_tool-1.3.0.0.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0dad08bc57132ea77a9cf75ab00dc092cd0265e6da494388cdfc9754888c6f5d
BLAKE2b-256 checksum
How to use checksums
51a286b1bfa69e9614b54cd2d8ebd55e2030550c715d74c722ee555fb6b6dac5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / symbol_tool-1.3.0.0-py3-none-any.whl

Download URL symbol_tool-1.3.0.0-py3-none-any.whl
Size 14.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f2164a6db8d07051f57876ab391ae2c6f0a10885cef198929d9ff78b65db220
BLAKE2b-256 checksum
How to use checksums
6df0f7a963d2ee0105e1e5d5a5c502ace3fdb6d4da044ae11c9e12cc8811df33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

1.3.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page