1 个不稳定版本

0.5.3 2023年11月9日

构建工具 中排名 301

MIT 许可证

41KB
922

ci-generate

Actions Status LICENSE dependency status

该工具使用模板生成某些构建系统的全新项目或某些持续集成(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++"

将覆盖默认的 licensemeson.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