Merge branch 'some-data-related-fixed' into 'master'

support manually adding per-Build Anti-Features in metadata, and other fixes

Closes #322 and #331

See merge request !296
This commit is contained in:
Hans-Christoph Steiner 2017-07-06 11:29:36 +00:00
commit 928633ddba
13 changed files with 382 additions and 30 deletions

View File

@ -28,6 +28,7 @@ metadata_v0:
- "sed -i -e '/AuthorWebSite/d' - "sed -i -e '/AuthorWebSite/d'
-e '/Description: No description available/d' -e '/Description: No description available/d'
-e \"/Description: ''/d\" -e \"/Description: ''/d\"
-e '/antifeatures:/d'
-e '/buildozer:/d' -e '/buildozer:/d'
metadata/dump_*/*.yaml" metadata/dump_*/*.yaml"
- diff -uw metadata/dump_* - diff -uw metadata/dump_*

View File

@ -20,30 +20,13 @@ if [ ! -e $NDK_BASE/r10e ]; then
mv android-ndk-r10e r10e mv android-ndk-r10e r10e
fi fi
if [ ! -e $NDK_BASE/r11c ]; then for f in /vagrant/cache/android-ndk-r[1-9][0-9]*-linux-x86_64.zip; do
unzip /vagrant/cache/android-ndk-r11c-linux-x86_64.zip > /dev/null version=`echo $f |sed 's,.*\(r[1-9][0-9][a-z]\?\).*,\1,'`
mv android-ndk-r11c r11c if [ ! -e ${NDK_BASE}/${version} ]; then
fi unzip /vagrant/cache/android-ndk-${version}-linux-x86_64.zip > /dev/null
mv android-ndk-${version} ${version}
if [ ! -e $NDK_BASE/r12b ]; then fi
unzip /vagrant/cache/android-ndk-r12b-linux-x86_64.zip > /dev/null done
mv android-ndk-r12b r12b
fi
if [ ! -e $NDK_BASE/r13b ]; then
unzip /vagrant/cache/android-ndk-r13b-linux-x86_64.zip > /dev/null
mv android-ndk-r13b r13b
fi
if [ ! -e $NDK_BASE/r14b ]; then
unzip /vagrant/cache/android-ndk-r14b-linux-x86_64.zip > /dev/null
mv android-ndk-r14b r14b
fi
if [ ! -e $NDK_BASE/r15b ]; then
unzip /vagrant/cache/android-ndk-r15b-linux-x86_64.zip > /dev/null
mv android-ndk-r15b r15b
fi
chmod -R a+rX $NDK_BASE/ chmod -R a+rX $NDK_BASE/
find $NDK_BASE/ -type f -executable -print0 | xargs -0 chmod a+x find $NDK_BASE/ -type f -executable -print0 | xargs -0 chmod a+x

View File

@ -299,6 +299,8 @@ def check_bulleted_lists(app):
def check_builds(app): def check_builds(app):
supported_flags = set(metadata.build_flags)
# needed for YAML and JSON
for build in app.builds: for build in app.builds:
if build.disable: if build.disable:
if build.disable.startswith('Generated by import.py'): if build.disable.startswith('Generated by import.py'):
@ -311,6 +313,9 @@ def check_builds(app):
ref = srclib.split('@')[1].split('/')[0] ref = srclib.split('@')[1].split('/')[0]
if ref.startswith(s): if ref.startswith(s):
yield "Branch '%s' used as commit in srclib '%s'" % (s, srclib) yield "Branch '%s' used as commit in srclib '%s'" % (s, srclib)
for key in build.keys():
if key not in supported_flags:
yield key + ' is not an accepted build field'
def check_files_dir(app): def check_files_dir(app):

View File

@ -230,6 +230,7 @@ build_flags_order = [
'gradleprops', 'gradleprops',
'antcommands', 'antcommands',
'novcheck', 'novcheck',
'antifeatures',
] ]
# old .txt format has version name/code inline in the 'Build:' line # old .txt format has version name/code inline in the 'Build:' line
@ -271,6 +272,7 @@ class Build(dict):
self.gradleprops = [] self.gradleprops = []
self.antcommands = [] self.antcommands = []
self.novcheck = False self.novcheck = False
self.antifeatures = []
if copydict: if copydict:
super().__init__(copydict) super().__init__(copydict)
return return
@ -339,6 +341,7 @@ flagtypes = {
'forceversion': TYPE_BOOL, 'forceversion': TYPE_BOOL,
'forcevercode': TYPE_BOOL, 'forcevercode': TYPE_BOOL,
'novcheck': TYPE_BOOL, 'novcheck': TYPE_BOOL,
'antifeatures': TYPE_LIST,
} }

View File

@ -593,6 +593,40 @@ def insert_obbs(repodir, apps, apks):
break break
def translate_per_build_anti_features(apps, apks):
"""Grab the anti-features list from the build metadata
For most Anti-Features, they are really most applicable per-APK,
not for an app. An app can fix a vulnerability, add/remove
tracking, etc. This reads the 'antifeatures' list from the Build
entries in the fdroiddata metadata file, then transforms it into
the 'antiFeatures' list of unique items for the index.
The field key is all lower case in the metadata file to match the
rest of the Build fields. It is 'antiFeatures' camel case in the
implementation, index, and fdroidclient since it is translated
from the build 'antifeatures' field, not directly included.
"""
antiFeatures = dict()
for packageName, app in apps.items():
d = dict()
for build in app['builds']:
afl = build.get('antifeatures')
if afl:
d[int(build.versionCode)] = afl
if len(d) > 0:
antiFeatures[packageName] = d
for apk in apks:
d = antiFeatures.get(apk['packageName'])
if d:
afl = d.get(apk['versionCode'])
if afl:
apk['antiFeatures'].update(afl)
def _get_localized_dict(app, locale): def _get_localized_dict(app, locale):
'''get the dict to add localized store metadata to''' '''get the dict to add localized store metadata to'''
if 'localized' not in app: if 'localized' not in app:
@ -1329,7 +1363,7 @@ def process_apks(apkcache, repodir, knownapks, use_date_from_apk=False):
return apks, cachechanged return apks, cachechanged
def extract_apk_icons(icon_filename, apk, apk_zip, repo_dir): def extract_apk_icons(icon_filename, apk, apkzip, repo_dir):
""" """
Extracts icons from the given APK zip in various densities, Extracts icons from the given APK zip in various densities,
saves them into given repo directory saves them into given repo directory
@ -1338,7 +1372,7 @@ def extract_apk_icons(icon_filename, apk, apk_zip, repo_dir):
:param icon_filename: A string representing the icon's file name :param icon_filename: A string representing the icon's file name
:param apk: A populated dictionary containing APK metadata. :param apk: A populated dictionary containing APK metadata.
Needs to have 'icons_src' key Needs to have 'icons_src' key
:param apk_zip: An opened zipfile.ZipFile of the APK file :param apkzip: An opened zipfile.ZipFile of the APK file
:param repo_dir: The directory of the APK's repository :param repo_dir: The directory of the APK's repository
:return: A list of icon densities that are missing :return: A list of icon densities that are missing
""" """
@ -1352,9 +1386,16 @@ def extract_apk_icons(icon_filename, apk, apk_zip, repo_dir):
icon_dest = os.path.join(icon_dir, icon_filename) icon_dest = os.path.join(icon_dir, icon_filename)
# Extract the icon files per density # Extract the icon files per density
if icon_src.endswith('.xml'):
png = os.path.basename(icon_src)[:-4] + '.png'
for f in apkzip.namelist():
if f.endswith(png):
m = re.match(r'res/drawable-(x*[hlm]dpi).*/', f)
if m and screen_resolutions[m.group(1)] == density:
icon_src = f
try: try:
with open(icon_dest, 'wb') as f: with open(icon_dest, 'wb') as f:
f.write(get_icon_bytes(apk_zip, icon_src)) f.write(get_icon_bytes(apkzip, icon_src))
apk['icons'][density] = icon_filename apk['icons'][density] = icon_filename
except (zipfile.BadZipFile, ValueError, KeyError) as e: except (zipfile.BadZipFile, ValueError, KeyError) as e:
logging.warning("Error retrieving icon file: %s %s", icon_dest, e) logging.warning("Error retrieving icon file: %s %s", icon_dest, e)
@ -1365,7 +1406,7 @@ def extract_apk_icons(icon_filename, apk, apk_zip, repo_dir):
icon_src = apk['icons_src']['-1'] icon_src = apk['icons_src']['-1']
icon_path = os.path.join(get_icon_dir(repo_dir, '0'), icon_filename) icon_path = os.path.join(get_icon_dir(repo_dir, '0'), icon_filename)
with open(icon_path, 'wb') as f: with open(icon_path, 'wb') as f:
f.write(get_icon_bytes(apk_zip, icon_src)) f.write(get_icon_bytes(apkzip, icon_src))
try: try:
im = Image.open(icon_path) im = Image.open(icon_path)
dpi = px_to_dpi(im.size[0]) dpi = px_to_dpi(im.size[0])
@ -1751,6 +1792,7 @@ def main():
copy_triple_t_store_metadata(apps) copy_triple_t_store_metadata(apps)
insert_obbs(repodirs[0], apps, apks) insert_obbs(repodirs[0], apps, apks)
insert_localized_app_metadata(apps) insert_localized_app_metadata(apps)
translate_per_build_anti_features(apps, apks)
# Scan the archive repo for apks as well # Scan the archive repo for apks as well
if len(repodirs) > 1: if len(repodirs) > 1:

View File

@ -104,9 +104,12 @@ echo "build_server_always = True" >> config.py
# publish process when building and signing are on separate machines # publish process when building and signing are on separate machines
test -d repo || mkdir repo test -d repo || mkdir repo
test -d archive || mkdir archive test -d archive || mkdir archive
# copy everything over to run on SIGN machine
../fdroid publish --verbose ../fdroid publish --verbose
../fdroid gpgsign --verbose ../fdroid gpgsign --verbose
# copy everything over to run on BUILD machine
../fdroid update --verbose --nosign ../fdroid update --verbose --nosign
# copy everything over to run on SIGN machine
../fdroid signindex --verbose ../fdroid signindex --verbose
../fdroid rewritemeta --verbose ../fdroid rewritemeta --verbose

View File

@ -43,14 +43,16 @@ class MetadataTest(unittest.TestCase):
fdroidserver.common.config = config fdroidserver.common.config = config
apps = fdroidserver.metadata.read_metadata(xref=True) apps = fdroidserver.metadata.read_metadata(xref=True)
for appid in ('org.smssecure.smssecure', 'org.adaway', 'org.videolan.vlc'): for appid in ('org.smssecure.smssecure', 'org.adaway',
'org.videolan.vlc', 'com.politedroid'):
savepath = os.path.join('metadata', 'dump', appid + '.yaml') savepath = os.path.join('metadata', 'dump', appid + '.yaml')
frommeta = dict(apps[appid]) frommeta = dict(apps[appid])
self.assertTrue(appid in apps) self.assertTrue(appid in apps)
with open(savepath, 'r') as f: with open(savepath, 'r') as f:
frompickle = yaml.load(f) frompickle = yaml.load(f)
self.assertEqual(frommeta, frompickle) self.assertEqual(frommeta, frompickle)
# Uncomment to overwrite # comment above assert and uncomment below to update test
# files when new metadata fields are added
# with open(savepath, 'w') as f: # with open(savepath, 'w') as f:
# yaml.add_representer(fdroidserver.metadata.Build, _build_yaml_representer) # yaml.add_representer(fdroidserver.metadata.Build, _build_yaml_representer)
# yaml.dump(frommeta, f, default_flow_style=False) # yaml.dump(frommeta, f, default_flow_style=False)

View File

@ -16,6 +16,7 @@ Repo:https://github.com/miguelvps/PoliteDroid.git
Build:1.2,3 Build:1.2,3
commit=6a548e4b19 commit=6a548e4b19
target=android-10 target=android-10
antifeatures=KnownVuln,UpstreamNonFree,NonFreeAssets
Build:1.3,4 Build:1.3,4
commit=ad865b57bf3ac59580f38485608a9b1dda4fa7dc commit=ad865b57bf3ac59580f38485608a9b1dda4fa7dc

View File

@ -0,0 +1,178 @@
AntiFeatures: []
ArchivePolicy: 4 versions
AuthorEmail: null
AuthorName: null
AuthorWebSite: null
AutoName: Polite Droid
AutoUpdateMode: Version v%v
Binaries: null
Bitcoin: null
Categories:
- Time
Changelog: ''
CurrentVersion: '1.5'
CurrentVersionCode: '6'
Description: Activates silent mode during calendar events.
Disabled: null
Donate: null
FlattrID: null
IssueTracker: https://github.com/miguelvps/PoliteDroid/issues
License: GPL-3.0
Litecoin: null
MaintainerNotes: ''
Name: null
NoSourceSince: ''
Provides: null
Repo: https://github.com/miguelvps/PoliteDroid.git
RepoType: git
RequiresRoot: false
SourceCode: https://github.com/miguelvps/PoliteDroid
Summary: Calendar tool
UpdateCheckData: null
UpdateCheckIgnore: null
UpdateCheckMode: Tags
UpdateCheckName: null
VercodeOperation: null
WebSite: ''
added: null
builds:
- androidupdate: []
antcommands: []
antifeatures:
- KnownVuln
- UpstreamNonFree
- NonFreeAssets
build: ''
buildjni: []
buildozer: false
commit: 6a548e4b19
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle: []
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: ''
rm: []
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: false
target: android-10
versionCode: '3'
versionName: '1.2'
- androidupdate: []
antcommands: []
antifeatures: []
build: ''
buildjni: []
buildozer: false
commit: ad865b57bf3ac59580f38485608a9b1dda4fa7dc
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle: []
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: ''
rm: []
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: false
target: android-15
versionCode: '4'
versionName: '1.3'
- androidupdate: []
antcommands: []
antifeatures: []
build: ''
buildjni: []
buildozer: false
commit: 456bd615f3fbe6dff06433928cf7ea20073601fb
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle: []
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: ''
rm: []
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: false
target: android-10
versionCode: '5'
versionName: '1.4'
- androidupdate: []
antcommands: []
antifeatures: []
build: ''
buildjni: []
buildozer: false
commit: v1.5
disable: false
encoding: null
extlibs: []
forcevercode: false
forceversion: false
gradle:
- 'yes'
gradleprops: []
init: ''
kivy: false
maven: false
ndk: null
novcheck: false
oldsdkloc: false
output: null
patch: []
preassemble: []
prebuild: ''
rm: []
scandelete: []
scanignore: []
srclibs: []
subdir: null
submodules: false
target: null
versionCode: '6'
versionName: '1.5'
comments: {}
id: com.politedroid
lastUpdated: null
metadatapath: metadata/com.politedroid.txt

View File

@ -61,6 +61,7 @@ added: null
builds: builds:
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -94,6 +95,7 @@ builds:
versionName: '1.12' versionName: '1.12'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -128,6 +130,7 @@ builds:
versionName: '1.15' versionName: '1.15'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -162,6 +165,7 @@ builds:
versionName: '1.18' versionName: '1.18'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -196,6 +200,7 @@ builds:
versionName: '1.19' versionName: '1.19'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -230,6 +235,7 @@ builds:
versionName: '1.20' versionName: '1.20'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -264,6 +270,7 @@ builds:
versionName: '1.21' versionName: '1.21'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -296,6 +303,7 @@ builds:
versionName: '1.23' versionName: '1.23'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -329,6 +337,7 @@ builds:
versionName: '1.24' versionName: '1.24'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -362,6 +371,7 @@ builds:
versionName: '1.25' versionName: '1.25'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -395,6 +405,7 @@ builds:
versionName: '1.26' versionName: '1.26'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -428,6 +439,7 @@ builds:
versionName: '1.27' versionName: '1.27'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -461,6 +473,7 @@ builds:
versionName: '1.29' versionName: '1.29'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -494,6 +507,7 @@ builds:
versionName: '1.32' versionName: '1.32'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -526,6 +540,7 @@ builds:
versionName: '1.33' versionName: '1.33'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -559,6 +574,7 @@ builds:
versionName: '1.34' versionName: '1.34'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -592,6 +608,7 @@ builds:
versionName: '1.35' versionName: '1.35'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -625,6 +642,7 @@ builds:
versionName: '1.36' versionName: '1.36'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -662,6 +680,7 @@ builds:
- android-libs/ActionBarSherlock - android-libs/ActionBarSherlock
- android-libs/HtmlSpanner/htmlspanner - android-libs/HtmlSpanner/htmlspanner
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -707,6 +726,7 @@ builds:
- android-libs/ActionBarSherlock - android-libs/ActionBarSherlock
- android-libs/HtmlSpanner/htmlspanner - android-libs/HtmlSpanner/htmlspanner
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -748,6 +768,7 @@ builds:
versionName: '2.3' versionName: '2.3'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -783,6 +804,7 @@ builds:
versionName: '2.6' versionName: '2.6'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -818,6 +840,7 @@ builds:
versionName: '2.7' versionName: '2.7'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -853,6 +876,7 @@ builds:
versionName: '2.8' versionName: '2.8'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -888,6 +912,7 @@ builds:
versionName: 2.8.1 versionName: 2.8.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -923,6 +948,7 @@ builds:
versionName: '2.9' versionName: '2.9'
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -958,6 +984,7 @@ builds:
versionName: 2.9.1 versionName: 2.9.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'
@ -993,6 +1020,7 @@ builds:
versionName: 2.9.2 versionName: 2.9.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: buildjni:
- 'yes' - 'yes'

View File

@ -58,6 +58,7 @@ added: null
builds: builds:
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -102,6 +103,7 @@ builds:
versionName: 0.3.3 versionName: 0.3.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -138,6 +140,7 @@ builds:
versionName: 0.3.3 versionName: 0.3.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -173,6 +176,7 @@ builds:
versionName: 0.4.2 versionName: 0.4.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -208,6 +212,7 @@ builds:
versionName: 0.5.1 versionName: 0.5.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -242,6 +247,7 @@ builds:
versionName: 0.5.2 versionName: 0.5.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -276,6 +282,7 @@ builds:
versionName: 0.5.3 versionName: 0.5.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -310,6 +317,7 @@ builds:
versionName: 0.5.4 versionName: 0.5.4
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: '' build: ''
buildjni: [] buildjni: []
buildozer: false buildozer: false

View File

@ -63,6 +63,7 @@ builds:
- ../java-libs/SlidingMenu - ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock - ../java-libs/ActionBarSherlock
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -98,6 +99,7 @@ builds:
- ../java-libs/SlidingMenu - ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock - ../java-libs/ActionBarSherlock
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -133,6 +135,7 @@ builds:
- ../java-libs/SlidingMenu - ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock - ../java-libs/ActionBarSherlock
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -168,6 +171,7 @@ builds:
- ../java-libs/SlidingMenu - ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock - ../java-libs/ActionBarSherlock
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -200,6 +204,7 @@ builds:
versionName: 0.0.11-mips versionName: 0.0.11-mips
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -234,6 +239,7 @@ builds:
versionName: 0.1.3-MIPS versionName: 0.1.3-MIPS
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -268,6 +274,7 @@ builds:
versionName: 0.1.3-x86 versionName: 0.1.3-x86
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -302,6 +309,7 @@ builds:
versionName: 0.1.3-ARM versionName: 0.1.3-ARM
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -336,6 +344,7 @@ builds:
versionName: 0.1.3-ARMv7 versionName: 0.1.3-ARMv7
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -369,6 +378,7 @@ builds:
versionName: 0.9.0 versionName: 0.9.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -402,6 +412,7 @@ builds:
versionName: 0.9.0 versionName: 0.9.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -435,6 +446,7 @@ builds:
versionName: 0.9.1 versionName: 0.9.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -468,6 +480,7 @@ builds:
versionName: 0.9.1 versionName: 0.9.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -501,6 +514,7 @@ builds:
versionName: 0.9.5 versionName: 0.9.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -534,6 +548,7 @@ builds:
versionName: 0.9.5 versionName: 0.9.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -567,6 +582,7 @@ builds:
versionName: 0.9.6 versionName: 0.9.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -600,6 +616,7 @@ builds:
versionName: 0.9.6 versionName: 0.9.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -633,6 +650,7 @@ builds:
versionName: 0.9.7 versionName: 0.9.7
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -666,6 +684,7 @@ builds:
versionName: 0.9.7 versionName: 0.9.7
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -699,6 +718,7 @@ builds:
versionName: 0.9.7.1 versionName: 0.9.7.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -732,6 +752,7 @@ builds:
versionName: 0.9.7.1 versionName: 0.9.7.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -765,6 +786,7 @@ builds:
versionName: 0.9.7.1 versionName: 0.9.7.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -798,6 +820,7 @@ builds:
versionName: 0.9.8 versionName: 0.9.8
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -831,6 +854,7 @@ builds:
versionName: 0.9.8 versionName: 0.9.8
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -864,6 +888,7 @@ builds:
versionName: 0.9.8 versionName: 0.9.8
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -897,6 +922,7 @@ builds:
versionName: 0.9.9 versionName: 0.9.9
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -930,6 +956,7 @@ builds:
versionName: 0.9.9 versionName: 0.9.9
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -963,6 +990,7 @@ builds:
versionName: 0.9.9 versionName: 0.9.9
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -996,6 +1024,7 @@ builds:
versionName: 0.9.10 versionName: 0.9.10
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1029,6 +1058,7 @@ builds:
versionName: 0.9.10 versionName: 0.9.10
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1062,6 +1092,7 @@ builds:
versionName: 0.9.10 versionName: 0.9.10
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1095,6 +1126,7 @@ builds:
versionName: 1.0.0 versionName: 1.0.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1128,6 +1160,7 @@ builds:
versionName: 1.0.0 versionName: 1.0.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1161,6 +1194,7 @@ builds:
versionName: 1.0.0 versionName: 1.0.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1194,6 +1228,7 @@ builds:
versionName: 1.0.1 versionName: 1.0.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1227,6 +1262,7 @@ builds:
versionName: 1.0.1 versionName: 1.0.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1260,6 +1296,7 @@ builds:
versionName: 1.0.1 versionName: 1.0.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1295,6 +1332,7 @@ builds:
versionName: 1.1.3 versionName: 1.1.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1330,6 +1368,7 @@ builds:
versionName: 1.1.3 versionName: 1.1.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1365,6 +1404,7 @@ builds:
versionName: 1.1.3 versionName: 1.1.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1400,6 +1440,7 @@ builds:
versionName: 1.1.5 versionName: 1.1.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1435,6 +1476,7 @@ builds:
versionName: 1.1.5 versionName: 1.1.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1470,6 +1512,7 @@ builds:
versionName: 1.1.5 versionName: 1.1.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1505,6 +1548,7 @@ builds:
versionName: 1.1.6 versionName: 1.1.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1540,6 +1584,7 @@ builds:
versionName: 1.1.6 versionName: 1.1.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1575,6 +1620,7 @@ builds:
versionName: 1.1.6 versionName: 1.1.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1610,6 +1656,7 @@ builds:
versionName: 1.2.0 versionName: 1.2.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1645,6 +1692,7 @@ builds:
versionName: 1.2.0 versionName: 1.2.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1680,6 +1728,7 @@ builds:
versionName: 1.2.0 versionName: 1.2.0
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1715,6 +1764,7 @@ builds:
versionName: 1.2.1 versionName: 1.2.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1750,6 +1800,7 @@ builds:
versionName: 1.2.1 versionName: 1.2.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1785,6 +1836,7 @@ builds:
versionName: 1.2.1 versionName: 1.2.1
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1820,6 +1872,7 @@ builds:
versionName: 1.2.2 versionName: 1.2.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1855,6 +1908,7 @@ builds:
versionName: 1.2.2 versionName: 1.2.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1890,6 +1944,7 @@ builds:
versionName: 1.2.2 versionName: 1.2.2
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1925,6 +1980,7 @@ builds:
versionName: 1.2.3 versionName: 1.2.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1960,6 +2016,7 @@ builds:
versionName: 1.2.3 versionName: 1.2.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -1995,6 +2052,7 @@ builds:
versionName: 1.2.3 versionName: 1.2.3
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2030,6 +2088,7 @@ builds:
versionName: 1.2.4 versionName: 1.2.4
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2065,6 +2124,7 @@ builds:
versionName: 1.2.4 versionName: 1.2.4
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2100,6 +2160,7 @@ builds:
versionName: 1.2.4 versionName: 1.2.4
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2135,6 +2196,7 @@ builds:
versionName: 1.2.5 versionName: 1.2.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2170,6 +2232,7 @@ builds:
versionName: 1.2.5 versionName: 1.2.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2205,6 +2268,7 @@ builds:
versionName: 1.2.5 versionName: 1.2.5
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2240,6 +2304,7 @@ builds:
versionName: 1.2.6 versionName: 1.2.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false
@ -2275,6 +2340,7 @@ builds:
versionName: 1.2.6 versionName: 1.2.6
- androidupdate: [] - androidupdate: []
antcommands: [] antcommands: []
antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release build: cd ../ && ./compile.sh -a "x86" --release
buildjni: [] buildjni: []
buildozer: false buildozer: false

View File

@ -459,6 +459,38 @@ class UpdateTest(unittest.TestCase):
self.assertIsNone(apk) self.assertIsNone(apk)
self.assertFalse(cachechanged) self.assertFalse(cachechanged)
def test_translate_per_build_anti_features(self):
os.chdir(os.path.join(localmodule, 'tests'))
if os.path.basename(os.getcwd()) != 'tests':
raise Exception('This test must be run in the "tests/" subdir')
config = dict()
fdroidserver.common.fill_config_defaults(config)
config['ndk_paths'] = dict()
config['accepted_formats'] = ['json', 'txt', 'yml']
fdroidserver.common.config = config
fdroidserver.update.config = config
fdroidserver.update.options = type('', (), {})()
fdroidserver.update.options.clean = True
fdroidserver.update.options.delete_unknown = True
fdroidserver.update.options.rename_apks = False
fdroidserver.update.options.allow_disabled_algorithms = False
apps = fdroidserver.metadata.read_metadata(xref=True)
knownapks = fdroidserver.common.KnownApks()
apks, cachechanged = fdroidserver.update.process_apks({}, 'repo', knownapks, False)
fdroidserver.update.translate_per_build_anti_features(apps, apks)
self.assertEqual(len(apks), 11)
foundtest = False
for apk in apks:
if apk['packageName'] == 'com.politedroid' and apk['versionCode'] == 3:
antiFeatures = apk.get('antiFeatures')
self.assertTrue('KnownVuln' in antiFeatures)
self.assertEqual(3, len(antiFeatures))
foundtest = True
self.assertTrue(foundtest)
if __name__ == "__main__": if __name__ == "__main__":
parser = optparse.OptionParser() parser = optparse.OptionParser()