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

This commit is contained in:
Ciaran Gultnieks 2014-01-16 10:18:10 +00:00
commit 66e540772f
4 changed files with 25 additions and 18 deletions

View file

@ -603,7 +603,8 @@ want an app to act as multiple apps.
@cindex Web Site @cindex Web Site
The URL for the application's web site. The URL for the application's web site. If there is no relevant web site, this
can be omitted (or left blank).
This is converted to (@code{<web>}) in the public index file. This is converted to (@code{<web>}) in the public index file.

View file

@ -405,6 +405,7 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
p = FDroidPopen(cmd, cwd=maven_dir) p = FDroidPopen(cmd, cwd=maven_dir)
elif thisbuild['type'] == 'gradle': elif thisbuild['type'] == 'gradle':
print "Cleaning Gradle project..." print "Cleaning Gradle project..."
cmd = [config['gradle'], 'clean'] cmd = [config['gradle'], 'clean']
@ -414,6 +415,10 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
else: else:
gradle_dir = root_dir gradle_dir = root_dir
adapt_gradle(gradle_dir)
for name, number, libpath in srclibpaths:
adapt_gradle(libpath)
p = FDroidPopen(cmd, cwd=gradle_dir) p = FDroidPopen(cmd, cwd=gradle_dir)
elif thisbuild['type'] == 'kivy': elif thisbuild['type'] == 'kivy':
@ -582,11 +587,11 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
elif thisbuild['type'] == 'gradle': elif thisbuild['type'] == 'gradle':
print "Building Gradle project..." print "Building Gradle project..."
if '@' in thisbuild['gradle']: if '@' in thisbuild['gradle']:
flavour = thisbuild['gradle'].split('@')[0] flavours = thisbuild['gradle'].split('@')[0].split(',')
gradle_dir = thisbuild['gradle'].split('@')[1] gradle_dir = thisbuild['gradle'].split('@')[1]
gradle_dir = os.path.join(root_dir, gradle_dir) gradle_dir = os.path.join(root_dir, gradle_dir)
else: else:
flavour = thisbuild['gradle'] flavours = thisbuild['gradle'].split(',')
gradle_dir = root_dir gradle_dir = root_dir
@ -600,19 +605,14 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
's@compileSdkVersion[ ]*[0-9]*@compileSdkVersion '+level+'@g', 's@compileSdkVersion[ ]*[0-9]*@compileSdkVersion '+level+'@g',
'build.gradle'], cwd=gradle_dir) 'build.gradle'], cwd=gradle_dir)
adapt_gradle(gradle_dir) if len(flavours) == 1 and flavours[0] in ['main', 'yes', '']:
flavours[0] = ''
for name, number, libpath in srclibpaths:
adapt_gradle(libpath)
if flavour in ['main', 'yes', '']:
flavour = ''
commands = [config['gradle']] commands = [config['gradle']]
if 'preassemble' in thisbuild: if 'preassemble' in thisbuild:
for task in thisbuild['preassemble'].split(): for task in thisbuild['preassemble'].split():
commands.append(task) commands.append(task)
commands += ['assemble'+flavour+'Release'] commands += ['assemble'+''.join(flavours)+'Release']
p = FDroidPopen(commands, cwd=gradle_dir) p = FDroidPopen(commands, cwd=gradle_dir)
@ -657,10 +657,10 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
dd = build_dir dd = build_dir
if 'subdir' in thisbuild: if 'subdir' in thisbuild:
dd = os.path.join(dd, thisbuild['subdir']) dd = os.path.join(dd, thisbuild['subdir'])
if flavour in ['main', 'yes', '']: if len(flavours) == 1 and flavours[0] == '':
name = '-'.join([os.path.basename(dd), 'release', 'unsigned']) name = '-'.join([os.path.basename(dd), 'release', 'unsigned'])
else: else:
name = '-'.join([os.path.basename(dd), flavour, 'release', 'unsigned']) name = '-'.join([os.path.basename(dd), '-'.join(flavours), 'release', 'unsigned'])
src = os.path.join(dd, 'build', 'apk', name+'.apk') src = os.path.join(dd, 'build', 'apk', name+'.apk')
else: else:
stdout_apk = '\n'.join([ stdout_apk = '\n'.join([

View file

@ -1440,6 +1440,10 @@ def FDroidPopen(commands, cwd=None):
return result return result
def remove_signing_keys(build_dir): def remove_signing_keys(build_dir):
comment = re.compile(r'[ ]*//')
signing_configs = re.compile(r'[\t ]*signingConfigs[ \t]*{[ \t]*$')
r_open = re.compile(r'.*{[\t ]*$')
r_close = re.compile(r'.*}[\t ]*$')
for root, dirs, files in os.walk(build_dir): for root, dirs, files in os.walk(build_dir):
if 'build.gradle' in files: if 'build.gradle' in files:
path = os.path.join(root, 'build.gradle') path = os.path.join(root, 'build.gradle')
@ -1451,13 +1455,15 @@ def remove_signing_keys(build_dir):
opened = 0 opened = 0
with open(path, "w") as o: with open(path, "w") as o:
for line in lines: for line in lines:
if 'signingConfigs ' in line: if comment.match(line):
pass
elif signing_configs.match(line):
opened = 1 opened = 1
changed = True changed = True
elif opened > 0: elif opened > 0:
if '{' in line: if r_open.match(line):
opened += 1 opened += 1
elif '}' in line: elif r_close.match(line):
opened -= 1 opened -= 1
elif any(s in line for s in ( elif any(s in line for s in (
' signingConfig ', ' signingConfig ',

View file

@ -10,7 +10,7 @@ setup(name='FDroidServer',
author_email='team@f-droid.org', author_email='team@f-droid.org',
url='https://f-droid.org', url='https://f-droid.org',
packages=['fdroidserver'], packages=['fdroidserver'],
scripts=['fdroid'], scripts=['fdroid', 'fd-commit'],
data_files=[ data_files=[
('share/doc/fdroidserver/examples', ('share/doc/fdroidserver/examples',
[ 'config.buildserver.py', [ 'config.buildserver.py',