1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*6777b538SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors 3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 5*6777b538SAndroid Build Coastguard Worker 6*6777b538SAndroid Build Coastguard Worker"""Simple wrapper around the bundletool tool. 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard WorkerBundletool is distributed as a versioned jar file. This script abstracts the 9*6777b538SAndroid Build Coastguard Workerlocation and version of this jar file, as well as the JVM invokation.""" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker# Warning: Check if still being run as python2: https://crbug.com/1322618 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Workerimport logging 14*6777b538SAndroid Build Coastguard Workerimport os 15*6777b538SAndroid Build Coastguard Workerimport sys 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Workerfrom util import build_utils 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker# Assume this is stored under build/android/gyp/ 20*6777b538SAndroid Build Coastguard WorkerBUNDLETOOL_DIR = os.path.abspath(os.path.join( 21*6777b538SAndroid Build Coastguard Worker __file__, '..', '..', '..', '..', 'third_party', 'android_build_tools', 22*6777b538SAndroid Build Coastguard Worker 'bundletool')) 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard WorkerBUNDLETOOL_JAR_PATH = os.path.join(BUNDLETOOL_DIR, 'bundletool.jar') 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Workerdef RunBundleTool(args, print_stdout=False): 28*6777b538SAndroid Build Coastguard Worker # ASAN builds failed with the default of 1GB (crbug.com/1120202). 29*6777b538SAndroid Build Coastguard Worker # Bug for bundletool: https://issuetracker.google.com/issues/165911616 30*6777b538SAndroid Build Coastguard Worker cmd = build_utils.JavaCmd(xmx='4G') 31*6777b538SAndroid Build Coastguard Worker cmd += ['-jar', BUNDLETOOL_JAR_PATH] 32*6777b538SAndroid Build Coastguard Worker cmd += args 33*6777b538SAndroid Build Coastguard Worker logging.debug(' '.join(cmd)) 34*6777b538SAndroid Build Coastguard Worker return build_utils.CheckOutput( 35*6777b538SAndroid Build Coastguard Worker cmd, 36*6777b538SAndroid Build Coastguard Worker print_stdout=print_stdout, 37*6777b538SAndroid Build Coastguard Worker print_stderr=True, 38*6777b538SAndroid Build Coastguard Worker fail_on_output=False, 39*6777b538SAndroid Build Coastguard Worker stderr_filter=build_utils.FilterReflectiveAccessJavaWarnings) 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Worker 42*6777b538SAndroid Build Coastguard Workerif __name__ == '__main__': 43*6777b538SAndroid Build Coastguard Worker RunBundleTool(sys.argv[1:], print_stdout=True) 44