mirror of https://github.com/celery/kombu.git
189 lines
4.2 KiB
Python
189 lines
4.2 KiB
Python
import os
|
|
|
|
from paver.easy import * # noqa
|
|
from paver import doctools # noqa
|
|
from paver.setuputils import setup # noqa
|
|
|
|
PYCOMPILE_CACHES = ["*.pyc", "*$py.class"]
|
|
|
|
options(
|
|
sphinx=Bunch(builddir=".build"),
|
|
)
|
|
|
|
|
|
def sphinx_builddir(options):
|
|
return path("docs") / options.sphinx.builddir / "html"
|
|
|
|
|
|
@task
|
|
def clean_docs(options):
|
|
sphinx_builddir(options).rmtree()
|
|
|
|
|
|
@task
|
|
@needs("clean_docs", "paver.doctools.html")
|
|
def html(options):
|
|
destdir = path("Documentation")
|
|
destdir.rmtree()
|
|
builtdocs = sphinx_builddir(options)
|
|
builtdocs.move(destdir)
|
|
|
|
|
|
@task
|
|
@needs("paver.doctools.html")
|
|
def qhtml(options):
|
|
destdir = path("Documentation")
|
|
builtdocs = sphinx_builddir(options)
|
|
sh("rsync -az %s/ %s" % (builtdocs, destdir))
|
|
|
|
|
|
@task
|
|
@needs("clean_docs", "paver.doctools.html")
|
|
def ghdocs(options):
|
|
builtdocs = sphinx_builddir(options)
|
|
sh("git checkout gh-pages && \
|
|
cp -r %s/* . && \
|
|
git commit . -m 'Rendered documentation for Github Pages.' && \
|
|
git push origin gh-pages && \
|
|
git checkout master" % builtdocs)
|
|
|
|
|
|
@task
|
|
@needs("clean_docs", "paver.doctools.html")
|
|
def upload_pypi_docs(options):
|
|
builtdocs = path("docs") / options.builddir / "html"
|
|
sh("python setup.py upload_sphinx --upload-dir='%s'" % (builtdocs))
|
|
|
|
|
|
@task
|
|
@needs("upload_pypi_docs", "ghdocs")
|
|
def upload_docs(options):
|
|
pass
|
|
|
|
|
|
@task
|
|
def autodoc(options):
|
|
sh("contrib/release/doc4allmods kombu")
|
|
|
|
|
|
@task
|
|
def verifyindex(options):
|
|
sh("contrib/release/verify-reference-index.sh")
|
|
|
|
|
|
@task
|
|
def clean_readme(options):
|
|
path("README").unlink()
|
|
path("README.rst").unlink()
|
|
|
|
|
|
@task
|
|
@needs("clean_readme")
|
|
def readme(options):
|
|
sh("python contrib/release/sphinx-to-rst.py docs/templates/readme.txt \
|
|
> README.rst")
|
|
sh("ln -sf README.rst README")
|
|
|
|
|
|
@task
|
|
@cmdopts([
|
|
("custom=", "C", "custom version"),
|
|
])
|
|
def bump(options):
|
|
s = "-- '%s'" % (options.custom, ) \
|
|
if getattr(options, "custom", None) else ""
|
|
sh("contrib/release/bump_version.py \
|
|
kombu/__init__.py README.rst %s" % (s, ))
|
|
|
|
|
|
@task
|
|
@cmdopts([
|
|
("coverage", "c", "Enable coverage"),
|
|
("quick", "q", "Quick test"),
|
|
("verbose", "V", "Make more noise"),
|
|
])
|
|
def test(options):
|
|
cmd = "nosetests"
|
|
if getattr(options, "coverage", False):
|
|
cmd += " --with-coverage3"
|
|
if getattr(options, "quick", False):
|
|
cmd = "QUICKTEST=1 SKIP_RLIMITS=1 %s" % cmd
|
|
if getattr(options, "verbose", False):
|
|
cmd += " --verbosity=2"
|
|
sh(cmd)
|
|
|
|
|
|
@task
|
|
@cmdopts([
|
|
("noerror", "E", "Ignore errors"),
|
|
])
|
|
def flake8(options):
|
|
noerror = getattr(options, "noerror", False)
|
|
complexity = getattr(options, "complexity", 22)
|
|
migrations_path = os.path.join("kombu", "transport", "django",
|
|
"migrations", "0.+?\.py")
|
|
sh("""flake8 kombu | perl -mstrict -mwarnings -nle'
|
|
my $ignore = (m/too complex \((\d+)\)/ && $1 le %s)
|
|
|| (m{^%s});
|
|
if (! $ignore) { print STDERR; our $FOUND_FLAKE = 1 }
|
|
}{exit $FOUND_FLAKE;
|
|
'""" % (complexity, migrations_path), ignore_error=noerror)
|
|
|
|
@task
|
|
@cmdopts([
|
|
("noerror", "E", "Ignore errors"),
|
|
])
|
|
def flakeplus(options):
|
|
noerror = getattr(options, "noerror", False)
|
|
sh("python contrib/release/flakeplus.py kombu",
|
|
ignore_error=noerror)
|
|
|
|
|
|
@task
|
|
@cmdopts([
|
|
("noerror", "E", "Ignore errors"),
|
|
])
|
|
def flakes(options):
|
|
flake8(options)
|
|
flakeplus(options)
|
|
|
|
|
|
@task
|
|
@cmdopts([
|
|
("noerror", "E", "Ignore errors"),
|
|
])
|
|
def pep8(options):
|
|
noerror = getattr(options, "noerror", False)
|
|
return sh("""find kombu -name "*.py" | xargs pep8 | perl -nle'\
|
|
print; $a=1 if $_}{exit($a)'""", ignore_error=noerror)
|
|
|
|
|
|
@task
|
|
def removepyc(options):
|
|
sh("find . -type f -a \\( %s \\) | xargs rm" % (
|
|
" -o ".join("-name '%s'" % (pat, ) for pat in PYCOMPILE_CACHES), ))
|
|
|
|
|
|
@task
|
|
@needs("removepyc")
|
|
def gitclean(options):
|
|
sh("git clean -xdn")
|
|
|
|
|
|
@task
|
|
@needs("removepyc")
|
|
def gitcleanforce(options):
|
|
sh("git clean -xdf")
|
|
|
|
|
|
@task
|
|
@needs("flakes", "autodoc", "verifyindex", "test", "gitclean")
|
|
def releaseok(options):
|
|
pass
|
|
|
|
|
|
@task
|
|
@needs("releaseok", "removepyc", "upload_docs")
|
|
def release(options):
|
|
pass
|