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
}
各参数说明如下:
参数 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
name | string | 是 | 完整的软件包名称,命名时须遵循 名称规范。例如 @armory/armory-cli,其中 armory 为空间名称,armory-cli 为软件包名。如果不指定命名空间,则默认为 global 全局空间 |
version | string | 是 | 软件包版本,版本号定义规则请参见 版本号规范 |
author | string | 否 | 软件包的作者信息,长度不能超过 50 个字符 |
description | string | 否 | 软件包描述信息,可以用一句话概括此软件的概念、功能等信息,长度不能超过 200 个字符 |
labels | array | 否 | 软件包标签,支持配置多个标签,每个标签不能超过 20 个字符,标签总数不超过 50 个。配置标签后可以通过标签信息搜索软件包 |
platforms | array | 是 | 配置不同平台和架构的软件包文件,至少需要配置一个平台和架构的软件包文件,支持配置多个,具体可支持的平台和架构请参见 平台架构规范。各字段说明如下:
baseDir 仅用于组织本地目录结构,Armory 不会将其应用为软件包文件的实际路径。在 Web 端软件包文件视图和 安装软件包 过程中,仅使用files 中配置的路径。而在发布和下载软件包时,则保留用户配置的files + baseDir 组合路径 |
dependencies | array | 否 | 配置软件包依赖,所依赖的软件包必须已在对应仓库发布,支持配置多个依赖包。每个依赖包的字段说明如下:
|
ignore | array | 否 | 配置软件包的忽略文件,以排除 files 中不需要发布的文件,ignore 可以配置多项,并遵循 .gitignore 规范。配置 ignore 的注意事项如下:
|
installable | boolean | 否 | 指定软件包版本是否支持安装。可选值:true(支持安装) 或 false(不支持安装),默认值为 false 注意:在配置 installable 时,必须使用布尔值 true 或false ,而非字符串"true" 或"false" 。例如,应配置为"installable": true ,而不是"installable": "true" |