1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-09-19 19:40:17 +02:00

Fix some crashes with clean/build procedures

This commit is contained in:
Daniel Martí 2013-10-11 17:14:42 +02:00
parent 603aa34114
commit 1b291a58d7

View File

@ -371,31 +371,31 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
p = subprocess.Popen(cmd, cwd=gradle_dir, p = subprocess.Popen(cmd, cwd=gradle_dir,
stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
else: elif thisbuild.get('update', '.') != 'no':
print "Cleaning Ant project..." print "Cleaning Ant project..."
cmd = ['ant', 'clean'] cmd = ['ant', 'clean']
p = subprocess.Popen(cmd, cwd=root_dir, p = subprocess.Popen(cmd, cwd=root_dir,
stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
for line in iter(p.stdout.readline, ''): if p is not None:
if verbose: for line in iter(p.stdout.readline, ''):
# Output directly to console if verbose:
sys.stdout.write(line) # Output directly to console
sys.stdout.flush() sys.stdout.write(line)
else: sys.stdout.flush()
output += line else:
for line in iter(p.stderr.readline, ''): output += line
if verbose: for line in iter(p.stderr.readline, ''):
# Output directly to console if verbose:
sys.stdout.write(line) # Output directly to console
sys.stdout.flush() sys.stdout.write(line)
else: sys.stdout.flush()
error += line else:
error += line
p.communicate() p.communicate()
if p.returncode != 0: if p.returncode != 0:
raise BuildException("Error cleaning %s:%s" % raise BuildException("Error cleaning %s:%s" %
(app['id'], thisbuild['version']), output, error) (app['id'], thisbuild['version']), output, error)
# Also clean jni # Also clean jni
print "Cleaning jni dirs..." print "Cleaning jni dirs..."
@ -435,7 +435,7 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
output = '' output = ''
error = '' error = ''
if 'build' in thisbuild: if 'build' in thisbuild:
build = thisbuild['build'] cmd = thisbuild['build']
# Substitute source library paths into commands... # Substitute source library paths into commands...
for name, libpath in srclibpaths: for name, libpath in srclibpaths:
libpath = os.path.relpath(libpath, root_dir) libpath = os.path.relpath(libpath, root_dir)
@ -446,7 +446,7 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
if verbose: if verbose:
print "Running 'build' commands in %s" % root_dir print "Running 'build' commands in %s" % root_dir
p = subprocess.Popen(['bash', '-x', '-c', build], cwd=root_dir, p = subprocess.Popen(['bash', '-x', '-c', cmd], cwd=root_dir,
stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
for line in iter(p.stdout.readline, ''): for line in iter(p.stdout.readline, ''):
if verbose: if verbose: