From 7beb9834a33bae543e24f7ddf004b2de69719542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 26 Jan 2014 21:50:56 +0100 Subject: [PATCH] List future problems that a build will run into, like missing software --- fdroidserver/build.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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.