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