hotdochelper.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import os
  2. import shutil
  3. import subprocess
  4. from . import destdir_join
  5. import argparse
  6. parser = argparse.ArgumentParser()
  7. parser.add_argument('--install')
  8. parser.add_argument('--extra-extension-path', action="append", default=[])
  9. parser.add_argument('--name')
  10. parser.add_argument('--builddir')
  11. parser.add_argument('--project-version')
  12. def run(argv):
  13. options, args = parser.parse_known_args(argv)
  14. subenv = os.environ.copy()
  15. for ext_path in options.extra_extension_path:
  16. subenv['PYTHONPATH'] = subenv.get('PYTHONPATH', '') + ':' + ext_path
  17. res = subprocess.call(args, cwd=options.builddir, env=subenv)
  18. if res != 0:
  19. exit(res)
  20. if options.install:
  21. source_dir = os.path.join(options.builddir, options.install)
  22. destdir = os.environ.get('DESTDIR', '')
  23. installdir = destdir_join(destdir,
  24. os.path.join(os.environ['MESON_INSTALL_PREFIX'],
  25. 'share/doc/', options.name, "html"))
  26. shutil.rmtree(installdir, ignore_errors=True)
  27. shutil.copytree(source_dir, installdir)