xref: /aosp_15_r20/external/cronet/build/android/gyp/bytecode_rewriter.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1#!/usr/bin/env python3
2# Copyright 2020 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"""Wrapper script around ByteCodeRewriter subclass scripts."""
6
7import argparse
8import sys
9
10from util import build_utils
11import action_helpers  # build_utils adds //build to sys.path.
12
13
14def main(argv):
15  argv = build_utils.ExpandFileArgs(argv[1:])
16  parser = argparse.ArgumentParser()
17  action_helpers.add_depfile_arg(parser)
18  parser.add_argument('--script',
19                      required=True,
20                      help='Path to the java binary wrapper script.')
21  parser.add_argument('--classpath', action='append', nargs='+')
22  parser.add_argument('--input-jar', required=True)
23  parser.add_argument('--output-jar', required=True)
24  args = parser.parse_args(argv)
25
26  classpath = action_helpers.parse_gn_list(args.classpath)
27  action_helpers.write_depfile(args.depfile, args.output_jar, inputs=classpath)
28
29  classpath.append(args.input_jar)
30  cmd = [
31      args.script, '--classpath', ':'.join(classpath), args.input_jar,
32      args.output_jar
33  ]
34  build_utils.CheckOutput(cmd, print_stdout=True)
35
36
37if __name__ == '__main__':
38  sys.exit(main(sys.argv))
39