chiark / gitweb /
lintVital was added in 0.8, only exclude it then
authorDaniel Martí <mvdan@mvdan.cc>
Thu, 12 Jun 2014 08:00:46 +0000 (10:00 +0200)
committerDaniel Martí <mvdan@mvdan.cc>
Thu, 12 Jun 2014 08:00:46 +0000 (10:00 +0200)
fdroidserver/build.py
fdroidserver/common.py

index 76307f5342ff2df814568e30d0dac07441c615cf..065ea324ebf031e7642441c0dd6abaa77e7f3382 100644 (file)
@@ -29,6 +29,7 @@ import time
 import json
 from ConfigParser import ConfigParser
 from optparse import OptionParser, OptionError
+from distutils.version import LooseVersion
 import logging
 
 import common
@@ -707,7 +708,8 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d
 
         # Avoid having to use lintOptions.abortOnError false
         # TODO: Do flavours or project names change this task name?
-        commands += ['-x', 'lintVitalRelease']
+        if thisbuild['gradlepluginver'] >= LooseVersion('0.8'):
+            commands += ['-x', 'lintVital' + flavours_cmd + 'Release']
 
         p = FDroidPopen(commands, cwd=gradle_dir)
 
index 01da31685f5a2b4c255d464f5e31346bd1442215..fc31a8bd76869a801bcbb8230d7bcb43e3863ee6 100644 (file)
@@ -30,6 +30,7 @@ import Queue
 import threading
 import magic
 import logging
+from distutils.version import LooseVersion
 
 import metadata
 
@@ -1129,6 +1130,27 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
         if flavour in ['main', 'yes', '']:
             flavour = None
 
+        version_regex = re.compile(r".*'com\.android\.tools\.build:gradle:([^\.]+\.[^\.]+).*'.*")
+        gradlepluginver = None
+
+        with open(os.path.join(root_dir, 'build.gradle')) as f:
+            for line in f:
+                match = version_regex.match(line)
+                if match:
+                    gradlepluginver = match.group(1)
+                    break
+        if '@' in build['gradle'] and not gradlepluginver:
+            gradle_dir = os.path.join(root_dir, build['gradle'].split('@', 1)[1])
+            gradle_dir = os.path.normpath(gradle_dir)
+            with open(os.path.join(root_dir, 'build.gradle')) as f:
+                for line in f:
+                    match = version_regex.match(line)
+                    if match:
+                        gradlepluginver = match.group(1)
+                        break
+
+        build['gradlepluginver'] = LooseVersion(gradlepluginver)
+
         if build['target']:
             n = build["target"].split('-')[1]
             FDroidPopen(['sed', '-i',