From 6752665db79d526b88b47ef618f5e5be8e84f7fc Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Fri, 31 May 2013 07:49:39 +0100 Subject: [PATCH] Log srclib errors during build to wiki and continue --- fdroidserver/build.py | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 452ddf67..f6efa6d7 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -652,30 +652,38 @@ def main(): m = max([i['vercode'] for i in app['builds']], key=int) app['builds'] = [b for b in app['builds'] if b['vercode'] == m] + if options.wiki: + import mwclient + site = mwclient.Site(wiki_server, path=wiki_path) + site.login(wiki_user, wiki_password) + # Build applications... failed_apps = {} build_succeeded = [] for app in apps: - if app['Repo Type'] == 'srclib': - build_dir = os.path.join('build', 'srclib') - else: - build_dir = os.path.join('build', app['id']) - - # Set up vcs interface and make sure we have the latest code... - vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path) - - if app['Repo Type'] == 'srclib': - build_dir = os.path.join(build_dir, app['Repo']) - - if options.wiki: - import mwclient - site = mwclient.Site(wiki_server, path=wiki_path) - site.login(wiki_user, wiki_password) + first = True for thisbuild in app['builds']: wikilog = None try: + + # For the first build of a particular app, we need to set up + # the source repo. We can reuse it on subsequent builds, if + # there are any. + if first: + if app['Repo Type'] == 'srclib': + build_dir = os.path.join('build', 'srclib') + else: + build_dir = os.path.join('build', app['id']) + + # Set up vcs interface and make sure we have the latest code... + vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir, sdk_path) + + if app['Repo Type'] == 'srclib': + build_dir = os.path.join(build_dir, app['Repo']) + first = False + if trybuild(app, thisbuild, build_dir, output_dir, also_check_dir, srclib_dir, extlib_dir, tmp_dir, repo_dir, vcs, options.test, options.server, options.install, options.force, -- 2.30.2