diff options
author | Georg Brandl <georg@python.org> | 2010-03-13 10:12:39 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-03-13 10:12:39 (GMT) |
commit | 3446583976e2eed07d70778baa54c5dca97f9d3e (patch) | |
tree | efd55413b0f1edad6e0603a04f83eff6a3919273 /Doc/tools | |
parent | eb6d43004134dc8b1c346b77abd1566b2d60b917 (diff) | |
download | cpython-3446583976e2eed07d70778baa54c5dca97f9d3e.zip cpython-3446583976e2eed07d70778baa54c5dca97f9d3e.tar.gz cpython-3446583976e2eed07d70778baa54c5dca97f9d3e.tar.bz2 |
Add Makefile targets for automatic doc build. Add script that will be used for daily build.
Diffstat (limited to 'Doc/tools')
-rwxr-xr-x | Doc/tools/dailybuild.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Doc/tools/dailybuild.py b/Doc/tools/dailybuild.py new file mode 100755 index 0000000..6291d90 --- /dev/null +++ b/Doc/tools/dailybuild.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Runs the daily build of the Python docs on dinsdale.python.org. +# +# Usages: +# +# dailybuild.py +# +# without any arguments builds docs for all branches configured in the global +# BRANCHES value. +# +# dailybuild.py [-d] <checkout> <target> +# +# builds one version, where <checkout> is an SVN checkout directory of the +# Python branch to build docs for, and <target> is the directory where the +# result should be placed. If -d is given, the docs are built even if the +# branch is in development mode (i.e. version contains a, b or c). +# +# This script is not run from the checkout, so if you want to change how the +# daily build is run, you must replace it on dinsdale. This is necessary, for +# example, after the release of a new minor version. +# +# 03/2010, Georg Brandl + +import os +import sys +import getopt + + +BUILDROOT = '/home/gbrandl/docbuild' +WWWROOT = '/data/ftp.python.org/pub/docs.python.org' + +BRANCHES = [ + # checkout, target, isdev + (BUILDROOT + '/python26', WWWROOT, False), + (BUILDROOT + '/python31', WWWROOT + '/py3k', False), + (BUILDROOT + '/python27', WWWROOT + '/dev', True), + (BUILDROOT + '/python32', WWWROOT + '/dev/py3k', True), +] + + +def build_one(checkout, target, isdev): + print 'Doc autobuild started in %s' % checkout + os.chdir(checkout) + print 'Running svn update' + os.system('svn update') + print 'Running make autobuild' + if os.WEXITSTATUS(os.system( + 'cd Doc; make autobuild-%s' % (isdev and 'dev' or 'stable'))) == 2: + print '*' * 80 + return + print 'Copying HTML files' + os.system('cp -a Doc/build/html/* %s' % target) + print 'Copying dist files' + os.system('cp -a Doc/dist %s/dist' % target) + print 'Finished' + print '=' * 80 + +def usage(): + print 'Usage:' + print ' %s' % sys.argv[0] + print 'or' + print ' %s [-d] <checkout> <target>' % sys.argv[0] + sys.exit(1) + + +if __name__ == '__main__': + try: + opts, args = getopt.getopt(sys.argv[1:], 'd') + except getopt.error: + usage() + if opts and not args: + usage() + if args: + if len(args) != 2: + usage() + build_one(args[0], args[1], bool(opts)) + else: + for branch in BRANCHES: + build_one(*branch) |