Add a website update script
This commit is contained in:
parent
fb67a2f660
commit
140f11190b
@ -18,9 +18,8 @@ def pip_install(package, commit=None, **kwargs):
|
|||||||
print('Installing {}'.format(package))
|
print('Installing {}'.format(package))
|
||||||
check_call(['pip', 'install', '--upgrade', package])
|
check_call(['pip', 'install', '--upgrade', package])
|
||||||
|
|
||||||
def build_docs(version='dev'):
|
def create_build_env():
|
||||||
# Create virtualenv.
|
# Create virtualenv.
|
||||||
doc_dir = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
virtualenv_dir = 'virtualenv'
|
virtualenv_dir = 'virtualenv'
|
||||||
check_call(['virtualenv', virtualenv_dir])
|
check_call(['virtualenv', virtualenv_dir])
|
||||||
import sysconfig
|
import sysconfig
|
||||||
@ -51,6 +50,8 @@ def build_docs(version='dev'):
|
|||||||
check_version='1.4a0.dev-20151013')
|
check_version='1.4a0.dev-20151013')
|
||||||
pip_install('michaeljones/breathe',
|
pip_install('michaeljones/breathe',
|
||||||
'1c9d7f80378a92cffa755084823a78bb38ee4acc')
|
'1c9d7f80378a92cffa755084823a78bb38ee4acc')
|
||||||
|
|
||||||
|
def build_docs(version='dev', doc_dir=os.path.dirname(os.path.realpath(__file__))):
|
||||||
# Build docs.
|
# Build docs.
|
||||||
cmd = ['doxygen', '-']
|
cmd = ['doxygen', '-']
|
||||||
p = Popen(cmd, stdin=PIPE)
|
p = Popen(cmd, stdin=PIPE)
|
||||||
@ -96,4 +97,5 @@ def build_docs(version='dev'):
|
|||||||
return 'html'
|
return 'html'
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
create_build_env()
|
||||||
build_docs(sys.argv[1])
|
build_docs(sys.argv[1])
|
||||||
|
@ -43,6 +43,7 @@ if build == 'Doc':
|
|||||||
check_call(['sudo', 'dpkg', '-i', deb_file])
|
check_call(['sudo', 'dpkg', '-i', deb_file])
|
||||||
sys.path.insert(0, os.path.join(fmt_dir, 'doc'))
|
sys.path.insert(0, os.path.join(fmt_dir, 'doc'))
|
||||||
import build
|
import build
|
||||||
|
build.create_build_env()
|
||||||
html_dir = build.build_docs()
|
html_dir = build.build_docs()
|
||||||
repo = 'fmtlib.github.io'
|
repo = 'fmtlib.github.io'
|
||||||
if travis and 'KEY' not in os.environ:
|
if travis and 'KEY' not in os.environ:
|
||||||
|
43
support/update-website.py
Executable file
43
support/update-website.py
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os, shutil, sys
|
||||||
|
from subprocess import check_call
|
||||||
|
|
||||||
|
class Git:
|
||||||
|
def __init__(self, dir):
|
||||||
|
self.dir = dir
|
||||||
|
|
||||||
|
def call(self, method, args, **kwargs):
|
||||||
|
return check_call(['git', method] + list(args), **kwargs)
|
||||||
|
|
||||||
|
def clone(self, *args):
|
||||||
|
return self.call('clone', list(args) + [self.dir])
|
||||||
|
|
||||||
|
def checkout(self, *args):
|
||||||
|
return self.call('checkout', args, cwd=self.dir)
|
||||||
|
|
||||||
|
# Create build environment.
|
||||||
|
fmt_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
sys.path.insert(0, os.path.join(fmt_dir, 'doc'))
|
||||||
|
import build
|
||||||
|
build.create_build_env()
|
||||||
|
|
||||||
|
git = Git('fmt')
|
||||||
|
git.clone('git@github.com:fmtlib/fmt.git')
|
||||||
|
|
||||||
|
versions = ['1.0.0']
|
||||||
|
for version in versions:
|
||||||
|
git.checkout(version)
|
||||||
|
target_doc_dir = os.path.join(git.dir, 'doc')
|
||||||
|
# Remove the old theme.
|
||||||
|
for entry in os.listdir(target_doc_dir):
|
||||||
|
path = os.path.join(target_doc_dir, entry)
|
||||||
|
if os.path.isdir(path):
|
||||||
|
shutil.rmtree(path)
|
||||||
|
# Copy the new theme.
|
||||||
|
for entry in ['_static', '_templates', 'basic-bootstrap', 'bootstrap']:
|
||||||
|
src = os.path.join(fmt_dir, 'doc', entry)
|
||||||
|
dst = os.path.join(target_doc_dir, entry)
|
||||||
|
shutil.copytree(src, dst)
|
||||||
|
build.build_docs(version, target_doc_dir)
|
||||||
|
# TODO: copy docs to website
|
Loading…
Reference in New Issue
Block a user