Skip to main content

管理项目特定命令的无摩擦方式。

项目描述


1构建


派皮版本 支持的 Python 版本 构建状态 代码覆盖率 需求状态 下载


1build 是一个自动化工具,可以方便地配置项目本地命令行别名,然后快速轻松地运行命令。当您处理多个项目并一直在它们之间切换时,它特别有用。通常情况下,不同的项目使用不同的构建工具并具有不同的环境要求——然后从一个项目切换到另一个项目变得越来越麻烦。这就是 1build 发挥作用的地方。

使用 1build,您可以为常用的项目命令(如构建、测试、运行或其他任何内容)创建简单且易于记忆的命令别名。这些别名将具有项目本地范围,这意味着它们只能在项目目录中访问。通过这种方式,您可以统一所有项目以使用相同的简单命令进行构建,而不管它们使用什么构建工具。它将消除记住所有这些命令的麻烦,从而提高对真正重要事物的精神关注。

安装

pip install 1build

或者

pip3 install 1build

用法

配置

  • 在项目文件夹中创建项目配置文件,名称为1build.yaml

  • 1build.yamlJVM Maven 项目的示例:

    project: Sample JVM Project Name
    commands:
      - build: mvn clean package
      - lint: mvn antrun:run@ktlint-format
      - test: mvn clean test
    

为上述示例项目运行 1build:

  • 建设项目

    1build build
    
  • 修复编码指南 lint 并运行测试(一次执行多个命令)

    1build lint test
    

使用beforeafter命令

考虑您的项目X需要Java 11,而另一个项目需要Java 8. 总是记得切换java版本是一件令人头疼的事情。您想要的是Java 11在构建项目时自动 切换到X,并在构建完成时将其切换回Java 8。另一个例子——项目需要Docker启动并运行,或者您需要在运行测试工具后清理数据库。

这就是before&after命令有用的地方。这些命令都是可选的——您可以使用其中之一,也可以两者都不使用。

例子:

  1. 切换到Java 11然后返回Java 8

    project: Sample JVM Project Name
    before: ./switch_to_java_11.sh
    after: ./switch_to_java_8.sh
    commands:
      - build: mvn clean package
    
  2. 确保Docker已启动并运行

    project: Containerized Project
    before: ./docker_run.sh
    commands:
      - build: ./gradlew clean
    
  3. 一些命令后清理数据库

    project: Containerized Project
    after: ./clean_database.sh
    commands:
     - build: ./gradlew clean
    

命令用法

usage: 1build [-h] [-l] [-v] [command]

positional arguments:
 command     Command to run - from `1build.yaml` file

optional arguments:
 -h, --help  Print this help message
 -l, --list  Show all available commands - from `1build.yaml` file
 -v, --version  Show version of 1build and exit
 -i, --init     Create default `1build.yaml` configuration file

贡献

请阅读CONTRIBUTING.md了解我们的行为准则的详细信息,以及向我们提交拉取请求的流程。

版本控制

我们对所有版本都使用语义版本控制。有关可用版本,请参阅此存储库上的标签

变更日志

每个版本中对该项目的所有显着更改都将记录在CHANGELOG.md中。

格式基于Keep a Changelog

执照

该项目在 MIT 许可下获得许可 - 请参阅LICENSE文件了解详细信息

作者

另请参阅参与此项目的贡献者列表。

项目详情


下载文件

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

源分布

1build-1.1.1.tar.gz (6.7 kB 查看哈希

已上传 source

内置分布

1build-1.1.1-py3-none-any.whl (11.1 kB 查看哈希

已上传 py3