From: Daniel Martí Date: Thu, 5 May 2016 12:35:17 +0000 (+0100) Subject: lint: Add check for missing and unused extlibs X-Git-Tag: 0.7.0~60^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=3aeea6fc90ee299e0790b3bab29b8fa5ed478018;p=fdroidserver.git lint: Add check for missing and unused extlibs --- diff --git a/fdroidserver/lint.py b/fdroidserver/lint.py index daa1f1a5..426f7cd0 100644 --- a/fdroidserver/lint.py +++ b/fdroidserver/lint.py @@ -339,6 +339,34 @@ def check_format(app): yield "Run rewritemeta to fix formatting" +def check_extlib_dir(apps): + dir_path = os.path.join('build', 'extlib') + files = set() + for root, dirs, names in os.walk(dir_path): + for name in names: + files.add(os.path.join(root, name)[len(dir_path) + 1:]) + + used = set() + for app in apps: + for build in app.builds: + for path in build.extlibs: + if path not in files: + yield "%s: Unknown extlib %s in build '%s'" % (app.id, path, build.version) + else: + used.add(path) + + for path in files.difference(used): + if any(path.endswith(s) for s in [ + '.gitignore', + 'source.txt', 'origin.txt', 'md5.txt', + 'LICENSE', 'LICENSE.txt', + 'COPYING', 'COPYING.txt', + 'NOTICE', 'NOTICE.txt', + ]): + continue + yield "Unused extlib at %s" % os.path.join(dir_path, path) + + def main(): global config, options @@ -359,6 +387,14 @@ def main(): anywarns = False + apps_check_funcs = [ + check_extlib_dir, + ] + for check_func in apps_check_funcs: + for warn in check_func(apps.values()): + anywarns = True + print(warn) + for appid, app in apps.items(): if app.Disabled: continue