diff options
Diffstat (limited to 'tasks.py')
-rw-r--r-- | tasks.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tasks.py b/tasks.py new file mode 100644 index 00000000..94bf0aa2 --- /dev/null +++ b/tasks.py @@ -0,0 +1,51 @@ +from os import mkdir +from os.path import join +from shutil import rmtree, copytree + +from invoke import Collection, ctask as task +from invocations import docs as _docs +from invocations.packaging import publish + + +d = 'sites' + +# Usage doc/API site (published as docs.paramiko.org) +docs_path = join(d, 'docs') +docs_build = join(docs_path, '_build') +docs = Collection.from_module(_docs, name='docs', config={ + 'sphinx.source': docs_path, + 'sphinx.target': docs_build, +}) + +# Main/about/changelog site ((www.)?paramiko.org) +www_path = join(d, 'www') +www = Collection.from_module(_docs, name='www', config={ + 'sphinx.source': www_path, + 'sphinx.target': join(www_path, '_build'), +}) + + +# Until we move to spec-based testing +@task +def test(ctx): + ctx.run("python test.py --verbose") + +@task +def coverage(ctx): + ctx.run("coverage run --source=paramiko test.py --verbose") + + +# Until we stop bundling docs w/ releases. Need to discover use cases first. +@task +def release(ctx): + # Build docs first. Use terribad workaround pending invoke #146 + ctx.run("inv docs") + # Move the built docs into where Epydocs used to live + target = 'docs' + rmtree(target, ignore_errors=True) + copytree(docs_build, target) + # Publish + publish(ctx, wheel=True) + + +ns = Collection(test, coverage, release, docs=docs, www=www) |