From 64938d91045fe5b073a9d4578fb01f16088ac088 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 30 Jan 2018 23:06:24 +0100 Subject: [PATCH 1/3] import: switch to .yml as default metadata format --- fdroidserver/import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fdroidserver/import.py b/fdroidserver/import.py index f07c3c4a..c9526f34 100644 --- a/fdroidserver/import.py +++ b/fdroidserver/import.py @@ -304,7 +304,7 @@ def main(): with open('build/.fdroidvcs-' + package, 'w') as f: f.write(app.RepoType + ' ' + app.Repo) - metadatapath = os.path.join('metadata', package + '.txt') + metadatapath = os.path.join('metadata', package + '.yml') metadata.write_metadata(metadatapath, app) logging.info("Wrote " + metadatapath) From 559adb207b2473cc438e887ce1037a16e30476c6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 30 Jan 2018 23:07:16 +0100 Subject: [PATCH 2/3] 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 From a40b79eb9de7df126e237a5a6314b9a97b979eab Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 31 Jan 2018 09:59:06 +0100 Subject: [PATCH 3/3] import: fix crash when importing from local git repo --- fdroidserver/import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fdroidserver/import.py b/fdroidserver/import.py index 550e7469..77f4db95 100644 --- a/fdroidserver/import.py +++ b/fdroidserver/import.py @@ -231,7 +231,7 @@ def main(): app.AutoName = os.path.basename(os.getcwd()) app.RepoType = 'git' - build = {} + build = metadata.Build() root_dir = get_subdir(os.getcwd()) if os.path.exists('build.gradle'): build.gradle = ['yes']