如何将插件提交到索引仓库?
索引仓库(Registry)
vfox
插件索引仓库是一个用于收集和分发各种vfox插件的仓库。 方便用户通过vfox add <plugin-name>
命令来快速安装对应插件。
索引仓库是一个公共仓库, 任何人都可以提交vfox插件到这个仓库中。
索引仓库主要分为两个部分:
plugins
: 用于存放插件的manifest.json
文件, 以插件短名为文件名。例如nodejs.json
sources
: 用于存放插件的数据源信息, 以插件短名为文件名。例如nodejs.json
仓库将会自动定时(间隔一小时)通过sources
中的信息检索插件的最新版本信息以及校验插件可用性, 并将获取的manifest
信息存放在plugins
目录下。
提交插件
- 首先,你需要按照插件创建指南创建一个插件。
- 维护一个
manifest.json
文件,用于描述插件最新版本信息。(如果基于vfox-plugin-template开发, 在发版时会自动生成)json{ "downloadUrl": "https://github.com/version-fox/vfox-nodejs/releases/download/v0.0.5/vfox-nodejs_0.0.5.zip", "notes": [], "version": "0.0.5", "homepage": "https://github.com/version-fox/vfox-nodejs", "minRuntimeVersion": "0.2.6", "license": "Apache 2.0", "description": "Node.js runtime environment.", "name": "nodejs" }
downloadUrl
: 插件的下载地址notes
: 插件的更新日志version
: 插件的版本homepage
: 插件的主页minRuntimeVersion
: 插件所需的最低vfox
版本license
: 插件的许可证description
: 插件的描述name
: 插件的短名
- 在
sources/<name>.json
中创建一个带有您希望vfox
使用的短名的文件, 例如sources/nodejs.json
- 在
sources/<name>.json
中添加插件的manifest地址信息,例如:json{ "name": "nodejs", "manifestUrl": "https://github.com/version-fox/vfox-nodejs/releases/download/manifest/manifest.json", "test": { "version": "21.7.1", "check": "node -v", "resultRegx": "v21.7.1" } }
name
: 插件的短名manifestUrl
: 插件的manifest地址test
: 插件的测试信息version
: 插件的版本check
: 测试命令resultRegx
: 测试结果正则表达式
- 最后, 提交一个PR到索引仓库.
- PR被合并后,插件将会被自动添加到索引仓库中, 并每隔一小时检查一次插件的更新情况。