def task_requires(*dependencies):
def entangle(task):<EOL><INDENT>"<STR_LIT>"<EOL>if not isinstance(task, tasks.Task):<EOL><INDENT>task = tasks.Task(task)<EOL><DEDENT>def tool_task(*args, **kw):<EOL><INDENT>"<STR_LIT>"<EOL>install_tools(dependencies)<EOL>return task_body(*args, **kw)<EOL><DEDENT>task_body, task.func = task.func, tool_task<EOL>return task<EOL><DEDENT>return entangle<EOL>
A task decorator that ensures a distutils dependency (or a list thereof) is met
        before that task is executed.