From: Hans-Christoph Steiner Date: Tue, 30 Jan 2018 22:07:16 +0000 (+0100) Subject: import: get build dir from settings.gradle X-Git-Tag: 1.0.1~15^2~1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=559adb207b2473cc438e887ce1037a16e30476c6;p=fdroidserver.git import: get build dir from settings.gradle Most projects set a single build dir in settings.gradle, so its worth trying here. --- 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