跳转到主要内容

检测并运行任何构建系统

项目描述

ognibuild

ognibuild是一个简单包装器,具有通用接口,用于调用任何类型的构建工具。

其想法是可以通过检测正在使用的构建系统并使用正确的参数调用它来运行以构建和安装任何源代码目录。

它还可以检测并安装缺失的依赖项。

目标

ognibuild的目标是提供一个一致的CLI,可用于任何软件包。它主要用于自动化构建大量不同包的大型集合(例如,不同的编程语言)。

它并不是要暴露底层构建系统中存在的所有功能。要使用这些功能,请直接调用这些构建系统。

用法

ognibuild有几个子命令

  • ogni clean - 删除任何已构建的工件
  • ogni dist - 创建源tar包
  • ogni build - 在源代码树中构建包
  • ogni install - 安装包
  • ogni test - 在源代码目录中运行测试套件

它还包括一个子命令,可以修复Debian包的构建依赖项,称为deb-fix-build。

示例

ogni -d https://gitlab.gnome.org/GNOME/fractal install

状态

ognibuild功能正常,但有时边缘粗糙。如果您遇到问题(或特定生态系统的支持不足),请提交错误报告。

支持的构建系统

  • Bazel
  • Cabal
  • Cargo
  • Go语言
  • Gradle
  • 构建工具,包括各种makefile生成器
    • autoconf/automake
    • CMake
    • Makefile.PL
    • qmake
  • Maven
  • ninja,包括ninja文件生成器
    • meson
  • Node
  • Octave
  • Perl
    • Module::Build::Tiny
    • Dist::Zilla
    • Minilla
  • PHP Pear
  • Python - setup.py/setup.cfg/pyproject.toml
  • R
  • Ruby gems
  • Waf

支持的软件包仓库

软件包仓库用于安装缺失的依赖。

以下“原生”仓库受到支持

  • pypi
  • cpan
  • hackage
  • npm
  • cargo
  • cran
  • golang*

以及一个发行版仓库

  • apt

许可协议

Ognibuild遵循GNU GPL v2或更高版本的许可。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

ognibuild-0.0.23.tar.gz (98.8 kB 查看散列值)

上传时间 源代码

构建的分布

ognibuild-0.0.23-cp312-cp312-win_amd64.whl (394.0 kB 查看散列值)

上传时间 CPython 3.12 Windows x86-64

ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (551.2 kB 查看散列值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.2 kB 查看散列值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl (503.2 kB 查看散列值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

ognibuild-0.0.23-cp311-cp311-win_amd64.whl (393.3 kB 查看散列值)

上传于 CPython 3.11 Windows x86-64

ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (550.5 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl (503.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

ognibuild-0.0.23-cp310-cp310-win_amd64.whl (393.4 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (550.5 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl (503.6 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

ognibuild-0.0.23-cp39-cp39-win_amd64.whl (393.5 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (551.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (572.8 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl (503.6 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

由...支持