diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 79df3013..b63e0eca 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -1052,8 +1052,10 @@ def main(): # Build applications... failed_builds = [] build_succeeded = [] + build_succeeded_ids = [] status_output['failedBuilds'] = failed_builds status_output['successfulBuilds'] = build_succeeded + status_output['successfulBuildIds'] = build_succeeded_ids # Only build for 72 hours, then stop gracefully. endtime = time.time() + 72 * 60 * 60 max_build_time_reached = False @@ -1167,6 +1169,7 @@ def main(): 'successfully') build_succeeded.append(app) + build_succeeded_ids.append([app['id'], build.versionCode]) wikilog = "Build succeeded" except VCSException as vcse: diff --git a/fdroidserver/scanner.py b/fdroidserver/scanner.py index 239e82b4..436abf1e 100644 --- a/fdroidserver/scanner.py +++ b/fdroidserver/scanner.py @@ -103,12 +103,20 @@ def get_gradle_compile_commands(build): def scan_binary(apkfile): - logging.info("Scanning APK for known non-free classes.") + """Scan output of apkanalyzer for known non-free classes + + apkanalyzer produces useful output when it can run, but it does + not support all recent JDK versions, and also some DEX versions, + so this cannot count on it to always produce useful output or even + to run without exiting with an error. + + """ + + logging.info(_('Scanning APK with apkanalyzer for known non-free classes.')) result = common.SdkToolsPopen(["apkanalyzer", "dex", "packages", "--defined-only", apkfile], output=False) - problems = 0 if result.returncode != 0: - problems += 1 - logging.error(result.output) + logging.warning(_('scanner not cleanly run apkanalyzer: %s') % result.output) + problems = 0 for suspect, regexp in CODE_SIGNATURES.items(): matches = regexp.findall(result.output) if matches: diff --git a/makebuildserver b/makebuildserver index 3e34494b..7147fb1e 100755 --- a/makebuildserver +++ b/makebuildserver @@ -569,6 +569,8 @@ def main(): for d in ('.m2', '.gradle/caches', '.gradle/wrapper', '.pip_download_cache'): fullpath = os.path.join(os.getenv('HOME'), d) + os.system('date') + print('rsyncing', fullpath, 'into VM') if os.path.isdir(fullpath): ssh_command = ' '.join(('ssh -i {0} -p {1}'.format(key, port), '-o StrictHostKeyChecking=no',