chiark / gitweb /
gradle: stop trying to patch outputFile
[fdroidserver.git] / fdroidserver / build.py
index 44d48bba93e3888e4bfa2617070830b1168dbb7c..7ad765b472431ae9b346abceaae30d3c09cab95a 100644 (file)
@@ -30,7 +30,6 @@ import time
 import json
 from ConfigParser import ConfigParser
 from argparse import ArgumentParser
-from distutils.version import LooseVersion
 import logging
 
 import common
@@ -736,11 +735,6 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
     elif method == 'gradle':
         logging.info("Building Gradle project...")
 
-        # Avoid having to use lintOptions.abortOnError false
-        if build.gradlepluginver >= LooseVersion('0.7'):
-            with open(os.path.join(root_dir, 'build.gradle'), "a") as f:
-                f.write("\nandroid { lintOptions { checkReleaseBuilds false } }\n")
-
         cmd = [config['gradle']]
         if build.gradleprops:
             cmd += ['-P'+kv for kv in build.gradleprops]
@@ -790,19 +784,26 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
                                bconfig.get('app', 'title'),
                                bconfig.get('app', 'version')))
     elif method == 'gradle':
+        src = None
+        for apks_dir in [
+                os.path.join(root_dir, 'build', 'outputs', 'apk'),
+                os.path.join(root_dir, 'build', 'apk'),
+                ]:
+            for apkglob in ['*-release-unsigned.apk', '*-unsigned.apk', '*.apk']:
+                apks = glob.glob(os.path.join(apks_dir, apkglob))
+
+                if len(apks) > 1:
+                    raise BuildException('More than one resulting apks found in %s' % apks_dir,
+                                         '\n'.join(apks))
+                if len(apks) == 1:
+                    src = apks[0]
+                    break
+            if src is not None:
+                break
+
+        if src is None:
+            raise BuildException('Failed to find any output apks')
 
-        if build.gradlepluginver >= LooseVersion('0.11'):
-            apks_dir = os.path.join(root_dir, 'build', 'outputs', 'apk')
-        else:
-            apks_dir = os.path.join(root_dir, 'build', 'apk')
-
-        apks = glob.glob(os.path.join(apks_dir, '*-release-unsigned.apk'))
-        if len(apks) > 1:
-            raise BuildException('More than one resulting apks found in %s' % apks_dir,
-                                 '\n'.join(apks))
-        if len(apks) < 1:
-            raise BuildException('Failed to find gradle output in %s' % apks_dir)
-        src = apks[0]
     elif method == 'ant':
         stdout_apk = '\n'.join([
             line for line in p.output.splitlines() if '.apk' in line])