In doit, unlike other build-tools, a task doesn’t define a target file to use the execute command if not up-to-date.
This makes doit specially suitable for running a sub-set of test suites.
Like most build tools is used to execute tasks defined in a configuration file. Configuration files are python modules.
The tasks can be python functions or an external shell script/command. doit automatically keeps track of declared dependencies executing only tasks that needs to be update (based on which dependencies have changed).
Here are some key features of "Doit":
Can be used as a:
· Build tool (generic and flexible)
· Home of your management scripts (it helps you organize and combine shell scripts and python scripts)
· Functional tests runner (combine together different tools)
· Easy to use, "no-API"
· Use Python to dynamically create tasks on-the-fly
· Flexible, adapts to many workflows for creation of tasks/rules/recipes
· Support for multi-process parallel execution
· Built-in integration of inotify (automatically re-execution)