From: Daniel Martí Date: Thu, 22 Aug 2013 16:28:30 +0000 (+0200) Subject: Adapt all build.gradle files to be found. Add preassemble= X-Git-Tag: 0.1~433 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b5ae1f2c859025ee3a4c94a3fd3fdce570405b11;p=fdroidserver.git Adapt all build.gradle files to be found. Add preassemble= --- 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: