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.
app.SourceCode = url + '/src'
app.IssueTracker = url + '/issues'
# Figure out the repo type and adddress...
- repotype, repo = getrepofrompage(app.SourceCode)
+ repotype, repo = getrepofrompage(url)
if not repotype:
raise FDroidException("Unable to determine vcs type. " + repo)
elif url.startswith('https://') and url.endswith('.git'):
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
parser.add_argument("-u", "--url", default=None,
help=_("Project URL to import from."))
parser.add_argument("-s", "--subdir", default=None,
- help=_("Path to main android project subdirectory, if not in root."))
+ help=_("Path to main Android project subdirectory, if not in root."))
parser.add_argument("-c", "--categories", default=None,
help=_("Comma separated list of categories."))
parser.add_argument("-l", "--license", default=None,
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)