1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-13 02:30:11 +01:00

Merge branch 'master' of gitorious.org:f-droid/fdroidserver

This commit is contained in:
Ciaran Gultnieks 2013-11-15 09:47:32 +00:00
commit 887e754170
3 changed files with 41 additions and 33 deletions

View File

@ -345,7 +345,8 @@ def main():
elif mode == 'RepoManifest':
(version, vercode) = check_repomanifest(app)
elif mode.startswith('RepoManifest/'):
(version, vercode) = check_repomanifest(app, mode[13:])
tag = mode[13:]
(version, vercode) = check_repomanifest(app, tag)
elif mode == 'RepoTrunk':
(version, vercode) = check_repotrunk(app)
elif mode == 'HTTP':

View File

@ -1355,6 +1355,8 @@ def getsrclib(spec, srclib_dir, basepath=False, raw=False, prepare=True, preponl
raise BuildException("Failed to update srclib project {0}"
.format(name), p.stdout, p.stderr)
remove_signing_keys(libdir)
if basepath:
return sdir
return libdir
@ -1457,18 +1459,7 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
raise BuildException("Failed to update project at %s" % d,
p.stdout, p.stderr)
# If the app has ant set up to sign the release, we need to switch
# that off, because we want the unsigned apk...
for propfile in ('build.properties', 'default.properties', 'ant.properties'):
if os.path.exists(os.path.join(root_dir, propfile)):
if subprocess.call(['sed','-i','s/^key.store/#/',
propfile], cwd=root_dir) !=0:
raise BuildException("Failed to amend %s" % propfile)
for root, dirs, files in os.walk(build_dir):
for f in files:
if f == 'build.gradle':
clean_gradle_keys(os.path.join(root, f))
break
remove_signing_keys(build_dir)
# Update the local.properties file...
localprops = [ os.path.join(build_dir, 'local.properties') ]
@ -1941,26 +1932,42 @@ def FDroidPopen(commands, cwd=None):
result.returncode = p.returncode
return result
def clean_gradle_keys(path):
if options.verbose:
print "Cleaning build.gradle of keysigning configs at %s" % path
def remove_signing_keys(build_dir):
for root, dirs, files in os.walk(build_dir):
if 'build.gradle' in files:
path = os.path.join(root, 'build.gradle')
lines = None
with open(path, "r") as o:
lines = o.readlines()
opened = 0
with open(path, "w") as o:
for line in lines:
if 'signingConfigs ' in line:
opened = 1
elif opened > 0:
if '{' in line:
opened += 1
elif '}' in line:
opened -=1
elif not any(s in line for s in (' signingConfig ',)):
o.write(line)
if options.verbose:
print "Cleaning build.gradle of keysigning configs at %s" % path
with open(path, "r") as o:
lines = o.readlines()
opened = 0
with open(path, "w") as o:
for line in lines:
if 'signingConfigs ' in line:
opened = 1
elif opened > 0:
if '{' in line:
opened += 1
elif '}' in line:
opened -=1
elif not any(s in line for s in (
' signingConfig ',
'android.signingConfigs.',
'variant.outputFile = ')):
o.write(line)
for propfile in ('build.properties', 'default.properties', 'ant.properties'):
if propfile in files:
if options.verbose:
print "Cleaning %s of keysigning configs at %s" % (propfile,path)
path = os.path.join(root, propfile)
with open(path, "w") as o:
for line in lines:
if not line.startswith('key.store'):
o.write(line)
def replace_config_vars(cmd):
cmd = cmd.replace('$$SDK$$', config['sdk_path'])

View File

@ -220,7 +220,7 @@ def main():
src_dir = os.path.join(tmp_dir, 'importer')
if os.path.exists(src_dir):
shutil.rmtree(src_dir)
vcs = common.getvcs(repotype, repo, src_dir, config['sdk_path'])
vcs = common.getvcs(repotype, repo, src_dir)
vcs.gotorevision(options.rev)
if options.subdir:
root_dir = os.path.join(src_dir, options.subdir)