aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/bin/generate_md_docs
blob: 4c6f0f91a0a9ff3254c52964482625bffea52db6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env vpython
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import logging
import os
import sys

_DEVIL_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
_DEVIL_URL = ('https://chromium.googlesource.com/catapult.git/+/HEAD/devil/')

sys.path.append(_DEVIL_PATH)
from devil.utils import cmd_helper

_FILES_TO_DOC = {
    'devil/android/sdk/adb_wrapper.py': 'docs/adb_wrapper.md',
    'devil/android/device_utils.py': 'docs/device_utils.md',
    'devil/utils/markdown.py': 'docs/markdown.md',
}

_MARKDOWN_SCRIPT = os.path.join(_DEVIL_PATH, 'devil', 'utils', 'markdown.py')


def main():
  failed = False
  for k, v in _FILES_TO_DOC.iteritems():
    module_path = os.path.join(_DEVIL_PATH, k)
    module_link = _DEVIL_URL + k
    doc_path = os.path.join(_DEVIL_PATH, v)

    status, stdout = cmd_helper.GetCmdStatusAndOutput([
        sys.executable, _MARKDOWN_SCRIPT, module_path, '--module-link',
        module_link
    ])
    if status:
      logging.error('Failed to update doc for %s' % module_path)
      failed = True
    else:
      with open(doc_path, 'w') as doc_file:
        doc_file.write(stdout)

  return 1 if failed else 0


if __name__ == '__main__':
  sys.exit(main())