#!/usr/bin/env python3 # # Copyright 2013 The Flutter Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """ Invokes //gradle for building the Android apps from GN/Ninja. """ import os import sys import subprocess import platform SCRIPT_PATH = os.path.dirname(os.path.realpath(__file__)) BAT = '.bat' if sys.platform.startswith(('cygwin', 'win')) else '' GRADLE_BIN = os.path.normpath( os.path.join(SCRIPT_PATH, '..', '..', 'third_party', 'gradle', 'bin', 'gradle%s' % BAT) ) ANDROID_HOME = os.path.normpath( os.path.join(SCRIPT_PATH, '..', '..', 'third_party', 'android_tools', 'sdk') ) if platform.system() == 'Darwin': JAVA_HOME = os.path.normpath( os.path.join(SCRIPT_PATH, '..', '..', 'third_party', 'java', 'openjdk', 'Contents', 'Home') ) else: JAVA_HOME = os.path.normpath( os.path.join(SCRIPT_PATH, '..', '..', 'third_party', 'java', 'openjdk') ) def main(): if not os.path.isdir(ANDROID_HOME): raise Exception('%s (ANDROID_HOME) is not a directory' % ANDROID_HOME) android_dir = sys.argv[1] subprocess.check_output( args=[GRADLE_BIN] + sys.argv[2:], cwd=android_dir, env=dict(os.environ, ANDROID_HOME=ANDROID_HOME, JAVA_HOME=JAVA_HOME), ) return 0 if __name__ == '__main__': sys.exit(main())