tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

generate_android_wrapper.py (1154B)


      1 #!/usr/bin/env python3
      2 # Copyright 2019 The Chromium Authors
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import os
      7 import re
      8 import sys
      9 
     10 from util import build_utils
     11 import action_helpers  # build_utils adds //build to sys.path.
     12 
     13 sys.path.append(
     14    os.path.abspath(
     15        os.path.join(os.path.dirname(__file__), '..', '..', 'util')))
     16 
     17 import generate_wrapper
     18 
     19 _WRAPPED_PATH_LIST_RE = re.compile(r'@WrappedPathList\(([^,]+), ([^)]+)\)')
     20 
     21 
     22 def ExpandWrappedPathLists(args):
     23  expanded_args = []
     24  for arg in args:
     25    m = _WRAPPED_PATH_LIST_RE.match(arg)
     26    if m:
     27      for p in action_helpers.parse_gn_list(m.group(2)):
     28        expanded_args.extend([m.group(1), '@WrappedPath(%s)' % p])
     29    else:
     30      expanded_args.append(arg)
     31  return expanded_args
     32 
     33 
     34 def main(raw_args):
     35  parser = generate_wrapper.CreateArgumentParser()
     36  expanded_raw_args = build_utils.ExpandFileArgs(raw_args)
     37  expanded_raw_args = ExpandWrappedPathLists(expanded_raw_args)
     38  args = parser.parse_args(expanded_raw_args)
     39  return generate_wrapper.Wrap(args)
     40 
     41 
     42 if __name__ == '__main__':
     43  sys.exit(main(sys.argv[1:]))