1 个不稳定版本
0.5.3 | 2023年11月9日 |
---|
在 构建工具 中排名 301
41KB
922 行
ci-generate
该工具使用模板生成某些构建系统的全新项目或某些持续集成(CI)的配置文件。
模板定义了项目的布局,并允许开发者在运行时插入数据。
每个模板都包含构建项目所需的所有文件,包括用于运行测试和实现其他检查的持续集成(CI)和Docker文件。
支持的构建系统
构建系统 | 语言 | 项目模板 | CI 样式检查 | CI 构建 | CI 测试 | CI 覆盖率上传 | CI 静态分析 | CI 动态分析 | CI 许可证检查 |
---|---|---|---|---|---|---|---|---|---|
meson | C / C++ | 提供 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
poetry | Python | 提供 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✅ | ✔️ |
maven | Java | 提供 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✅ | ✔️ |
cargo | Rust | 卸载 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
yarn | Javascript / Typescript | 卸载 | ❌ | ✔️ | ❌ | ❌ | ❌ | ✅ | ✔️ |
✅: 对于考虑的语言不是必需的
命令
要查看支持的命令列表,请运行:ci-generate --help
每个命令都有一个可选的参数来定义许可证,以及一个可选的参数来覆盖项目名称,而不是使用项目路径的最后一个组件。许可证参数的默认值是 MIT
。
cargo
$ ci-generate cargo [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
maven
$ ci-generate maven [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-group project-path
meson
$ ci-generate meson [--kind meson-project-kind] [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
允许的 kind
参数值
c
c++
poetry
$ ci-generate poetry [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
yarn
$ ci-generate yarn [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
配置
可以在 ${XDG_CONFIG_HOME}/ci-generate
(通常是 ~/.config/ci-generate
)中保存 config.toml
,其中包含所有默认值和可选值的覆盖,例如
[default]
license = "BSD-3-Clause"
[meson]
kind = "c++"
将覆盖默认的 license
和 meson.kind
配置项,这将相当于调用
$ ci-generate meson -k c++ -l BSD-3-Clause
命令行参数优先于内置默认值和 config.toml
覆盖。
$ ci-generate meson -l LGPL-2.1
从 kind = c++
中获取 config.toml
的值,并从命令行获取 LGPL-2.1
。
许可证
在 MIT 许可证 下发布。
依赖
约11–23MB
约225K SLoC