codecanfly v0.1.40
Code Can Fly
核心功能
- 提交代码库
- 安装代码库
- 执行代码库
提交代码库
代码库在提交时,强制限定了必须
提交change log
,这样可以保证其他项目组可以得知更新内容,使项目组可以拥有是否更新的主动权,同时在更新后可以进行有效的测试。
代码库提交时必须包含以下文件:
codecanfly.json
用于配置整个代码包的基础信息。readme.md
对整个工具进行详细的说明。changelog_1.0.0.md
对当前提交的版本号进行版本说明,说明内容包含修改内容
、测试步骤
、使用例子
等,将自动查找当前的版本号一并提交。必要的资源文件
codecanfly.json 的配置内容
{
"name":"test", //代码库名称
"version":"1.0.0", //版本号,只可以递增
"tags":[ //用于标注,可对库进行分类
"editorhub"
]
"files":[ //代码库所包含的资源
"dist/*.js"
],
"commands":[ //命令
{
"name":"build",
"label":"构建", //命令名称
"type":"binary", //命令的类型 binary、nodejs
"binary":{ //二进制所执行的文件
"darwin":"",
"win32":"",
"linux":"",
},
"args":[ //PropertyItem 类型对象
{
"name":"arg1",
"label":"参数1",
"type":"string",
"default":"test"
},
{
"name":"arg2",
"label":"参数2",
"type":"number",
"default":10
}
]
}
]
}
当一个项目需要上传多个代码库或者要将代码和命令分离,可以以数组的形式填写。
命令
$ ccf login #登陆ccf账号
$ ccf publish #提交当前版本至服务器
安装代码库
本库需要支持两类安装方式。
- 命令的安装
- 代码的安装
其中命令的安装
可以解决各种开发辅助命令的分发
、更新
和使用
的需求,命令将安装到固定的目录。
而代码的安装
将必须指定安装目录
,主要用于解决嵌入到项目代码的库的分发,使开发者可以按版本选择安装需要的库,并且开发者可以自定义自己的依赖库。当库更新时,可借助项目git工具进行合并,同时保证了库的分发
和自定义
的需求。
代码库安装的其它特性
- 支持库本地缓存,相同版本的库不会重复下载。
- 支持根据版本前缀实现自动更新版本库(~ 小版本最新、^ 中版本最新、* 完全使用最新)。
- 支持制定版本的安装,版本号将被固化(无前缀)。
- 一个命令可以包含多个子命令。
命令
$ ccf install <库名@版本号> #在当前目录下安装命令
$ ccf install <库名@版本号> --to ./xxx/xxx #安装至指定目录(用于代码分发)
$ ccf update #更新当前所有库
$ ccf update <库名> #更新指定库
$ ccf install #安装当前所依赖的命令
执行代码库
当命令安装后可通过ccf
以统一的入口调用。
$ ccf list #显示命令列表
$ ccf run <命令> <...参数> #执行命令
gloabl 模式
安装时可使用-g
使命令安装至全局环境,之后可直接执行。
$ ccf install xxx -g #全局安装模块
$ ccf list #可显示全局命令
$ ccf run <name> <cmd> #可直接调用全局命令(优先使用当前目录下的版本)
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago