summaryrefslogtreecommitdiff
path: root/deps/v8/build/android/gyp/bytecode_processor.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/build/android/gyp/bytecode_processor.py')
-rwxr-xr-xdeps/v8/build/android/gyp/bytecode_processor.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/deps/v8/build/android/gyp/bytecode_processor.py b/deps/v8/build/android/gyp/bytecode_processor.py
new file mode 100755
index 0000000000..020b52f5f0
--- /dev/null
+++ b/deps/v8/build/android/gyp/bytecode_processor.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python
+# 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.
+
+"""Wraps bin/helper/java_bytecode_rewriter and expands @FileArgs."""
+
+import argparse
+import os
+import subprocess
+import sys
+
+from util import build_utils
+
+
+def _AddSwitch(parser, val):
+ parser.add_argument(
+ val, action='store_const', default='--disabled', const=val)
+
+
+def main(argv):
+ argv = build_utils.ExpandFileArgs(argv[1:])
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--script', required=True,
+ help='Path to the java binary wrapper script.')
+ parser.add_argument('--input-jar', required=True)
+ parser.add_argument('--output-jar', required=True)
+ parser.add_argument('--direct-classpath-jars', required=True)
+ parser.add_argument('--sdk-classpath-jars', required=True)
+ parser.add_argument('--extra-classpath-jars', dest='extra_jars',
+ action='append', default=[],
+ help='Extra inputs, passed last to the binary script.')
+ parser.add_argument('-v', '--verbose', action='store_true')
+ _AddSwitch(parser, '--is-prebuilt')
+ _AddSwitch(parser, '--enable-custom-resources')
+ _AddSwitch(parser, '--enable-assert')
+ _AddSwitch(parser, '--enable-thread-annotations')
+ _AddSwitch(parser, '--enable-check-class-path')
+ parser.add_argument(
+ '--split-compat-class-names',
+ action='append',
+ default=[],
+ help='Names of classes that need to be made SplitCompat-enabled.')
+ args = parser.parse_args(argv)
+
+ sdk_jars = build_utils.ParseGnList(args.sdk_classpath_jars)
+ assert len(sdk_jars) > 0
+
+ direct_jars = build_utils.ParseGnList(args.direct_classpath_jars)
+ assert len(direct_jars) > 0
+
+ extra_classpath_jars = []
+ for a in args.extra_jars:
+ extra_classpath_jars.extend(build_utils.ParseGnList(a))
+
+ split_compat_class_names = build_utils.ParseGnList(
+ args.split_compat_class_names)
+
+ if args.verbose:
+ verbose = '--verbose'
+ else:
+ verbose = '--not-verbose'
+
+ cmd = ([
+ args.script, args.input_jar, args.output_jar, verbose, args.is_prebuilt,
+ args.enable_assert, args.enable_custom_resources,
+ args.enable_thread_annotations, args.enable_check_class_path,
+ str(len(sdk_jars))
+ ] + sdk_jars + [str(len(direct_jars))] + direct_jars + [
+ str(len(split_compat_class_names))
+ ] + split_compat_class_names + extra_classpath_jars)
+ subprocess.check_call(cmd)
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))