plone.api/master: introduce new tox.ini and pin code conventions in setup.cfg
Alexander Loechel <jenkins-z4DKO/[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.cvs |
|---|---|
| Message-ID | <[email protected]> |
Repository: plone.api Branch: refs/heads/master Date: 2017-07-20T11:05:07+02:00 Author: Alexander Loechel (loechel) <[email protected]> Commit: https://github.com/plone/plone.api/commit/0679e57cc1184a13d3025be8c434046ed01acaf9 introduce new tox.ini and pin code conventions in setup.cfg Files changed: A plone-5.1.x.cfg A tox.ini M .gitignore M buildout.cfg M plone-4.3.x.cfg M plone-5.0.x.cfg M setup.cfg diff --git a/.gitignore b/.gitignore index 0a7685c..fbf9d8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *.mo -*.pyc +*.py[cod] *~ /.Python /.coverage @@ -21,3 +21,7 @@ /share/ /src/plone.api.egg-info/ /var/ +/reports/ +/pip-selfcheck.json +/_build/ +/.tox/ diff --git a/buildout.cfg b/buildout.cfg index 02bdfa7..d59dad3 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -1,10 +1,11 @@ [buildout] -extends = - https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg - plone-4.3.x.cfg + package-name = plone.api -package-extras = [test] -test-eggs = Pillow +package-extras = [develop, test] +test-eggs = + Pillow + plone.app.contenttypes + parts += omelette code-analysis @@ -34,6 +35,7 @@ debug-statements = True return-status-codes = True [versions] +plone.api = flake8 = 2.6.2 mccabe = 0.5.2 plone.recipe.codeanalysis = 1.0b5 diff --git a/plone-4.3.x.cfg b/plone-4.3.x.cfg index e69de29..98c10c3 100644 --- a/plone-4.3.x.cfg +++ b/plone-4.3.x.cfg @@ -0,0 +1,10 @@ +[buildout] +extends = + https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg + buildout.cfg + +test-eggs += + plone.app.contenttypes + +[versions] +plone.api = diff --git a/plone-5.0.x.cfg b/plone-5.0.x.cfg index d32ca7a..54c048e 100644 --- a/plone-5.0.x.cfg +++ b/plone-5.0.x.cfg @@ -1,4 +1,8 @@ [buildout] +extends = + https://raw.github.com/collective/buildout.plonetest/master/test-5.0.x.cfg + buildout.cfg + test-eggs += plone.app.contenttypes diff --git a/plone-5.1.x.cfg b/plone-5.1.x.cfg new file mode 100644 index 0000000..4ad852b --- /dev/null +++ b/plone-5.1.x.cfg @@ -0,0 +1,10 @@ +[buildout] +extends = + https://raw.github.com/collective/buildout.plonetest/master/test-5.1.x.cfg + buildout.cfg + +test-eggs += + plone.app.contenttypes + +[versions] +plone.api = diff --git a/setup.cfg b/setup.cfg index 927666e..9a377df 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,3 +2,21 @@ ignore = *.cfg .travis.yml + +[isort] +force_alphabetical_sort=True +force_single_line=True +lines_after_imports=2 +line_length=200 +not_skip=__init__.py + +[coverage:run] +branch = True +source = src +omit = + +[coverage:report] +precision = 2 + +[coverage:html] +directory = reports/coverage diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..ef559bb --- /dev/null +++ b/tox.ini @@ -0,0 +1,123 @@ +[tox] +envlist = + py27-Plone-{4.3,5.0,5.1}, + isort, + flake8, + docs, + coverage-report, + +skip_missing_interpreters = false + +[testenv] +skip_install = True + +basepython: + py27: python2.7 + +extras = + test + +Plone-4.3: + commands = + mkdir -p {toxinidir}/reports/coverage + {envbindir}/buildout -c {toxinidir}/plone-4.3.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} bootstrap + {envbindir}/buildout -c {toxinidir}/plone-4.3.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} + coverage run {envbindir}/test -v1 --auto-color {posargs} +Plone-5.0: + commands = + mkdir -p {toxinidir}/reports/coverage + {envbindir}/buildout -c {toxinidir}/plone-5.0.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} bootstrap + {envbindir}/buildout -c {toxinidir}/plone-5.0.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} + coverage run {envbindir}/test -v1 --auto-color {posargs} +Plone-5.1: + commands = + mkdir -p {toxinidir}/reports/coverage + {envbindir}/buildout -c {toxinidir}/plone-5.1.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} bootstrap + {envbindir}/buildout -c {toxinidir}/plone-5.1.x.cfg buildout:directory={envdir} buildout:develop={toxinidir} + coverage run {envbindir}/test -v1 --auto-color {posargs} + +setenv = + COVERAGE_FILE=.coverage.{envname} + +deps = + pdbpp + setuptools==33.1.1 + zc.buildout==2.8.0 + coverage + +whitelist_externals = + mkdir + +[testenv:coverage-report] +basepython = python2.7 +deps = coverage + +setenv = + COVERAGE_FILE=.coverage + +skip_install = true + +commands = + coverage erase + coverage combine + coverage report + coverage html + coverage xml + +[testenv:flake8] +basepython = python2.7 +skip_install = true + +deps = + flake8 + flake8-html + flake8-coding + flake8-debugger + flake8-deprecated + flake8-isort + flake8-pep3101 + flake8-plone-hasattr + flake8-polyfill + flake8-print + flake8-quotes + flake8-string-format + flake8-todo + +commands = + mkdir -p {toxinidir}/reports/flake8 + - flake8 --format=html --htmldir={toxinidir}/reports/flake8 src setup.py + flake8 src setup.py + +whitelist_externals = + mkdir + +[testenv:isort] +basepython = python2.7 +skip_install = true + +deps = + isort + +commands = + isort --check-only --recursive {toxinidir}/src + +[testenv:isort-apply] +basepython = python2.7 +skip_install = true + +deps = + isort + +commands = + isort --apply --recursive {toxinidir}/src + + +[testenv:docs] +basepython = python2.7 +skip_install = false + +deps = + Sphinx + +commands = + sphinx-build -b html -d _build/docs/doctrees docs _build/docs/html ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot