diff --git a/fdroidserver/scanner.py b/fdroidserver/scanner.py index 3fed8bc3..dc34d494 100644 --- a/fdroidserver/scanner.py +++ b/fdroidserver/scanner.py @@ -21,6 +21,7 @@ import re import traceback from argparse import ArgumentParser import logging +import itertools from . import _ from . import common @@ -33,24 +34,19 @@ options = None def get_gradle_compile_commands(build): compileCommands = ['compile', - 'provided' - 'apk' - 'implementation' - 'api' - 'compileOnly' - 'runtimeOnly', - 'releaseCompile' - 'releaseProvided' - 'releaseApk' - 'releaseImplementation' - 'releaseApi' - 'releaseCompileOnly' - 'releaseRuntimeOnly'] + 'provided', + 'apk', + 'implementation', + 'api', + 'compileOnly', + 'runtimeOnly'] + buildTypes = ['', 'release'] + flavors = [''] if build.gradle and build.gradle != ['yes']: - compileCommands += [flavor + 'Compile' for flavor in build.gradle] - compileCommands += [flavor + 'ReleaseCompile' for flavor in build.gradle] + flavors += build.gradle - return [re.compile(r'\s*' + c, re.IGNORECASE) for c in compileCommands] + commands = [''.join(c) for c in itertools.product(flavors, buildTypes, compileCommands)] + return [re.compile(r'\s*' + c, re.IGNORECASE) for c in commands] def scan_source(build_dir, build=metadata.Build()):