import json
from ConfigParser import ConfigParser
from argparse import ArgumentParser
-from distutils.version import LooseVersion
import logging
import common
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'),
+ ]:
+ 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:
+ src = apks[0]
+ 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])
import socket
import xml.etree.ElementTree as XMLElementTree
-from distutils.version import LooseVersion
from zipfile import ZipFile
import metadata
if build.method() == 'gradle':
flavours = build.gradle
- gradlepluginver = None
-
- gradle_dirs = [root_dir]
-
- # Parent dir build.gradle
- parent_dir = os.path.normpath(os.path.join(root_dir, '..'))
- if parent_dir.startswith(build_dir):
- gradle_dirs.append(parent_dir)
-
- for dir_path in gradle_dirs:
- if gradlepluginver:
- break
- if not os.path.isdir(dir_path):
- continue
- for filename in os.listdir(dir_path):
- if not filename.endswith('.gradle'):
- continue
- path = os.path.join(dir_path, filename)
- if not os.path.isfile(path):
- continue
- for line in file(path):
- match = gradle_version_regex.match(line)
- if match:
- gradlepluginver = match.group(1)
- break
-
- if gradlepluginver:
- build.gradlepluginver = LooseVersion(gradlepluginver)
- else:
- logging.warn("Could not fetch the gradle plugin version, defaulting to 0.11")
- build.gradlepluginver = LooseVersion('0.11')
-
if build.target:
n = build.target.split('-')[1]
regsub_file(r'compileSdkVersion[ =]+[0-9]+',