vdirsyncer/scripts/make_travisconf.py
Markus Unterwaditzer 7e9df3dee6 Improve builds
2015-12-17 05:13:44 +01:00

56 lines
1.4 KiB
Python

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))