From b5ae1f2c859025ee3a4c94a3fd3fdce570405b11 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Thu, 22 Aug 2013 18:28:30 +0200 Subject: [PATCH] Adapt all build.gradle files to be found. Add preassemble= --- fdroidserver/build.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index e0428316..467f6fc6 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -325,6 +325,16 @@ def build_server(app, thisbuild, vcs, build_dir, output_dir, sdk_path, force): print "Suspending build server" subprocess.call(['vagrant', 'suspend'], cwd='builder') +def adapt_gradle(path, verbose): + if verbose: + print "Adapting build.gradle at %s" % path + + subprocess.call(['sed', '-i', + 's@buildToolsVersion[ ]*["\\\'][0-9\.]*["\\\']@buildToolsVersion "'+build_tools+'"@g', path]) + + subprocess.call(['sed', '-i', + 's@com.android.tools.build:gradle:[0-9\.\+]*@com.android.tools.build:gradle:'+gradle_plugin+'@g', path]) + def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_dir, tmp_dir, install, force, verbose, onserver): """Do a build locally.""" @@ -426,21 +436,27 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d 's@compileSdkVersion[ ]*[0-9]*@compileSdkVersion '+level+'@g', 'build.gradle'], cwd=root_dir) - subprocess.call(['sed', '-i', - 's@buildToolsVersion[ ]*["\'][0-9\.]*["\']@buildToolsVersion "'+build_tools+'"@g', - 'build.gradle'], cwd=root_dir) - - subprocess.call(['sed', '-i', - 's@com.android.tools.build:gradle:[0-9\.\+]*@com.android.tools.build:gradle:'+gradle_plugin+'@g', - 'build.gradle'], cwd=root_dir) + for root, dirs, files in os.walk(root_dir): + root = os.path.relpath(root, root_dir) + for f in files: + if f == 'build.gradle': + adapt_gradle(os.path.join(root_dir, root, f), verbose) + continue if flavour in ['main', 'yes', '']: flavour = '' + commands = [gradle] + if 'preassemble' in thisbuild: + for task in thisbuild['preassemble'].split(): + commands.append(task) if install: - commands = [gradle, 'assemble'+flavour+'Debug', 'install'+flavour+'Debug'] + commands += ['assemble'+flavour+'Debug', 'install'+flavour+'Debug'] else: - commands = [gradle, 'assemble'+flavour+'Release'] + commands += ['assemble'+flavour+'Release'] + + if verbose: + print "Running %s on %s" % (" ".join(commands), root_dir) p = subprocess.Popen(commands, cwd=root_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) else: -- 2.30.2