armory.json 规范

更新时间:
2024-12-27

armory.json 规范

发布到 Armory 的软件包,必须包含 armory.json 配置文件,您可以参考 创建软件包 自动生成符合 目录结构规范 的软件包,并参考以下示例配置 armory.json,以便快速发布软件包。

下面以软件包“@armory/armory-cli”为例,介绍 armory.json 配置示例及各字段参数说明:

{ 
    "name": "@armory/armory-cli",
    "version": "1.0.0",
    "author": "acoinfo",
    "description": "Armory 是一款跨平台和架构的软件包管理工具,支持 Windows、macOS 和 Linux 平台的多种架构",
    "labels": [
        "armory",
        "client",
        "repository",
        "tools"
    ],
    "platforms": [
        {
            "name": "Windows",
            "arch": "x86-64",
            "minSupportedVersion": "Windows 8.1+",
            "baseDir": "windows/x86-64",
            "files": [
                "armory-win-x64.exe",
                "base/",
                "base/src",
                "./bin/armory.js"
            ]
        },
        {
            "name": "Windows",
            "arch": "arm64",
            "minSupportedVersion": "Windows 10+",
            "baseDir": "windows/arm64",
            "files": [
                "armory-win-arm64.zip",
            ]
        },
        {
            "name": "Linux",
            "arch": "arm64",
            "minSupportedVersion": "Linux 7, Ubuntu 14.04, Debian jessie, other distros with glibc >= 2.17",
            "baseDir": "linux/arm64",
            "files": [
                "armory-1.0.0-linux"
            ]
        },
        {
            "name": "macOS",
            "arch": "noarch",
            "minSupportedVersion": "macOS 11.0+",
            "baseDir": "macos",
            "files": [
                "armory-1.0.0-macos"
            ]
        }
    ],
    "dependencies":[
        {
            "name": "@armory/armory-cli-executable",
            "version": "1.0.0"
        },
         {
            "name": "@armory/armory-client",
            "version": "~1.0.0"
        }
    ],
    "ignore": [
        "windows/x86-64/.ide",
        "windows/arm64/test",
        "linux/arm64/node_modules",
        "linux/arm64/*.ts",
        "macos/.metadata/"
    ],
    "installable": false
}

各参数说明如下:

参数字段类型是否必填说明
namestring完整的软件包名称,命名时须遵循 名称规范。例如 @armory/armory-cli,其中 armory 为空间名称,armory-cli 为软件包名。如果不指定命名空间,则默认为 global 全局空间
versionstring软件包版本,版本号定义规则请参见 版本号规范
authorstring软件包的作者信息,长度不能超过 50 个字符
descriptionstring软件包描述信息,可以用一句话概括此软件的概念、功能等信息,长度不能超过 200 个字符
labelsarray软件包标签,支持配置多个标签,每个标签不能超过 20 个字符,标签总数不超过 50 个。配置标签后可以通过标签信息搜索软件包
platformsarray配置不同平台和架构的软件包文件,至少需要配置一个平台和架构的软件包文件,支持配置多个,具体可支持的平台和架构请参见 平台架构规范。各字段说明如下:
  • name(必填,string):平台名称
  • arch(必填,string):架构名称
  • minSupportedVersion(选填,string):描述当前软件包支持的最低平台版本,以明确软件包在此版本及以上的平台上可正常运行
  • baseDir(选填,string):指定待发布软件包文件(即files中配置的文件)的前置路径,用于组织本地目录结构
  • files(必填,string):指定当前平台架构下要发布的软件包文件集合,可配置多个文件或者文件夹,单个文件大小不能超过 2 GB
说明:baseDir仅用于组织本地目录结构,Armory 不会将其应用为软件包文件的实际路径。在 Web 端软件包文件视图和 安装软件包 过程中,仅使用files中配置的路径。而在发布和下载软件包时,则保留用户配置的files + baseDir组合路径
dependenciesarray配置软件包依赖,所依赖的软件包必须已在对应仓库发布,支持配置多个依赖包。每个依赖包的字段说明如下:
  • name(必填,string):指定依赖包的完整命名,包括命名空间和软件包名
  • version(选填,string):指定依赖包的版本,可以设置为具体的版本号或版本区间。关于版本范围依赖的详细信息,请参见 版本依赖规范
ignorearray配置软件包的忽略文件,以排除 files 中不需要发布的文件,ignore 可以配置多项,并遵循 .gitignoreopen in new window 规范。配置 ignore 的注意事项如下:
  • 如果 files 中配置了 ignore 中排除的文件,则发布软件包时,Armory 客户端会终止发布并进行错误提示
  • ignore 配置不受 baseDir 字段的影响。如果要忽略 files 中的某些文件, 配置时仍需添加 baseDir 前缀。 例如,要忽略 files 下的 node_modules 文件,则 ignore 需要配置为: "ignore": ["windows/x86-64/node_modules"],其中“windows/x86-64”为 baseURL 对应的值
installableboolean指定软件包版本是否支持安装。可选值:true(支持安装) 或 false(不支持安装),默认值为 false
注意:在配置 installable 时,必须使用布尔值true false,而非字符串"true""false"。例如,应配置为"installable": true,而不是"installable": "true"
文档内容是否对您有所帮助?
有帮助
没帮助