diff options
Diffstat (limited to 'tasks/__main__.py')
-rw-r--r-- | tasks/__main__.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tasks/__main__.py b/tasks/__main__.py new file mode 100644 index 0000000..637d841 --- /dev/null +++ b/tasks/__main__.py @@ -0,0 +1,70 @@ +# -*- coding: UTF-8 -*- +""" +Provides "invoke" script when invoke is not installed. +Note that this approach uses the "tasks/_vendor/invoke.zip" bundle package. + +Usage:: + + # -- INSTEAD OF: invoke command + # Show invoke version + python -m tasks --version + + # List all tasks + python -m tasks -l + +.. seealso:: + + * http://pyinvoke.org + * https://github.com/pyinvoke/invoke + + +Examples for Invoke Scripts using the Bundle +------------------------------------------------------------------------------- + +For UNIX like platforms: + +.. code-block:: sh + + #!/bin/sh + #!/bin/bash + # RUN INVOKE: From bundled ZIP file (with Bourne shell/bash script). + # FILE: invoke.sh (in directory that contains tasks/ directory) + + HERE=$(dirname $0) + export INVOKE_TASKS_USE_VENDOR_BUNDLES="yes" + + python ${HERE}/tasks/_vendor/invoke.zip $* + + +For Windows platform: + +.. code-block:: bat + + @echo off + REM RUN INVOKE: From bundled ZIP file (with Windows Batchfile). + REM FILE: invoke.cmd (in directory that contains tasks/ directory) + + setlocal + set HERE=%~dp0 + set INVOKE_TASKS_USE_VENDOR_BUNDLES="yes" + if not defined PYTHON set PYTHON=python + + %PYTHON% %HERE%tasks/_vendor/invoke.zip "%*" +""" + +from __future__ import absolute_import +import os +import sys + +# ----------------------------------------------------------------------------- +# BOOTSTRAP PATH: Use provided vendor bundle if "invoke" is not installed +# ----------------------------------------------------------------------------- +# NOTE: tasks/__init__.py performs sys.path setup. +os.environ["INVOKE_TASKS_USE_VENDOR_BUNDLES"] = "yes" + +# ----------------------------------------------------------------------------- +# AUTO-MAIN: +# ----------------------------------------------------------------------------- +if __name__ == "__main__": + from invoke.main import program + sys.exit(program.run()) |