comparison garcon/documentation.py @ 642:79aefe82c6b6

cm: Move all scripts into a `garcon` package with `invoke` support.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 14 Feb 2016 22:11:24 -0800
parents
children 3060a6f26330
comparison
equal deleted inserted replaced
641:35221f5fe0dd 642:79aefe82c6b6
1 import os
2 import os.path
3 from invoke import task, run
4
5
6 @task
7 def gendocs(tmp_dir=None, out_dir=None):
8 if not tmp_dir:
9 tmp_dir = '_docs-counter'
10
11 print("Updating virtual environment")
12 run("pip install -r requirements.txt --upgrade")
13
14 print("Update Bower packages")
15 run("bower update")
16
17 print("Generate PieCrust version")
18 run('python setup.py version')
19 from piecrust.__version__ import APP_VERSION
20 version = APP_VERSION
21
22 print("Baking documentation for version: %s" % version)
23 args = [
24 'python', 'chef.py',
25 '--root', 'docs',
26 '--config', 'dist',
27 '--config-set', 'site/root', '/piecrust/en/%s' % version,
28 'bake',
29 '-o', tmp_dir
30 ]
31 run(' '.join(args))
32
33 if out_dir:
34 print("Synchronizing %s" % out_dir)
35 if not os.path.isdir(out_dir):
36 os.makedirs(out_dir)
37
38 tmp_dir = tmp_dir.rstrip('/') + '/'
39 out_dir = out_dir.rstrip('/') + '/'
40 run('rsync -av --delete %s %s' % (tmp_dir, out_dir))
41