From: Daniel Martí Date: Sun, 26 Jan 2014 20:50:56 +0000 (+0100) Subject: List future problems that a build will run into, like missing software X-Git-Tag: 0.2~360 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7beb9834a33bae543e24f7ddf004b2de69719542;p=fdroidserver.git List future problems that a build will run into, like missing software --- diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 97e52c48..cbfb0080 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -29,6 +29,7 @@ import time import json from ConfigParser import ConfigParser from optparse import OptionParser, OptionError +from distutils.spawn import find_executable import common, metadata from common import BuildException, VCSException, FDroidPopen @@ -778,6 +779,31 @@ def trybuild(app, thisbuild, build_dir, output_dir, also_check_dir, srclib_dir, print "Building version " + thisbuild['version'] + ' of ' + app['id'] + if thisbuild['type'] in ('ant', 'maven', 'gradle'): + if not os.path.isdir(config['sdk_path']): + print "SDK is needed but not installed - Aborting" + return False + + if thisbuild.get('buildjni') not in (None, 'no'): + if not os.path.isdir(config['ndk_path']): + print "NDK is needed but not installed - Aborting" + return False + + if thisbuild['type'] == 'ant': + if not find_executable(config['ant']): + print "Ant is needed but not installed - Aborting" + return False + + if thisbuild['type'] == 'maven': + if not find_executable(config['maven']): + print "Maven is needed but not installed - Aborting" + return False + + if thisbuild['type'] == 'gradle': + if not find_executable(config['gradle']): + print "Gradle is needed but not installed - Aborting" + return False + if server: # When using server mode, still keep a local cache of the repo, by # grabbing the source now.