Merge "add exception for curl use in install job for testing scan"
[releng-anteater.git] / tasks.py
index e2e084b..30bef4c 100644 (file)
--- a/tasks.py
+++ b/tasks.py
@@ -1,4 +1,6 @@
 # -*- coding: utf-8 -*-
+from __future__ import absolute_import
+from __future__ import print_function
 import os
 import sys
 
@@ -9,47 +11,64 @@ build_dir = os.path.join(docs_dir, '_build')
 
 
 @task
-def test():
+def test(ctx):
     run('python setup.py test', pty=True)
 
 
 @task
-def clean():
-    run("rm -rf build")
-    run("rm -rf dist")
-    run("rm -rf anteater.egg-info")
-    clean_docs()
+def clean(ctx):
+    ctx.run("rm -rf build")
+    ctx.run("rm -rf dist")
+    ctx.run("rm -rf anteater.egg-info")
+    clean_docs(ctx)
     print("Cleaned up.")
 
 
 @task
-def clean_docs():
-    run("rm -rf %s" % build_dir)
+def clean_docs(ctx):
+    ctx.run("rm -rf %s" % build_dir)
 
 
 @task
-def browse_docs():
-    run("open %s" % os.path.join(build_dir, 'index.html'))
+def browse_docs(ctx):
+    ctx.run("open %s" % os.path.join(build_dir, 'index.html'))
 
 
 @task
-def build_docs(clean=False, browse=False):
+def build_docs(ctx, clean=False, browse=False):
     if clean:
         clean_docs()
-    run("sphinx-build %s %s" % (docs_dir, build_dir), pty=True)
+    ctx.run("sphinx-build %s %s" % (docs_dir, build_dir), pty=True)
     if browse:
         browse_docs()
 
 
 @task
-def readme(browse=False):
-    run('rst2html.py README.rst > README.html')
+def readme(ctx, browse=False):
+    ctx.run('rst2html.py README.rst > README.html')
 
 
 @task
-def publish(test=False):
-    """Publish to the cheeseshop."""
+def build(ctx):
+    """Build source distribution and wheels."""
+    ctx.run('python setup.py sdist bdist_wheel')
+
+
+@task
+def publish(ctx, test=False):
+    """Publish to the cheeseshop.
+
+    This command follows the Python packaging guidelines:
+    https://packaging.python.org/tutorials/distributing-packages
+
+    Information on configuration required for '--test' can be found
+    here: https://wiki.python.org/moin/TestPyPI
+
+    Before uploading please ensure you've signed the release using:
+
+      gpg --detach-sign -a dist/package-1.0.1.tar.gz
+    """
     if test:
-        run('python setup.py register -r test sdist upload -r test')
+        ctx.run('twine upload -r test dist/*')
     else:
-        run("python setup.py register sdist upload")
+        ctx.run("twine upload dist/*")