print("# Generated by scripts/make_travisconf.py") print("") import contextlib import itertools i = 0 def p(s): print(" " * i + s) @contextlib.contextmanager def section(name): p("{}:".format(name)) global i i += 1 yield i -= 1 print("") p("sudo: true") p("language: python") p("") with section("install"): p('- "pip install -U pip"') p('- "pip install wheel"') p('- "make -e install-dev"') p('- "make -e install-$BUILD"') with section("script"): p('- "make -e $BUILD"') with section("matrix"): with section("include"): for python in ("2.7", "3.3", "3.4", "3.5", "pypy"): h = lambda: p("- python: {}".format(python)) h() p(" env: BUILD=style") if python in ("2.7", "3.5"): dav_servers = ("radicale", "owncloud", "baikal") else: dav_servers = ("radicale",) for dav_server, requirements in itertools.product( dav_servers, ("devel", "release", "minimal") ): if dav_server == "radicale" and requirements == "minimal": # only the latest radicale is supported continue h() p(" env: BUILD=test DAV_SERVER={} REQUIREMENTS={}" .format(dav_server, requirements))