diff options
Diffstat (limited to 'third_party/libwebrtc/build/android/gyp/ijar.py')
-rwxr-xr-x | third_party/libwebrtc/build/android/gyp/ijar.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/android/gyp/ijar.py b/third_party/libwebrtc/build/android/gyp/ijar.py new file mode 100755 index 0000000000..45413f62fd --- /dev/null +++ b/third_party/libwebrtc/build/android/gyp/ijar.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# +# Copyright 2018 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. + +import argparse +import os +import subprocess +import sys + +from util import build_utils + + +# python -c "import zipfile; zipfile.ZipFile('test.jar', 'w')" +# du -b test.jar +_EMPTY_JAR_SIZE = 22 + + +def main(): + # The point of this wrapper is to use AtomicOutput so that output timestamps + # are not updated when outputs are unchanged. + ijar_bin, in_jar, out_jar = sys.argv[1:] + with build_utils.AtomicOutput(out_jar) as f: + # ijar fails on empty jars: https://github.com/bazelbuild/bazel/issues/10162 + if os.path.getsize(in_jar) <= _EMPTY_JAR_SIZE: + with open(in_jar, 'rb') as in_f: + f.write(in_f.read()) + else: + build_utils.CheckOutput([ijar_bin, in_jar, f.name]) + + +if __name__ == '__main__': + main() |