轻松创建构建文件和cli工具。

bump的Python项目详细描述


用法

颠簸使用起来很简单。打开一个bum.py文件,定义你的任务, 并在同一目录中运行bump。

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
$ bump build
Building

API

bumpy提供了一个简单的函数装饰器来注册和跟踪 任务,以及几个帮助函数,使您的生活更轻松 与shell命令和文件交互。

任务

为了把你可爱的功能转变成一项艰巨的任务, 简单地应用 @task decorator:

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'

函数名将用作任务名。文档字符串将是 保存并用于内置帮助。任何参数或关键字参数 将被解析并注册为cli标志。


先决条件任务/文件可以用可选的reqs指定 任务的关键字参数

@b.task(reqs=build)
def run():
    print 'Running'

需求可以是单个需求,也可以是一组需求。一 依赖项只在第一次需要时执行,尽管 它可以通过命令行显式执行多次:

$ bump run
Building
Running
$ bump build run
Building
Running
$ bump build build run
Building
Building
Running

str 需求将解释为文件/路径。


生成的文件可以用可选的 gens 关键字指定 参数:

@b.task(gens='docs')
def docs():
    print 'Documenting'

生成的文件将被保存,并可以使用 bumpy的 clean() 帮助函数。生成的文件也将被使用 查找基于文件的依赖关系链。


任务别名可以用可选的 alias 关键字指定 参数:

@b.task(alias='pkg', reqs=(build, docs))
def package():
    print 'Packaging'

别名 可以是单个别名或一组别名。


任务可以设为"默认"任务. 如果未提供参数,则调用,方法是将 'default' 作为 可选参数:

@b.task('default'):
def build():
    print 'Building'

任务可以设置为"设置"任务 在执行任何其他任务之前调用,方法是提供 'setup' 作为可选 参数:

@b.task('setup')
def setup():
    print 'Setting stuff up'

安装任务也可以接受参数。以后再说!


类似于"安装"任务,"拆卸"任务在每一个任务之后调用 任务,就在退出之前:

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
0

通过添加 'private' 可选参数或在其名称前加下划线:

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
1

私有任务仍然可以是必需的和执行的,但不能被调用 在命令行中,并且不会包含在内置帮助中。


任务可以通过添加可选的 参数:

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
2

函数参数/关键字参数将转换为 命令行标志和选项。

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
3

然后可以这样调用:

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
4

关键字参数 必须在标准参数之前,与 巨蟒的标准。

助手

要中止任务执行并显示错误消息,请使用 中止(消息,*格式参数)

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
5

如果提供格式参数, 消息将用作字符串 str.format格式


要调用shell命令,请使用shell(command,*formatargs)

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
6

如果提供格式参数,则命令将用作字符串 str.format格式


要在执行期间而不是执行前要求任务,请使用 要求(*要求)

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
7

检查需求是否有效,而不实际执行它们, 使用 有效的(*reqs)


要获取文件集合的最年轻年龄,请使用: 年龄(*路径)

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
8

如果您在用 gens 记录生成的文件时非常小心, bumpy将能够自动删除所有生成的文件 clean()

import bumpy as b

@b.task
def build():
    '''Builds ALL THE CODE.'''
    print 'Building'
9

名称空间

通过使用可选的 命名空间,可以将任务分组到命名空间中。 关键字参数:

$ bump build
Building
0
$ bump build
Building
1

当bumpy启动时,它会在 bump/ 目录中搜索模块 并导入它们,为每个名称空间分配适当的名称空间。如果你想要 要在全局命名空间中的任务,请将它们添加到 bump/ bum.py ,或 build.py ,只有第一个 其中一部分将进口。如果一个命名空间中的任务依赖于 另外,可以使用python的 导入 模块:

CLI

bumpy --版本 将打印bumpy的当前运行版本。

bump -h bump --help 将打印内置帮助消息。

bump -f <;file>; 将告诉 bump 加载不同的文件 bum.py build.py

bump -v 任务将启用详细模式,打印进入/退出 每次任务开始和结束执行时都会发送消息。

bump task1 task2 task3 将按顺序执行任务

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为游戏添加声音。需要帮助   java在获取数据时忽略模型类中的forign键映射   java为什么Microsoft JDBC驱动程序忽略failoverPartner主机名   java可以下载mozswing文件   java等价于ObjectOutputStream,不仅保存其状态,还保存整个对象?   Java Android LiveData根据其他LiveData调用房间查询   java如何使用jackson jsonNode实现这一点并获得所需的输出   在web服务器上作为web应用程序运行java应用程序?   groovy中java类的元类属性   返回空指针的java图形对象   标头中包含用户名和密码的java SOAP客户端请求   具有堆栈实现和递归的Hanoi算法塔(Java)   java当我运行这两个类时,我的老鼠不会移动   使用图像进行java相似图像搜索   Java8并行流机制   使用单例对象作为枚举元素的java Scala枚举,是否有可能对它们进行迭代?   java Webview更改高度大小   不可序列化对象和函数的java Spark Scala编程   java my app在eclipse中运行良好,而不是在jar中