check_gn_headers.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:nojs 作者: chrisdickinson 项目源码 文件源码
def GetHeadersFromGN(out_dir, q):
  """Return all the header files from GN"""

  tmp = None
  ans, err = set(), None
  try:
    # Argument |dir| is needed to make sure it's on the same drive on Windows.
    # dir='' means dir='.', but doesn't introduce an unneeded prefix.
    tmp = tempfile.mkdtemp(dir='')
    shutil.copy2(os.path.join(out_dir, 'args.gn'),
                 os.path.join(tmp, 'args.gn'))
    # Do "gn gen" in a temp dir to prevent dirtying |out_dir|.
    gn_exe = 'gn.bat' if sys.platform == 'win32' else 'gn'
    subprocess.check_call([
        os.path.join(DEPOT_TOOLS_DIR, gn_exe), 'gen', tmp, '--ide=json', '-q'])
    gn_json = json.load(open(os.path.join(tmp, 'project.json')))
    ans = ParseGNProjectJSON(gn_json, out_dir, tmp)
  except Exception as e:
    err = str(e)
  finally:
    if tmp:
      shutil.rmtree(tmp)
  q.put((ans, err))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号