Vinx的C/C++源码包管理器
Project description
VCSPM
一个使用简单的C/C++源码包管理器。
功能
- 支持本地包、远程包、远程源码文件、远程压缩包、git仓库、hg仓库、svn仓库等
- 包代码位于项目目录中,可以轻松访问
- 能够指定包的任何 git 标签、提交或分支
- 可筛选所需的文件
- 下载的包将缓存到用户目录,避免再次下载
要求
- Python >= 3.6
- Git >= 2.27
- Hg
- Svn
- patch
需要将以上程序路径添加到Path环境变量中
用法
有关完整示例,请参阅示例。
在项目目录中创建一个vcspm.json文件,并在字段中添加所需的包packages作为对象:
{
"packages": {
"package": {
"version": "1.0.0",
"type": "local",
"path": "D:/package-1.0.0",
"include": [],
"exclude": []
}
}
}
命令行执行vcspm即可。
指定包仓库地址
包仓库用于存储预定义的包信息及补丁文件。
路径格式为包仓库地址/包名首字母小写/包名/版本号/
vcspm.json
为包信息描述文件。
patch.zip
为补丁或脚本文件,将自动解压到vcspm/patchs/包名/
文件夹中。
{
"service_url": "包仓库地址url",
"packages": {
}
}
指定包安装目录
{
"install_dir": "vcspm/packages",
"packages": {
}
}
本地包
当指定path
时将忽略url
。
{
"packages": {
"pkg_name": {
"version": "版本号",
"type": "local",
"url": "本地包路径",
"path": "本地包路径"
}
}
}
远程仓库包
只需指定版本号,其余信息自动从service_url
地址中获取。
{
"packages": {
"pkg_name": "版本号"
}
}
远程源码文件
hash_type
可以为SHA1
、SHA256
。
{
"packages": {
"pkg_name": {
"version": "版本号",
"type": "sourcefile",
"url": "源文件url",
"hash_type": "hash类型",
"file_hash": "文件指纹"
}
}
}
远程源码压缩包
url
中可使用${version}指代版本号。
url
可以指定为列表,第一个链接下载失败后自动尝试第二个,以此类推。
rm_top_dir
为true将移除压缩包中的顶层目录。
{
"packages": {
"pkg_name": {
"version": "版本号",
"type": "archive",
"url": "压缩包url",
"hash_type": "hash类型-SHA1-SHA256",
"file_hash": "文件指纹",
"rm_top_dir": "true"
}
}
}
Git仓库
当指定git
时将忽略url
。
revision
可以为提交、标签、分支。
{
"packages": {
"pkg_name": {
"version": "版本号",
"type": "git",
"url": "git地址",
"git": "git地址",
"revision": "commit或者tag"
}
}
}
筛选文件
使用include
和exclude
筛选文件,有选择的将需要的文件复制到包安装目录。
当include
和exclude
存在相同文件时,排除相应文件。
支持Unix shell 风格的通配符,如下:
模式 | 含意 |
---|---|
* |
匹配所有 |
? |
匹配任何单个字符 |
[seq] |
匹配 seq 中的任何字符 |
[!seq] |
匹配任何不在 seq 中的字符 |
对于字面值匹配,请将原字符用方括号括起来。 例如,'[?]'
将匹配字符 '?'
。
{
"packages": {
"pkg_name": {
"include": [
"包含的文件",
""
],
"exclude": [
"排除的文件",
""
]
}
}
}
命令行参数
长选项 | 短选项 | 描述 |
---|---|---|
--help | -h | 输出帮助 |
--service-url | -s | 包仓库地址 |
--list | -l | 列出全部可用的包 |
--require | 获取指定的包 | |
--skip | 跳过指定的包 | |
--clean | -c | 获取之前清除指定的包 |
--clean-all | -C | 获取之前清除全部包 |
--debug | 输出调试信息 | |
--break-on-error | 出现错误立即中断获取 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vcspm-1.0.3.tar.gz
.
File metadata
- Download URL: vcspm-1.0.3.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 350c3b80f515bb3c4e7fdd55b474148ad49af0ad827e04fc4b01bda65c37d2fa |
|
MD5 | f8c18141db1c29227e9ff87ee1b5d896 |
|
BLAKE2b-256 | c647ad7ee6fd7666f1e9017432e85fc9baa118d0e99c17ecf2dea4a8b48cc350 |
File details
Details for the file vcspm-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: vcspm-1.0.3-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d37663635c54f58fb313e0e5ef38d3dfb41a1319a3e5acbd3dc45dd304769a0b |
|
MD5 | 5cefd50b6ea2026590bdb30dfee906d4 |
|
BLAKE2b-256 | 0c5b8f314f123dc1867b440c98df3c69497b4d1359b302bea8f17612e0a9ff34 |