轻量级python构建工具。

microbuild的Python项目详细描述


Calum J.Eadie(www.calum j eadie.com)

功能

  • 学得真快。
  • 管理任务之间的依赖关系。
  • 自动生成命令行界面。

安装

可以从python包索引(pypi)或源代码安装microbuild。

使用pip:

$ pip install microbuild

使用简易安装:

$ easy_install microbuild

示例

构建脚本是用纯python编写的,microbuild负责管理 任务和生成命令行接口之间的任何依赖关系。

任务只是用@task()decorator标记的常规python函数。依赖 也用@task()指定。可以使用@ignoredecorator忽略任务。

在定义所有任务后build(sys.modules[__name__],sys.argv[1:])被调用 运行生成。

# example.py
import sys
from microbuild.microbuild import task,ignore,build

@task()
def clean():
    """Clean build directory."""
    print "Cleaning build directory..."

@task(clean)
def html():
    """Generate HTML."""
    print "Generating HTML..."

@ignore
@task(clean)
def images():
    """Prepare images."""
    print "Preparing images..."

@task(html,images)
def android():
    """Package Android app."""
    print "Packaging android app..."

if __name__ == "__main__":
    build(sys.modules[__name__],sys.argv[1:])

命令行界面和帮助将自动生成。任务描述 从函数docstrings中提取。

$ ./example.py -h
usage: example.py [-h] task

positional arguments:
  task        perform specified task and all it's dependancies

optional arguments:
  -h, --help  show this help message and exit

tasks:
  android     Package Android app.
  clean       Clean build directory.
  html        Generate HTML.
  images      Prepare images.

任务之间的依赖性也得到了考虑。

$ ./example.py android
[ example.py - Starting task "clean" ]
Cleaning build directory...
[ example.py - Completed task "clean" ]
[ example.py - Starting task "html" ]
Generating HTML...
[ example.py - Completed task "html" ]
[ example.py - Ignoring task "images" ]
[ example.py - Starting task "android" ]
Packaging android app...
[ example.py - Completed task "android" ]

贡献

microbuild位于https://github.com/CalumJEadie/microbuild,贡献如下 非常欢迎。

epydoc用于生成文档,而unittest用于测试。

运行build.py apidoc生成文档,运行build.py test所有单元 测验。

许可证

microbuild是根据麻省理工学院的许可证授权的。见LICENSE.txt

更改

0.3.3-2013年3月26日

  • 改进了自述文件。

0.3.1,0.3.2-2012年12月15日

  • 改进了自述文件。

0.3.0-2012年9月18日

  • 修正了日志中的错误。不再修改根日志。
  • 添加了忽略功能。
  • 扩展API文档。

0.2.0-2012年8月29日

  • 添加了进度跟踪输出。
  • 添加了对任务中异常的处理。

0.1.0-28/08/2012

  • 初次发布。
  • 增加了对任务之间依赖关系的管理。
  • 增加了命令行界面的自动生成。

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

推荐PyPI第三方库


热门话题
java Android:位置服务权限   java Android Studio SQLite数据库创建不起作用?   java在Spring boot中添加会话bean导致没有为作用域“Session”注册作用域   正则表达式Java:从组中删除多次出现的不可打印字符   计算行和时出现java错误   java如何将存储在移动设备中的录制视频的Uri传递给另一个活动   java如何从加密字符串中获取原始字符串值?   java无法初始化jNativeHook 2.0   java一个应用程序中的两个并行通知(安卓)   java如何从Android上的Locale对象获取脚本?   不同类之间的java函数调用   java Spring MVC带EXT JS错误:DispatcherServlet noHandlerFound   java场景2D在表的顶部添加参与者   java Groovy ConcurrentHashMap forEach调用   java从数据库查询中重新格式化json   java单例类可以是泛型的吗?   java循环遍历正则表达式匹配项并替换当前匹配项   jdbc Java数据库元数据   爪哇为什么是一种特殊的番石榴秒表。调用比其他调用晚很多吗?(以邮递方式输出)   java使用递归传递带有基本情况的参数