包描述文件

描述 Nep 包的基本信息,表位于 package.toml

package

通用信息表。

name

包名,推荐仅使用英文、中文和空格。

不得包含下划线(_),请使用空格或横杠线(-)代替。

  • 类型:String
  • 示例:name = "VSCode"

description

包的简短描述,尽量从官方渠道摘取简介。

  • 类型:String
  • 示例:description = "微软开发的跨平台开源编辑器"

template

包模板,当前版本中仅能为 "Software"。

  • 类型:String 枚举
  • 有效值:Software
  • 示例:template = "Software"

version

包版本号,使用 ExSemVer 规范。

ExSemVer 规范在 SemVer 的基础上在PATCHPRE之间增加了一位RESERVED位,用于标记不同的打包版本,或是用来兼容在 Windows 平台常见的 4 位版本号;若上游版本号符合 SemVer 规范则将RESERVED位置0即可。

  • 类型:String
  • 示例:version = "1.0.0.0"

authors

包作者,第一作者应为打包者,后面通常跟发行商、制作方。

支持使用 <> 包裹作者邮箱。

  • 类型:Vec<String>
  • 示例:authors = ["Cno <dsyourshy@qq.com>", "Microsoft"]

license

可选 开源许可证的 SPDX 标识符或 EULA 链接。

  • 类型:String
  • 示例:license = "MIT"

icon

可选 包图标 URL。

  • 类型:String
  • 示例:icon = "https://code.visualstudio.com/favicon.ico"

strict

可选 是否使用严格模式,缺省为true

启用严格模式时,如果某一步骤出错则工作流会立即停止执行并报告错误;否则工作流只会对错误进行警告然后继续运行后续步骤。

WARNING

注意如果希望使用内置变量ExitCode,请将strict设置为false

  • 类型:bool
  • 示例:strict = false

software

软件包独占表。

scope

软件发行域,通常填写上游组织名称。

若软件包的直接上游为发行商/组织则使用发行商的名称,例如 PortableApps;若软件包的直接上游为官方网站则使用开发商/组织的名称,例如 Microsoft

若上游组织为正式的、拥有独立域名的组织,则将发行域开头大写,例如对于 GitHub 发布的 GitHub Desktop 软件使用 GitHub 作为发行域;若上游组织表示对一个群体的泛指,则将发行域开头小写,例如对于将发行托管在 GitHub Releases 上的开源项目使用 github 作为发行域。

  • 类型:String
  • 示例:scope = "Microsoft"

upstream

软件上游 URL,可以是官方网站的下载页或发行商/组织提供的发行详情页。

  • 类型:String
  • 示例:upstream = "https://code.visualstudio.com/"

category

软件分类,推荐为 Edgeless 插件包分类中的一种。

  • 类型:String
  • 示例:category = "集成开发"

arch

可选 软件的编译目标架构,缺省表示安装时不检查架构兼容性。

  • 类型:String 枚举
  • 有效值:X64 X86 ARM64
  • 示例:arch = "X64

language

软件语言,Multi表示多语言。

  • 类型:String 枚举
  • 有效值:Multi zh-CN en-US
  • 示例:language = "Multi"

main_program

可选 主程序路径,可以是相对路径或绝对路径。

如果使用绝对路径,必须以内置变量开头。

  • 类型:String
  • 示例:
    # 相对路径写法 main_program = "./code.exe" # 绝对路径写法 main_program = "${AppData}/Local/Programs/Microsoft VS Code/Code.exe"

tags

可选 标签,用于联想推荐相似包或聚合多个相近的包。

不需要重复输入包名、分类或是作者名中的信息。

  • 类型:Vec<String>
  • 示例:tags = ["electron", "typescript"]

alias

可选 别名,用于关联查找。

不需要重复输入标签中的信息。

  • 类型:Vec<String>
  • 示例:alias = ["code", "vsc", "Visual Studio Code"]

registry_entry

可选 注册表入口,如果该软件是调用安装器安装的且在注册表中有 Uninstall 入口,提供该字段可以免去编写卸载工作流并帮助 ept 获取更多信息。

支持如下 3 个位置的入口:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • 类型:String
  • 示例:
    # 对应注册表路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{D9E514E7-1A56-452D-9337-2990C0DC4310}_is1 registry_entry = "{D9E514E7-1A56-452D-9337-2990C0DC4310}_is1"