1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年7月17日 |
---|
#2020 在 开发工具
160KB
3K SLoC
Subcomponent
Subcomponent是一个组件编排器。您可以将组件定义为不透明的项目,可以使用各种方法(git、svn、下载等)检索它们。组件可以表达彼此之间的依赖关系。这允许以特定的顺序运行用户定义的命令。
这用subcomponent描述语言表达
subcomponents {
my-lib-component {
path: "where/the/lib/will/be/downloaded";
name: "My Lib";
fetch {
git {
url: "git://example.com/repo.git",
"https://example.com/repo.git",
"https://example-backup.com/repo.git";
branch: "dev";
shallow: true;
}
}
}
xen {
name: "Xen";
path: "xen-4.8.0";
fetch {
artifact {
url: "https://downloads.xenproject.org/release/xen/4.8.0/xen-4.8.0.tar.gz";
compression: "tar", "gz";
pgp-signature: "https://downloads.xenproject.org/release/xen/4.8.0/xen-4.8.0.tar.gz.sig";
pgp-pubkey: "83FE14C957E82BD9";
}
}
}
}
待办事项列表
- 组件之间的依赖关系
- 状态命令
- 命令钩子的定义
- gzip 解包器
- xz 解包器
- 布尔值应由词法分析器处理,而不是由解析器处理
文档
Sphinx用于生成文档,因此您首先需要安装它
pip install sphinx
然后,要生成HTML文档,您可以运行以下命令
make -C doc html man
HTML文档将可在docs/_build/html/
中找到。subcomponent的手册页将在docs/_build/man
中。
测试
Subcomponent更倾向于开发系统测试而不是单元测试。您可以通过cargo
运行单元测试
cargo test
系统测试依赖于robotframework,因此您首先需要确保此Python模块已安装
pip install robotframework
以下命令可用
make -C tests unit-tests # Run unit tests in release
make -C tests system-tests # Run system tests in release
make -C tests # Run all the tests in release
请报告失败的测试!
持续集成
我们使用travis来检查上游代码是否通过实现的测试。
许可证
Subcomponent是MIT许可。有关更多详细信息,请参阅LICENSE
文件。
依赖关系
~4.5MB
~59K SLoC