comparison garcon/documentation.py @ 647:be67fb6add5f

cm: Fixes and tweaks to the documentation generation task.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 15 Feb 2016 22:09:55 -0800
parents 3060a6f26330
children a409a7bb3948
comparison
equal deleted inserted replaced
646:87267392a5c1 647:be67fb6add5f
2 import os.path 2 import os.path
3 from invoke import task, run 3 from invoke import task, run
4 4
5 5
6 @task 6 @task
7 def gendocs(tmp_dir=None, out_dir=None): 7 def gendocs(tmp_dir=None, out_dir=None, root_url=None):
8 if not tmp_dir: 8 if not tmp_dir:
9 tmp_dir = '_docs-counter' 9 tmp_dir = '_docs-counter'
10 10
11 print("Updating virtual environment") 11 if not os.path.isdir('venv'):
12 run("pip install -r requirements.txt --upgrade") 12 raise Exception(
13 "You need a virtual environment in the PieCrust repo.")
14 pyexe = os.path.join('venv', 'bin', 'python')
13 15
14 print("Update node modules") 16 print("Update node modules")
15 run("npm install") 17 run("npm install")
16 18
17 print("Update Bower packages") 19 print("Update Bower packages")
18 run("bower update") 20 run("bower update")
19 21
20 print("Generate PieCrust version") 22 print("Generate PieCrust version")
21 run('python setup.py version') 23 run(pyexe + ' setup.py version')
22 from piecrust.__version__ import APP_VERSION 24 from piecrust.__version__ import APP_VERSION
23 version = APP_VERSION 25 version = APP_VERSION
24 26
25 print("Baking documentation for version: %s" % version) 27 print("Baking documentation for version: %s" % version)
28 if root_url:
29 print("Using root URL: %s" % root_url)
26 args = [ 30 args = [
27 'python', 'chef.py', 31 pyexe, 'chef.py',
28 '--root', 'docs', 32 '--root', 'docs',
29 '--config', 'dist', 33 '--config', 'dist']
30 '--config-set', 'site/root', '/piecrust/en/%s' % version, 34 if root_url:
35 args += ['--config-set', 'site/root', root_url]
36 args += [
31 'bake', 37 'bake',
32 '-o', tmp_dir 38 '-o', tmp_dir
33 ] 39 ]
34 run(' '.join(args)) 40 run(' '.join(args))
35 41