1f991d06019b2f73c024a64ccd473fe8ab174b62asusnata# BUILDING SupportLeanbackShowcase app using local library.
2f991d06019b2f73c024a64ccd473fe8ab174b62asusnataimport sys
3f991d06019b2f73c024a64ccd473fe8ab174b62asusnataimport subprocess
4f991d06019b2f73c024a64ccd473fe8ab174b62asusnataimport os
5f991d06019b2f73c024a64ccd473fe8ab174b62asusnataimport fileinput
6f991d06019b2f73c024a64ccd473fe8ab174b62asusnataimport re
7f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
8f991d06019b2f73c024a64ccd473fe8ab174b62asusnata# Does an inplace substitution of the pattern with newVal in inputFile
9f991d06019b2f73c024a64ccd473fe8ab174b62asusnatadef replace(inputFile, pattern, newVal, ):
10f991d06019b2f73c024a64ccd473fe8ab174b62asusnata  print 'About to replace repo path to {0} in {1}'.format(newVal, inputFile)
11f991d06019b2f73c024a64ccd473fe8ab174b62asusnata  replaced = False
12fd37090d51db5def7bfa4e6c93cec2395d067b66Dake Gu  if os.path.exists(inputFile):
13f991d06019b2f73c024a64ccd473fe8ab174b62asusnata    for line in fileinput.input(inputFile, inplace = 1):
14f991d06019b2f73c024a64ccd473fe8ab174b62asusnata      if re.match(pattern, line, re.I|re.M):
15f991d06019b2f73c024a64ccd473fe8ab174b62asusnata        line = re.sub(pattern, newVal, line)
16f991d06019b2f73c024a64ccd473fe8ab174b62asusnata        replaced = True
17f991d06019b2f73c024a64ccd473fe8ab174b62asusnata      print line,
18f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
19f991d06019b2f73c024a64ccd473fe8ab174b62asusnata  if not replaced:
20f991d06019b2f73c024a64ccd473fe8ab174b62asusnata    file = open(inputFile, "a")
21f991d06019b2f73c024a64ccd473fe8ab174b62asusnata    file.write(newVal + "\n")
22f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
23f991d06019b2f73c024a64ccd473fe8ab174b62asusnata# Substitute LIBRARY_VERSION/LOCAL_REPO in local.properties
24f991d06019b2f73c024a64ccd473fe8ab174b62asusnata# It will use default values in build.gradle
25f991d06019b2f73c024a64ccd473fe8ab174b62asusnatareplace(os.getcwd()+"/local.properties", r'(.*)LOCAL_REPO(.*)', 'LOCAL_REPO=')
26f991d06019b2f73c024a64ccd473fe8ab174b62asusnatareplace(os.getcwd()+"/local.properties", r'(.*)LIBRARY_VERSION(.*)', 'LIBRARY_VERSION=')
27f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
28f991d06019b2f73c024a64ccd473fe8ab174b62asusnata# Build
29f991d06019b2f73c024a64ccd473fe8ab174b62asusnataprint "Building SupportLeanbackShowcase app..."
30f991d06019b2f73c024a64ccd473fe8ab174b62asusnatasubprocess.call(["./gradlew", "assembleDebug"])
31f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
32f991d06019b2f73c024a64ccd473fe8ab174b62asusnata#Install apk
33f991d06019b2f73c024a64ccd473fe8ab174b62asusnataprint "Installing SupportLeanbackShowcase..."
34f991d06019b2f73c024a64ccd473fe8ab174b62asusnatasubprocess.call(["adb", "install", "-r", "./app/build/outputs/apk/app-debug.apk"])
35f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
36f991d06019b2f73c024a64ccd473fe8ab174b62asusnataprint "Finished installing SupportLeanbackShowcase app."
37f991d06019b2f73c024a64ccd473fe8ab174b62asusnata
38