mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
gradle: Completely get rid of gradlepluginver
We can support multiple output dirs without having to detect/infer the plugin version. Much simpler and more robust too.
This commit is contained in:
parent
138618937f
commit
5b8d593275
@ -30,7 +30,6 @@ import time
|
|||||||
import json
|
import json
|
||||||
from ConfigParser import ConfigParser
|
from ConfigParser import ConfigParser
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
from distutils.version import LooseVersion
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import common
|
import common
|
||||||
@ -785,19 +784,23 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||||||
bconfig.get('app', 'title'),
|
bconfig.get('app', 'title'),
|
||||||
bconfig.get('app', 'version')))
|
bconfig.get('app', 'version')))
|
||||||
elif method == 'gradle':
|
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 build.gradlepluginver >= LooseVersion('0.11'):
|
if len(apks) > 1:
|
||||||
apks_dir = os.path.join(root_dir, 'build', 'outputs', 'apk')
|
raise BuildException('More than one resulting apks found in %s' % apks_dir,
|
||||||
else:
|
'\n'.join(apks))
|
||||||
apks_dir = os.path.join(root_dir, 'build', 'apk')
|
if len(apks) == 1:
|
||||||
|
src = apks[0]
|
||||||
|
break
|
||||||
|
|
||||||
|
if src is None:
|
||||||
|
raise BuildException('Failed to find any output apks')
|
||||||
|
|
||||||
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':
|
elif method == 'ant':
|
||||||
stdout_apk = '\n'.join([
|
stdout_apk = '\n'.join([
|
||||||
line for line in p.output.splitlines() if '.apk' in line])
|
line for line in p.output.splitlines() if '.apk' in line])
|
||||||
|
@ -35,7 +35,6 @@ import hashlib
|
|||||||
import socket
|
import socket
|
||||||
import xml.etree.ElementTree as XMLElementTree
|
import xml.etree.ElementTree as XMLElementTree
|
||||||
|
|
||||||
from distutils.version import LooseVersion
|
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
import metadata
|
import metadata
|
||||||
@ -1334,38 +1333,6 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||||||
if build.method() == 'gradle':
|
if build.method() == 'gradle':
|
||||||
flavours = build.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:
|
if build.target:
|
||||||
n = build.target.split('-')[1]
|
n = build.target.split('-')[1]
|
||||||
regsub_file(r'compileSdkVersion[ =]+[0-9]+',
|
regsub_file(r'compileSdkVersion[ =]+[0-9]+',
|
||||||
|
Loading…
Reference in New Issue
Block a user