From 559adb207b2473cc438e887ce1037a16e30476c6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 30 Jan 2018 23:07:16 +0100 Subject: [PATCH] import: get build dir from settings.gradle Most projects set a single build dir in settings.gradle, so its worth trying here. --- fdroidserver/import.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fdroidserver/import.py b/fdroidserver/import.py index c9526f34..550e7469 100644 --- a/fdroidserver/import.py +++ b/fdroidserver/import.py @@ -32,6 +32,9 @@ from . import metadata from .exception import FDroidException +SETTINGS_GRADLE = re.compile('''include\s+['"]:([^'"]*)['"]''') + + # Get the repo type and address from the given web page. The page is scanned # in a rather naive manner for 'git clone xxxx', 'hg clone xxxx', etc, and # when one of these is found it's assumed that's the information we want. @@ -180,6 +183,13 @@ def get_subdir(build_dir): if options.subdir: return os.path.join(build_dir, options.subdir) + settings_gradle = os.path.join(build_dir, 'settings.gradle') + if os.path.exists(settings_gradle): + with open(settings_gradle) as fp: + m = SETTINGS_GRADLE.search(fp.read()) + if m: + return os.path.join(build_dir, m.group(1)) + return build_dir -- 2.30.2