Builder with plugin system


Keywords
dogebuild, builder
License
MIT
Install
pip install dogebuild==0.3.3.post1

Documentation

dogebuild

Build Status PyPI version Documentation Status

General purpose build manager mainly designed to build C++ projects which uses directed acyclic graph (DAG) to manage tasks dependencies.

Install

pip install dogebuild

How to use

Dogebuild uses dogefile.py to describe project structure and task DAG. An example of dogefile.py:

from dogebuild import make_mode, task

make_mode()


@task
def task1():
    print("task1")


@task()
def task2():
    print("task2")


@task(
    aliases=["Task 3 verbose name"], depends=["task1", "task2"],
)
def task3():
    print("task3")


@task(depends=["Task 3 verbose name"], aliases=["build"])
def task4():
    print("task4")

To run task simply pass task name as argument to doge script. doge build will run build task and all dependencies. You can also run multiple tasks: doge task1 task2.

For more advanced use see plugins section.

Plugins

Plugins allow to hide low-level mechanics of build from user. See how to use plugins in plugin documentation.

Language plugins:

C/C++

Other plugins

Protobuf

Tex plugin