summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/android/gyp/jetify_jar.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/android/gyp/jetify_jar.py')
-rwxr-xr-xthird_party/libwebrtc/build/android/gyp/jetify_jar.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/android/gyp/jetify_jar.py b/third_party/libwebrtc/build/android/gyp/jetify_jar.py
new file mode 100755
index 0000000000..e97ad97d99
--- /dev/null
+++ b/third_party/libwebrtc/build/android/gyp/jetify_jar.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python3
+#
+# Copyright 2019 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.
+
+from __future__ import print_function
+
+import argparse
+import os
+import subprocess
+import sys
+
+from util import build_utils
+
+
+def _AddArguments(parser):
+ """Adds arguments related to jetifying to parser.
+
+ Args:
+ parser: ArgumentParser object.
+ """
+ parser.add_argument(
+ '--input-path',
+ required=True,
+ help='Path to input file(s). Either the classes '
+ 'directory, or the path to a jar.')
+ parser.add_argument(
+ '--output-path',
+ required=True,
+ help='Path to output final file(s) to. Either the '
+ 'final classes directory, or the directory in '
+ 'which to place the instrumented/copied jar.')
+ parser.add_argument(
+ '--jetify-path', required=True, help='Path to jetify bin.')
+ parser.add_argument(
+ '--jetify-config-path', required=True, help='Path to jetify config file.')
+
+
+def _RunJetifyCommand(parser):
+ args = parser.parse_args()
+ cmd = [
+ args.jetify_path,
+ '-i',
+ args.input_path,
+ '-o',
+ args.output_path,
+ # Need to suppress a lot of warning output when jar doesn't have
+ # any references rewritten.
+ '-l',
+ 'error'
+ ]
+ if args.jetify_config_path:
+ cmd.extend(['-c', args.jetify_config_path])
+ # Must wait for jetify command to complete to prevent race condition.
+ env = os.environ.copy()
+ env['JAVA_HOME'] = build_utils.JAVA_HOME
+ subprocess.check_call(cmd, env=env)
+
+
+def main():
+ parser = argparse.ArgumentParser()
+ _AddArguments(parser)
+ _RunJetifyCommand(parser)
+
+
+if __name__ == '__main__':
+ sys.exit(main())