#build-system #continuous-integration #template #configuration #generate #testing #projects

build sifis-generate

使用模板为某些构建系统生成新项目。<已重命名为ci-generate>

12个版本

0.5.4 2023年11月9日
0.5.3 2023年9月5日
0.4.1 2023年2月13日
0.4.0 2022年9月13日
0.1.0 2021年11月19日

27#continuous-integration

Download history 27/week @ 2024-07-01 145/week @ 2024-07-22

每月下载量172

MIT 许可证

41KB
922

sifis-generate

Actions Status LICENSE

注意 开发现在在 ci-generate 进行。

此工具使用模板生成某些构建系统的新项目或某些持续集成(CI)的配置文件。

模板定义了项目的布局,并允许开发者在运行时插入数据。

每个模板都包含构建项目的所有必要文件,包括用于运行测试和实施进一步检查的持续集成和Docker文件。

支持的构建系统

构建系统 语言 项目模板 CI样式检查 CI构建 CI测试 CI覆盖率上传 CI静态分析 CI动态分析 CI许可证检查
meson C / C++ 提供 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
poetry Python 提供 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
maven Java 提供 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
cargo Rust 转移 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
yarn JavaScript / TypeScript 转移 ✔️ ✔️

✅:对于所考虑的语言不是必需的

命令

要查看支持的命令列表,请运行: sifis-generate --help

每个命令都有一个可选参数来定义许可证,以及一个可选参数来覆盖项目名称而不是使用项目路径的最后一个组件。许可证参数的默认值是 MIT

cargo

$ sifis-generate cargo [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path

maven

$ sifis-generate maven [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-group project-path

meson

$ sifis-generate meson [--kind meson-project-kind] [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path

kind 参数的允许值

  • c
  • c++

poetry

$ sifis-generate poetry [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path

yarn

$ sifis-generate yarn [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path

配置

可以在 ${XDG_CONFIG_HOME}/sifis-generate (通常是 ~/.config/sifis-generate) 中保存 config.toml,其中包含所有默认和可选值的覆盖,例如

[default]
license = "BSD-3-Clause"

[meson]
kind = "c++"

将覆盖默认的 licensemeson.kind 配置项,并且这将等同于调用

$ sifis-generate meson -k c++ -l BSD-3-Clause

命令行参数的优先级高于内置默认值和 config.toml 配置文件的重写,因此

$ sifis-generate meson -l LGPL-2.1

将从 config.toml 中获取 kind = c++,并从命令行中获取 LGPL-2.1

许可证

MIT 许可证 下发布。

致谢

本软件是在 H2020 项目 SIFIS-Home 的范围内开发的,GA 编号 n. 952652。

依赖项

约 10-22MB
~215K SLoC