diff --git a/docs/fdroid.texi b/docs/fdroid.texi
index 3ac3927c..0c9f95f8 100644
--- a/docs/fdroid.texi
+++ b/docs/fdroid.texi
@@ -445,22 +445,31 @@ the APK files in the repo directory, and
the metadata files in the metadata directory.
@end enumerate
-The metadata files are simple, easy to edit text files, always named as the
-application's package ID with '.txt' appended.
+The original metadata files are simple, easy to edit text files,
+always named as the application's package ID with '.txt' appended.
+Additionally, you can use JSON, XML, or YAML for app metadata, using
+the same fields as the original '.txt' format.
-Note that although the metadata files are designed to be easily read and
-writable by humans, they are also processed and written by various scripts.
-They are capable of rewriting the entire file when necessary. Even so,
-the structure and comments will be preserved correctly, although the order
-of fields will be standardised. (In the event that the original file was
-in a different order, comments are considered as being attached to the field
-following them). In fact, you can standardise all the metadata in a single
-command, without changing the functional content, by running:
+Note that although the metadata files are designed to be easily read
+and writable by humans, they are also processed and written by various
+scripts. The original '.txt' format can be automatically cleaned up
+when necessary. The structure and comments will be preserved
+correctly, although the order of fields will be standardised. (In the
+event that the original file was in a different order, comments are
+considered as being attached to the field following them). In fact,
+you can standardise all the '.txt' metadata in a single command,
+without changing the functional content, by running:
@example
fdroid rewritemeta
@end example
+Or just run it on a specific app:
+
+@example
+fdroid rewritemeta org.adaway
+@end example
+
The following sections describe the fields recognised within the file.
@menu
diff --git a/examples/config.py b/examples/config.py
index 6026e5b4..427342be 100644
--- a/examples/config.py
+++ b/examples/config.py
@@ -213,6 +213,11 @@ carbon_port = 2003
# --server option on dedicated secure build server hosts.
build_server_always = False
+# By default, fdroid will use YAML and the custom .txt metadata formats. It
+# is also possible to have metadata in JSON and XML. You can enable your
+# preferred formats by setting them in a list:
+# accepted_formats = ['json', 'txt', 'xml', 'yaml']
+
# Limit in number of characters that fields can take up
# Only the fields listed here are supported, defaults shown
char_limits = {
diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py
index 494a1834..1962dded 100644
--- a/fdroidserver/checkupdates.py
+++ b/fdroidserver/checkupdates.py
@@ -493,14 +493,14 @@ def checkupdates_app(app, first=True):
logging.warn('Invalid auto update mode "' + mode + '" on ' + app['id'])
if commitmsg:
- metafile = os.path.join('metadata', app['id'] + '.txt')
- metadata.write_metadata(metafile, app)
+ metadatapath = os.path.join('metadata', app['id'] + '.txt')
+ metadata.write_metadata(metadatapath, app)
if options.commit:
- logging.info("Commiting update for " + metafile)
+ logging.info("Commiting update for " + metadatapath)
gitcmd = ["git", "commit", "-m", commitmsg]
if 'auto_author' in config:
gitcmd.extend(['--author', config['auto_author']])
- gitcmd.extend(["--", metafile])
+ gitcmd.extend(["--", metadatapath])
if subprocess.call(gitcmd) != 0:
logging.error("Git commit failed")
sys.exit(1)
diff --git a/fdroidserver/common.py b/fdroidserver/common.py
index d3c7f176..0bc1eb5c 100644
--- a/fdroidserver/common.py
+++ b/fdroidserver/common.py
@@ -59,6 +59,7 @@ default_config = {
'ant': "ant",
'mvn3': "mvn",
'gradle': 'gradle',
+ 'accepted_formats': ['txt', 'yaml'],
'sync_from_local_copy_dir': False,
'per_app_repos': False,
'make_current_version_link': True,
diff --git a/fdroidserver/import.py b/fdroidserver/import.py
index 27a93ca6..31757dbe 100644
--- a/fdroidserver/import.py
+++ b/fdroidserver/import.py
@@ -198,7 +198,7 @@ def main():
sys.exit(1)
# Construct the metadata...
- app = metadata.parse_metadata(None)[1]
+ app = metadata.parse_txt_metadata(None)[1]
app['Web Site'] = website
app['Source Code'] = sourcecode
if issuetracker:
@@ -234,9 +234,9 @@ def main():
with open('build/.fdroidvcs-' + package, 'w') as f:
f.write(repotype + ' ' + repo)
- metafile = os.path.join('metadata', package + '.txt')
- metadata.write_metadata(metafile, app)
- logging.info("Wrote " + metafile)
+ metadatapath = os.path.join('metadata', package + '.txt')
+ metadata.write_metadata(metadatapath, app)
+ logging.info("Wrote " + metadatapath)
if __name__ == "__main__":
diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py
index 2ec38b0a..0ef93ef7 100644
--- a/fdroidserver/metadata.py
+++ b/fdroidserver/metadata.py
@@ -17,12 +17,26 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+import json
import os
import re
+import sys
import glob
import cgi
import logging
+import yaml
+# use libyaml if it is available
+try:
+ from yaml import CLoader
+ YamlLoader = CLoader
+except ImportError:
+ from yaml import Loader
+ YamlLoader = Loader
+
+# use the C implementation when available
+import xml.etree.cElementTree as ElementTree
+
from collections import OrderedDict
import common
@@ -41,7 +55,7 @@ class MetaDataException(Exception):
# In the order in which they are laid out on files
app_defaults = OrderedDict([
('Disabled', None),
- ('AntiFeatures', None),
+ ('AntiFeatures', []),
('Provides', None),
('Categories', ['None']),
('License', 'Unknown'),
@@ -78,6 +92,8 @@ app_defaults = OrderedDict([
# In the order in which they are laid out on files
# Sorted by their action and their place in the build timeline
+# These variables can have varying datatypes. For example, anything with
+# flagtype(v) == 'list' is inited as False, then set as a list of strings.
flag_defaults = OrderedDict([
('disable', False),
('commit', None),
@@ -188,14 +204,9 @@ valuetypes = {
["Dogecoin"],
[]),
- FieldValidator("Boolean",
- ['Yes', 'No'], None,
- ["Requires Root"],
- []),
-
FieldValidator("bool",
- ['yes', 'no'], None,
- [],
+ r'([Yy]es|[Nn]o|[Tt]rue|[Ff]alse)', None,
+ ["Requires Root"],
['submodules', 'oldsdkloc', 'forceversion', 'forcevercode',
'novcheck']),
@@ -407,11 +418,9 @@ def description_html(lines, linkres):
return ps.text_html
-def parse_srclib(metafile):
+def parse_srclib(metadatapath):
thisinfo = {}
- if metafile and not isinstance(metafile, file):
- metafile = open(metafile, "r")
# Defaults for fields that come from metadata
thisinfo['Repo Type'] = ''
@@ -419,9 +428,11 @@ def parse_srclib(metafile):
thisinfo['Subdir'] = None
thisinfo['Prepare'] = None
- if metafile is None:
+ if not os.path.exists(metadatapath):
return thisinfo
+ metafile = open(metadatapath, "r")
+
n = 0
for line in metafile:
n += 1
@@ -464,13 +475,13 @@ def read_srclibs():
if not os.path.exists(srcdir):
os.makedirs(srcdir)
- for metafile in sorted(glob.glob(os.path.join(srcdir, '*.txt'))):
- srclibname = os.path.basename(metafile[:-4])
- srclibs[srclibname] = parse_srclib(metafile)
+ for metadatapath in sorted(glob.glob(os.path.join(srcdir, '*.txt'))):
+ srclibname = os.path.basename(metadatapath[:-4])
+ srclibs[srclibname] = parse_srclib(metadatapath)
# Read all metadata. Returns a list of 'app' objects (which are dictionaries as
-# returned by the parse_metadata function.
+# returned by the parse_txt_metadata function.
def read_metadata(xref=True):
# Always read the srclibs before the apps, since they can use a srlib as
@@ -483,8 +494,16 @@ def read_metadata(xref=True):
if not os.path.exists(basedir):
os.makedirs(basedir)
- for metafile in sorted(glob.glob(os.path.join('metadata', '*.txt'))):
- appid, appinfo = parse_metadata(metafile)
+ # If there are multiple metadata files for a single appid, then the first
+ # file that is parsed wins over all the others, and the rest throw an
+ # exception. So the original .txt format is parsed first, at least until
+ # newer formats stabilize.
+
+ for metadatapath in sorted(glob.glob(os.path.join('metadata', '*.txt'))
+ + glob.glob(os.path.join('metadata', '*.json'))
+ + glob.glob(os.path.join('metadata', '*.xml'))
+ + glob.glob(os.path.join('metadata', '*.yaml'))):
+ appid, appinfo = parse_metadata(apps, metadatapath)
check_metadata(appinfo)
apps[appid] = appinfo
@@ -510,7 +529,7 @@ def read_metadata(xref=True):
def metafieldtype(name):
if name in ['Description', 'Maintainer Notes']:
return 'multiline'
- if name in ['Categories']:
+ if name in ['Categories', 'AntiFeatures']:
return 'list'
if name == 'Build Version':
return 'build'
@@ -560,9 +579,93 @@ def split_list_values(s):
return [v for v in l if v]
+def get_default_app_info_list(apps, metadatapath):
+ appid = os.path.splitext(os.path.basename(metadatapath))[0]
+ if appid in apps:
+ logging.critical("'%s' is a duplicate! '%s' is already provided by '%s'"
+ % (metadatapath, appid, apps[appid]['metadatapath']))
+ sys.exit(1)
+
+ thisinfo = {}
+ thisinfo.update(app_defaults)
+ thisinfo['metadatapath'] = metadatapath
+ if appid is not None:
+ thisinfo['id'] = appid
+
+ # General defaults...
+ thisinfo['builds'] = []
+ thisinfo['comments'] = []
+
+ return appid, thisinfo
+
+
+def post_metadata_parse(thisinfo):
+
+ supported_metadata = app_defaults.keys() + ['comments', 'builds', 'id', 'metadatapath']
+ for k, v in thisinfo.iteritems():
+ if k not in supported_metadata:
+ raise MetaDataException("Unrecognised metadata: {0}: {1}"
+ .format(k, v))
+ if type(v) in (float, int):
+ thisinfo[k] = str(v)
+
+ # convert to the odd internal format
+ for k in ('Description', 'Maintainer Notes'):
+ if isinstance(thisinfo[k], basestring):
+ text = thisinfo[k].rstrip().lstrip()
+ thisinfo[k] = text.split('\n')
+
+ supported_flags = (flag_defaults.keys()
+ + ['vercode', 'version', 'versionCode', 'versionName'])
+ esc_newlines = re.compile('\\\\( |\\n)')
+
+ for build in thisinfo['builds']:
+ for k, v in build.items():
+ if k not in supported_flags:
+ raise MetaDataException("Unrecognised build flag: {0}={1}"
+ .format(k, v))
+
+ if k == 'versionCode':
+ build['vercode'] = str(v)
+ del build['versionCode']
+ elif k == 'versionName':
+ build['version'] = str(v)
+ del build['versionName']
+ elif type(v) in (float, int):
+ build[k] = str(v)
+ else:
+ keyflagtype = flagtype(k)
+ if keyflagtype == 'list':
+ # these can be bools, strings or lists, but ultimately are lists
+ if isinstance(v, basestring):
+ build[k] = [v]
+ elif isinstance(v, bool):
+ if v:
+ build[k] = ['yes']
+ else:
+ build[k] = ['no']
+ elif keyflagtype == 'script':
+ build[k] = re.sub(esc_newlines, '', v).lstrip().rstrip()
+ elif keyflagtype == 'bool':
+ # TODO handle this using !')
+ sys.exit(1)
+
+ supported_metadata = app_defaults.keys()
+ for child in root:
+ if child.tag != 'builds':
+ # builds does not have name="" attrib
+ name = child.attrib['name']
+ if name not in supported_metadata:
+ raise MetaDataException("Unrecognised metadata: <"
+ + child.tag + ' name="' + name + '">'
+ + child.text
+ + "" + child.tag + '>')
+
+ if child.tag == 'string':
+ thisinfo[name] = child.text
+ elif child.tag == 'string-array':
+ items = []
+ for item in child:
+ items.append(item.text)
+ thisinfo[name] = items
+ elif child.tag == 'builds':
+ builds = []
+ for build in child:
+ builddict = dict()
+ for key in build:
+ builddict[key.tag] = key.text
+ builds.append(builddict)
+ thisinfo['builds'] = builds
+
+ # TODO handle this using &2
-PY_FILES="fdroid makebuildserver setup.py examples/*.py buildserver/*.py fdroidserver/*.py"
+PY_FILES="fdroid makebuildserver setup.py examples/*.py buildserver/*.py fdroidserver/*.py tests/*.TestCase"
SH_FILES="hooks/pre-commit"
BASH_FILES="fd-commit jenkins-build docs/update.sh completion/bash-completion"
RB_FILES="buildserver/cookbooks/*/recipes/*.rb"
diff --git a/setup.py b/setup.py
index 7b323f4b..a98fe264 100644
--- a/setup.py
+++ b/setup.py
@@ -33,6 +33,7 @@ setup(name='fdroidserver',
'apache-libcloud >= 0.14.1',
'pyasn1',
'pyasn1-modules',
+ 'PyYAML',
'requests',
],
classifiers=[
diff --git a/tests/common.TestCase b/tests/common.TestCase
index 2b2496bc..9f80c1df 100755
--- a/tests/common.TestCase
+++ b/tests/common.TestCase
@@ -12,16 +12,16 @@ import sys
import tempfile
import unittest
-localmodule = os.path.realpath(os.path.join(
- os.path.dirname(inspect.getfile(inspect.currentframe())),
- '..'))
+localmodule = os.path.realpath(
+ os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
print('localmodule: ' + localmodule)
if localmodule not in sys.path:
- sys.path.insert(0,localmodule)
+ sys.path.insert(0, localmodule)
import fdroidserver.common
import fdroidserver.metadata
+
class CommonTest(unittest.TestCase):
'''fdroidserver/common.py'''
@@ -50,7 +50,7 @@ class CommonTest(unittest.TestCase):
def test_find_sdk_tools_cmd(self):
fdroidserver.common.config = dict()
# TODO add this once everything works without sdk_path set in config
- #self._find_all()
+ # self._find_all()
sdk_path = os.getenv('ANDROID_HOME')
if os.path.exists(sdk_path):
fdroidserver.common.config['sdk_path'] = sdk_path
@@ -67,7 +67,7 @@ class CommonTest(unittest.TestCase):
config = dict()
config['sdk_path'] = os.getenv('ANDROID_HOME')
fdroidserver.common.config = config
- self._set_build_tools();
+ self._set_build_tools()
config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
# these are set debuggable
testfiles = []
@@ -91,13 +91,13 @@ class CommonTest(unittest.TestCase):
for name in ["org.fdroid.fdroid",
"org.f_droid.fdr0ID"]:
self.assertTrue(fdroidserver.common.is_valid_package_name(name),
- "{0} should be a valid package name".format(name))
+ "{0} should be a valid package name".format(name))
for name in ["0rg.fdroid.fdroid",
".f_droid.fdr0ID",
"org.fdroid/fdroid",
"/org.fdroid.fdroid"]:
self.assertFalse(fdroidserver.common.is_valid_package_name(name),
- "{0} should not be a valid package name".format(name))
+ "{0} should not be a valid package name".format(name))
def test_prepare_sources(self):
testint = 99999999
diff --git a/tests/install.TestCase b/tests/install.TestCase
index f0a6a968..2734f132 100755
--- a/tests/install.TestCase
+++ b/tests/install.TestCase
@@ -9,16 +9,16 @@ import os
import sys
import unittest
-localmodule = os.path.realpath(os.path.join(
- os.path.dirname(inspect.getfile(inspect.currentframe())),
- '..'))
+localmodule = os.path.realpath(
+ os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
print('localmodule: ' + localmodule)
if localmodule not in sys.path:
- sys.path.insert(0,localmodule)
+ sys.path.insert(0, localmodule)
import fdroidserver.common
import fdroidserver.install
+
class InstallTest(unittest.TestCase):
'''fdroidserver/install.py'''
diff --git a/tests/metadata.TestCase b/tests/metadata.TestCase
new file mode 100755
index 00000000..69f4c6ed
--- /dev/null
+++ b/tests/metadata.TestCase
@@ -0,0 +1,55 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+
+# http://www.drdobbs.com/testing/unit-testing-with-python/240165163
+
+import inspect
+import optparse
+import os
+import pickle
+import sys
+import unittest
+
+localmodule = os.path.realpath(
+ os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
+print('localmodule: ' + localmodule)
+if localmodule not in sys.path:
+ sys.path.insert(0, localmodule)
+
+import fdroidserver.common
+import fdroidserver.metadata
+
+
+class MetadataTest(unittest.TestCase):
+ '''fdroidserver/metadata.py'''
+
+ def test_read_metadata(self):
+ testsdir = os.path.dirname(__file__)
+ os.chdir(testsdir)
+
+ self.maxDiff = None
+
+ # these need to be set to prevent code running on None, only
+ # 'accepted_formats' is actually used in metadata.py
+ config = dict()
+ config['sdk_path'] = '/opt/android-sdk'
+ config['ndk_paths'] = dict()
+ config['accepted_formats'] = ['json', 'txt', 'xml', 'yaml']
+ fdroidserver.common.config = config
+
+ apps = fdroidserver.metadata.read_metadata(xref=True)
+ for appid in ('org.smssecure.smssecure', 'org.adaway', 'net.osmand.plus', 'org.videolan.vlc'):
+ frompickle = pickle.load(open(os.path.join('metadata', appid + '.pickle')))
+ self.assertTrue(appid in apps.keys())
+ self.assertEquals(apps[appid], frompickle)
+
+
+if __name__ == "__main__":
+ parser = optparse.OptionParser()
+ parser.add_option("-v", "--verbose", action="store_true", default=False,
+ help="Spew out even more information than normal")
+ (fdroidserver.common.options, args) = parser.parse_args(['--verbose'])
+
+ newSuite = unittest.TestSuite()
+ newSuite.addTest(unittest.makeSuite(MetadataTest))
+ unittest.main()
diff --git a/tests/metadata/net.osmand.plus.pickle b/tests/metadata/net.osmand.plus.pickle
new file mode 100644
index 00000000..e900a8e5
--- /dev/null
+++ b/tests/metadata/net.osmand.plus.pickle
@@ -0,0 +1,504 @@
+(dp0
+S'Update Check Data'
+p1
+NsS'Bitcoin'
+p2
+NsS'AntiFeatures'
+p3
+(lp4
+S'Tracking'
+p5
+aS'NonFreeNet'
+p6
+asS'Web Site'
+p7
+S'http://osmand.net'
+p8
+sS'Auto Update Mode'
+p9
+S'None'
+p10
+sS'Provides'
+p11
+NsS'Issue Tracker'
+p12
+S'https://github.com/osmandapp/Osmand/issues'
+p13
+sS'Donate'
+p14
+S'https://code.google.com/p/osmand/#Please_support_the_project'
+p15
+sS'id'
+p16
+S'net.osmand.plus'
+p17
+sS'Description'
+p18
+(lp19
+S"Osmand~'s features can be extended by enabling the plugins via the settings,"
+p20
+aS'which include online maps from many sources, tracking, OpenStreetMap (OSM) editing and'
+p21
+aS'accessibility enhancements.'
+p22
+aS''
+p23
+aS'Map data of both vector and raster types can be stored on the phone memory'
+p24
+aS'card for offline usage, and navigation by default uses offline methods. Map'
+p25
+aS'data packages for many territories can be downloaded from within the app and'
+p26
+aS'there is a desktop program available on the website as well for creating your'
+p27
+aS'own.'
+p28
+ag23
+aS'Anti-Features: Tracking - It will send your device and application specs to an'
+p29
+aS'Analytics server upon downloading the list of maps you can download.'
+p30
+ag23
+aS'[https://osmandapp.github.io/changes.html Changelog]'
+p31
+asS'Requires Root'
+p32
+I00
+sS'comments'
+p33
+(lp34
+sS'Repo Type'
+p35
+S'git'
+p36
+sS'Repo'
+p37
+S'https://github.com/mvdan/OsmAnd-submodules'
+p38
+sS'No Source Since'
+p39
+g23
+sS'Auto Name'
+p40
+g23
+sS'Categories'
+p41
+(lp42
+S'Navigation'
+p43
+asS'Source Code'
+p44
+S'https://github.com/osmandapp/Osmand'
+p45
+sS'Litecoin'
+p46
+NsS'Update Check Ignore'
+p47
+NsS'Name'
+p48
+S'OsmAnd~'
+p49
+sS'License'
+p50
+S'GPLv3'
+p51
+sS'Changelog'
+p52
+g23
+sS'Update Check Mode'
+p53
+S'None'
+p54
+sS'Summary'
+p55
+S'Offline/online maps and navigation'
+p56
+sS'Dogecoin'
+p57
+NsS'Maintainer Notes'
+p58
+(lp59
+S'No UCMs apply because git never contains actual releases, only pre-releses.'
+p60
+ag23
+aS'The build instructions have been moved to a script in the root of the repo,'
+p61
+aS"'build'. This way it can be updated along with the submodules."
+p62
+asS'Current Version Code'
+p63
+S'197'
+p64
+sS'Binaries'
+p65
+NsS'Archive Policy'
+p66
+NsS'builds'
+p67
+(lp68
+(dp69
+S'submodules'
+p70
+I01
+sS'vercode'
+p71
+S'182'
+p72
+sS'forceversion'
+p73
+I00
+sS'oldsdkloc'
+p74
+I00
+sS'gradleprops'
+p75
+(lp76
+sS'scanignore'
+p77
+(lp78
+sS'patch'
+p79
+(lp80
+sS'srclibs'
+p81
+(lp82
+sS'output'
+p83
+S'bin/OsmAnd-release-unsigned.apk'
+p84
+sS'encoding'
+p85
+NsS'extlibs'
+p86
+(lp87
+sS'init'
+p88
+g23
+sS'version'
+p89
+S'1.8.2'
+p90
+sS'build'
+p91
+S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
+p92
+sS'ndk_path'
+p93
+g23
+sS'kivy'
+p94
+I00
+sS'subdir'
+p95
+S'android/OsmAnd'
+p96
+sS'forcevercode'
+p97
+I00
+sS'preassemble'
+p98
+(lp99
+sS'update'
+p100
+(lp101
+S'auto'
+p102
+asS'maven'
+p103
+I00
+sS'disable'
+p104
+I00
+sS'rm'
+p105
+(lp106
+sS'scandelete'
+p107
+(lp108
+sS'buildjni'
+p109
+(lp110
+S'no'
+p111
+asS'ndk'
+p112
+S'r10e'
+p113
+sS'target'
+p114
+NsS'type'
+p115
+S'raw'
+p116
+sS'antcommands'
+p117
+NsS'gradle'
+p118
+I00
+sS'prebuild'
+p119
+S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
+p120
+sS'novcheck'
+p121
+I00
+sS'commit'
+p122
+S'76ada6c8a08afe69acb755503373ac36328ef665'
+p123
+sa(dp124
+S'submodules'
+p125
+I01
+sg71
+S'183'
+p126
+sg73
+I00
+sg74
+I00
+sg75
+(lp127
+sg77
+g78
+sg79
+g80
+sg81
+g82
+sS'output'
+p128
+S'bin/OsmAnd-release-unsigned.apk'
+p129
+sg85
+Nsg86
+g87
+sg88
+g23
+sg89
+S'1.8.3'
+p130
+sS'subdir'
+p131
+S'android/OsmAnd'
+p132
+sg93
+g23
+sg94
+I00
+sS'build'
+p133
+S'../../build'
+p134
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g106
+sg107
+g108
+sS'buildjni'
+p135
+(lp136
+S'no'
+p137
+asg112
+g113
+sg114
+Nsg115
+g116
+sg117
+Nsg118
+I00
+sS'prebuild'
+p138
+g23
+sg121
+I00
+sS'commit'
+p139
+S'1.8.3'
+p140
+sa(dp141
+S'submodules'
+p142
+I01
+sg71
+S'196'
+p143
+sg73
+I00
+sg74
+I00
+sg75
+(lp144
+sg77
+g78
+sg79
+g80
+sg81
+g82
+sS'output'
+p145
+S'bin/OsmAnd-release-unsigned.apk'
+p146
+sg85
+Nsg86
+g87
+sg88
+g23
+sg89
+S'1.9.4'
+p147
+sS'subdir'
+p148
+S'android/OsmAnd'
+p149
+sg93
+g23
+sg94
+I00
+sS'build'
+p150
+S'../../build'
+p151
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g106
+sg107
+g108
+sS'buildjni'
+p152
+(lp153
+S'no'
+p154
+asS'ndk'
+p155
+S'r10d'
+p156
+sg114
+Nsg115
+g116
+sg117
+Nsg118
+I00
+sg138
+g23
+sg121
+I00
+sS'commit'
+p157
+S'1.9.4'
+p158
+sa(dp159
+S'submodules'
+p160
+I01
+sg71
+S'197'
+p161
+sg73
+I00
+sg74
+I00
+sg75
+(lp162
+sg77
+g78
+sg79
+g80
+sg81
+g82
+sS'output'
+p163
+S'bin/OsmAnd-release-unsigned.apk'
+p164
+sg85
+Nsg86
+g87
+sg88
+g23
+sg89
+S'1.9.5'
+p165
+sS'subdir'
+p166
+S'android/OsmAnd'
+p167
+sg93
+g23
+sg94
+I00
+sS'build'
+p168
+S'../../build'
+p169
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g106
+sg107
+g108
+sS'buildjni'
+p170
+(lp171
+S'no'
+p172
+asS'ndk'
+p173
+S'r10d'
+p174
+sg114
+Nsg115
+g116
+sg117
+Nsg118
+I00
+sg138
+g23
+sg121
+I00
+sS'commit'
+p175
+S'1.9.5'
+p176
+sasS'FlattrID'
+p177
+NsS'metadatapath'
+p178
+S'metadata/net.osmand.plus.xml'
+p179
+sS'Disabled'
+p180
+NsS'Update Check Name'
+p181
+NsS'Vercode Operation'
+p182
+NsS'Current Version'
+p183
+S'1.9.5'
+p184
+s.
\ No newline at end of file
diff --git a/tests/metadata/net.osmand.plus.xml b/tests/metadata/net.osmand.plus.xml
new file mode 100644
index 00000000..4b7ac8a4
--- /dev/null
+++ b/tests/metadata/net.osmand.plus.xml
@@ -0,0 +1,180 @@
+
+
+
+
+ - Tracking
+ - NonFreeNet
+
+
+
+ - Navigation
+
+
+ GPLv3
+ http://osmand.net
+ https://github.com/osmandapp/Osmand
+ https://github.com/osmandapp/Osmand/issues
+ https://code.google.com/p/osmand/#Please_support_the_project
+
+ OsmAnd~
+ Offline/online maps and navigation
+ Osmand~'s features can be extended by enabling the plugins via the settings,
+which include online maps from many sources, tracking, OpenStreetMap (OSM) editing and
+accessibility enhancements.
+
+Map data of both vector and raster types can be stored on the phone memory
+card for offline usage, and navigation by default uses offline methods. Map
+data packages for many territories can be downloaded from within the app and
+there is a desktop program available on the website as well for creating your
+own.
+
+Anti-Features: Tracking - It will send your device and application specs to an
+Analytics server upon downloading the list of maps you can download.
+
+[https://osmandapp.github.io/changes.html Changelog]
+
+
+ git
+ https://github.com/mvdan/OsmAnd-submodules
+
+
+
+
+
+
+
+ 182
+ 1.8.2
+ 76ada6c8a08afe69acb755503373ac36328ef665
+ android/OsmAnd
+ true
+
+ sed -i 's/"OsmAnd+"/"OsmAnd~"/g' build.xml
+ ./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release
+ no
+
+
+
+ 1.8.3
+ 183
+ 1.8.3
+ android/OsmAnd
+ true
+
+ ../../build
+ no
+
+
+
+ 1.9.4
+ 196
+ 1.9.4
+ android/OsmAnd
+ true
+
+ ../../build
+ no
+ r10d
+
+
+
+ 1.9.5
+ 197
+ 1.9.5
+ android/OsmAnd
+ true
+
+ ../../build
+ no
+ r10d
+
+
+
+
+
+No UCMs apply because git never contains actual releases, only pre-releses.
+
+The build instructions have been moved to a script in the root of the repo,
+'build'. This way it can be updated along with the submodules.
+
+
+ None
+ None
+ 1.9.5
+ 197
+
+
\ No newline at end of file
diff --git a/tests/metadata/org.adaway.json b/tests/metadata/org.adaway.json
new file mode 100644
index 00000000..954b21cf
--- /dev/null
+++ b/tests/metadata/org.adaway.json
@@ -0,0 +1,284 @@
+{
+ "Auto Name": "AdAway",
+ "Auto Update Mode": "Version v%v",
+ "Categories": ["System", "Security"],
+ "Current Version": "3.0",
+ "Current Version Code": 52,
+ "Description": [
+ "An ad blocker that uses the hosts file. The hosts file",
+ "contains a list of mappings between hostnames and IP addresses. When",
+ "an app requests an ad, that request is directed to 127.0.0.1 which does",
+ "nothing. There are options to run a web server",
+ "to respond to blocked hostnames and to direct requests to the IP",
+ "address of your choosing. You can download hosts files from the",
+ "app but it is possible to use your own and to add certain sites",
+ "to the white- and black-lists.",
+ "",
+ "[https://github.com/dschuermann/ad-away/raw/HEAD/CHANGELOG Changelog]",
+ "",
+ "Requires root: Yes. The hosts files is located in /system which is normally",
+ "read-only."
+ ],
+ "Donate": "http://sufficientlysecure.org/index.php/adaway",
+ "FlattrID": "369138",
+ "Issue Tracker": "https://github.com/dschuermann/ad-away/issues",
+ "License": "GPLv3",
+ "Provides": "org.sufficientlysecure.adaway",
+ "Repo": "https://github.com/dschuermann/ad-away.git",
+ "Repo Type": "git",
+ "Requires Root": true,
+ "Source Code": "https://github.com/dschuermann/ad-away",
+ "Summary": "Block advertisements",
+ "Update Check Mode": "Tags",
+ "Web Site": "http://sufficientlysecure.org/index.php/adaway",
+
+ "builds": [
+ {
+ "buildjni": true,
+ "commit": "ea5378a94ee0dc1d99d2cec95fae7e6d81afb2b9",
+ "subdir": "org_adaway/",
+ "versionCode": 13,
+ "versionName": "1.12"
+ },
+ {
+ "buildjni": true,
+ "commit": "4128e59da2eac5c2904c7c7568d298ca51e79540",
+ "patch": ["defprop.patch"],
+ "subdir": "org_adaway/",
+ "versionCode": 16,
+ "versionName": "1.15"
+ },
+ {
+ "buildjni": true,
+ "commit": "0b9985398b9eef7baf6aadd0dbb12002bc199d2e",
+ "patch": ["defprop.patch"],
+ "subdir": "org_adaway/",
+ "versionCode": 19,
+ "versionName": "1.18"
+ },
+ {
+ "buildjni": true,
+ "commit": "ab27f4dab5f3ea5e228cfb4a6b0e1fbf53695f22",
+ "patch": ["defprop.patch"],
+ "subdir": "org_adaway/",
+ "versionCode": 20,
+ "versionName": "1.19"
+ },
+ {
+ "buildjni": true,
+ "commit": "695e3801e4081026c8f7213a2345fc451d5eb89c",
+ "patch": ["defprop.patch"],
+ "subdir": "org_adaway/",
+ "versionCode": 21,
+ "versionName": "1.20"
+ },
+ {
+ "buildjni": true,
+ "commit": "65138c11cc8b6affd28b68e125fbc1dff0886a4e",
+ "patch": ["defprop.patch"],
+ "subdir": "org_adaway/",
+ "versionCode": 22,
+ "versionName": "1.21"
+ },
+ {
+ "commit": "unknown - see disabled",
+ "disable": "no source in repo",
+ "versionCode": 24,
+ "versionName": "1.23"
+ },
+ {
+ "buildjni": true,
+ "commit": "f811e53e1e1d2ee047b18715fd7d2072b90ae76b",
+ "prebuild": "android update project -p ../com_actionbarsherlock",
+ "subdir": "org_adaway/",
+ "versionCode": 25,
+ "versionName": "1.24"
+ },
+ {
+ "buildjni": true,
+ "commit": "ff97932761cdee68638dc2550751a64b2cbe18e7",
+ "prebuild": "android update project -p ../com_actionbarsherlock",
+ "subdir": "org_adaway/",
+ "versionCode": 26,
+ "versionName": "1.25"
+ },
+ {
+ "buildjni": true,
+ "commit": "33d4d80998f30bafc88c04c80cbae00b03916f99",
+ "prebuild": "android update project -p ../com_actionbarsherlock",
+ "subdir": "org_adaway/",
+ "versionCode": 27,
+ "versionName": "1.26"
+ },
+ {
+ "buildjni": true,
+ "commit": "743d25a7e287505461f33f4b8e57e4cf988fffea",
+ "prebuild": "android update project -p ../com_actionbarsherlock",
+ "subdir": "org_adaway/",
+ "versionCode": 28,
+ "versionName": "1.27"
+ },
+ {
+ "buildjni": true,
+ "commit": "eaa07f4",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*",
+ "subdir": "org_adaway/",
+ "versionCode": 30,
+ "versionName": "1.29"
+ },
+ {
+ "buildjni": false,
+ "commit": "71ced3f",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && rm libs/android-support-v4.jar",
+ "subdir": "org_adaway/",
+ "versionCode": 33,
+ "versionName": "1.32"
+ },
+ {
+ "buildjni": false,
+ "commit": "9d63c18",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*",
+ "subdir": "org_adaway/",
+ "versionCode": 34,
+ "versionName": "1.33"
+ },
+ {
+ "buildjni": false,
+ "commit": "f2568b1",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+ "subdir": "org_adaway/",
+ "versionCode": 35,
+ "versionName": "1.34"
+ },
+ {
+ "buildjni": false,
+ "commit": "7442d5d",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+ "subdir": "org_adaway/",
+ "versionCode": 36,
+ "versionName": "1.35"
+ },
+ {
+ "buildjni": false,
+ "commit": "83fc713",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+ "subdir": "org_adaway/",
+ "versionCode": 37,
+ "versionName": "1.36"
+ },
+ {
+ "buildjni": false,
+ "commit": "70da32b567122b701cdcb1609b780eb85732028f",
+ "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+ "subdir": "org_adaway/",
+ "versionCode": 38,
+ "versionName": "1.37"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.1",
+ "extlibs": ["htmlcleaner/htmlcleaner-2.2.jar"],
+ "init": "rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner",
+ "prebuild": "rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo \"android.library.reference.3=$$RootCommands$$\" >> project.properties && echo \"android.library.reference.4=android-libs/HtmlSpanner/htmlspanner\" >> project.properties && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/",
+ "srclibs": ["RootCommands@c940b0e503"],
+ "subdir": "AdAway",
+ "update": [".",
+ "android-libs/Donations",
+ "android-libs/ActionBarSherlock",
+ "android-libs/HtmlSpanner/htmlspanner"],
+ "versionCode": 40,
+ "versionName": "2.1"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.3",
+ "extlibs": ["htmlcleaner/htmlcleaner-2.2.jar"],
+ "init": "rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner",
+ "prebuild": "rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo \"android.library.reference.3=$$RootCommands$$\" >> project.properties && echo \"android.library.reference.4=android-libs/HtmlSpanner/htmlspanner\" >> project.properties && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/",
+ "srclibs": ["RootCommands@c940b0e503"],
+ "subdir": "AdAway",
+ "update": [".",
+ "android-libs/Donations",
+ "android-libs/ActionBarSherlock",
+ "android-libs/HtmlSpanner/htmlspanner"],
+ "versionCode": 42,
+ "versionName": "2.3"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.6",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 45,
+ "versionName": "2.6"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.7",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 46,
+ "versionName": "2.7"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.8",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 47,
+ "versionName": "2.8"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.8.1",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 48,
+ "versionName": "2.8.1"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.9",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 49,
+ "versionName": "2.9"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.9.1",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 50,
+ "versionName": "2.9.1"
+ },
+ {
+ "buildjni": true,
+ "commit": "v2.9.2",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 51,
+ "versionName": "2.9.2"
+ },
+ {
+ "buildjni": true,
+ "commit": "v3.0",
+ "gradle": true,
+ "preassemble": ["renameExecutables"],
+ "subdir": "AdAway",
+ "versionCode": 52,
+ "versionName": "3.0"
+ }
+ ],
+ "comments": [
+ ["build:40", "#RootCommands srclib needs changing on fdroidserver"],
+ ["build:42", "#RootCommands srclib needs changing on fdroidserver"]
+ ]
+}
diff --git a/tests/metadata/org.adaway.pickle b/tests/metadata/org.adaway.pickle
new file mode 100644
index 00000000..4617b6c1
--- /dev/null
+++ b/tests/metadata/org.adaway.pickle
@@ -0,0 +1,2295 @@
+(dp0
+S'Update Check Data'
+p1
+NsS'Bitcoin'
+p2
+NsS'AntiFeatures'
+p3
+(lp4
+sS'Web Site'
+p5
+S'http://sufficientlysecure.org/index.php/adaway'
+p6
+sS'Auto Update Mode'
+p7
+S'Version v%v'
+p8
+sS'Provides'
+p9
+S'org.sufficientlysecure.adaway'
+p10
+sS'Issue Tracker'
+p11
+S'https://github.com/dschuermann/ad-away/issues'
+p12
+sS'Donate'
+p13
+S'http://sufficientlysecure.org/index.php/adaway'
+p14
+sS'Repo Type'
+p15
+S'git'
+p16
+sS'Description'
+p17
+(lp18
+S'An ad blocker that uses the hosts file. The hosts file'
+p19
+aS'contains a list of mappings between hostnames and IP addresses. When'
+p20
+aS'an app requests an ad, that request is directed to 127.0.0.1 which does'
+p21
+aS'nothing. There are options to run a web server'
+p22
+aS'to respond to blocked hostnames and to direct requests to the IP'
+p23
+aS'address of your choosing. You can download hosts files from the'
+p24
+aS'app but it is possible to use your own and to add certain sites'
+p25
+aS'to the white- and black-lists.'
+p26
+aS''
+p27
+aS'[https://github.com/dschuermann/ad-away/raw/HEAD/CHANGELOG Changelog]'
+p28
+ag27
+aS'Requires root: Yes. The hosts files is located in /system which is normally'
+p29
+aS'read-only.'
+p30
+asS'Requires Root'
+p31
+I01
+sS'comments'
+p32
+(lp33
+(lp34
+S'build:40'
+p35
+aS'#RootCommands srclib needs changing on fdroidserver'
+p36
+aa(lp37
+S'build:42'
+p38
+aS'#RootCommands srclib needs changing on fdroidserver'
+p39
+aasS'id'
+p40
+S'org.adaway'
+p41
+sS'Repo'
+p42
+S'https://github.com/dschuermann/ad-away.git'
+p43
+sS'No Source Since'
+p44
+g27
+sS'Auto Name'
+p45
+S'AdAway'
+p46
+sS'Categories'
+p47
+(lp48
+S'System'
+p49
+aS'Security'
+p50
+asS'Source Code'
+p51
+S'https://github.com/dschuermann/ad-away'
+p52
+sS'Litecoin'
+p53
+NsS'Update Check Ignore'
+p54
+NsS'Name'
+p55
+NsS'License'
+p56
+S'GPLv3'
+p57
+sS'Changelog'
+p58
+g27
+sS'Update Check Mode'
+p59
+S'Tags'
+p60
+sS'Summary'
+p61
+S'Block advertisements'
+p62
+sS'Dogecoin'
+p63
+NsS'Maintainer Notes'
+p64
+(lp65
+sS'Current Version Code'
+p66
+S'52'
+p67
+sS'Binaries'
+p68
+NsS'Archive Policy'
+p69
+NsS'builds'
+p70
+(lp71
+(dp72
+S'submodules'
+p73
+I00
+sS'vercode'
+p74
+S'13'
+p75
+sS'forceversion'
+p76
+I00
+sS'oldsdkloc'
+p77
+I00
+sS'gradleprops'
+p78
+(lp79
+sS'scanignore'
+p80
+(lp81
+sS'gradle'
+p82
+I00
+sS'srclibs'
+p83
+(lp84
+sS'encoding'
+p85
+NsS'extlibs'
+p86
+(lp87
+sS'init'
+p88
+g27
+sS'version'
+p89
+S'1.12'
+p90
+sS'subdir'
+p91
+S'org_adaway/'
+p92
+sS'rm'
+p93
+(lp94
+sS'kivy'
+p95
+I00
+sS'build'
+p96
+g27
+sS'forcevercode'
+p97
+I00
+sS'preassemble'
+p98
+(lp99
+sS'update'
+p100
+(lp101
+S'auto'
+p102
+asS'maven'
+p103
+I00
+sS'disable'
+p104
+I00
+sS'ndk_path'
+p105
+g27
+sS'scandelete'
+p106
+(lp107
+sS'buildjni'
+p108
+(lp109
+S'yes'
+p110
+asS'ndk'
+p111
+S'r10e'
+p112
+sS'target'
+p113
+NsS'type'
+p114
+S'ant'
+p115
+sS'commit'
+p116
+S'ea5378a94ee0dc1d99d2cec95fae7e6d81afb2b9'
+p117
+sS'antcommands'
+p118
+NsS'patch'
+p119
+(lp120
+sS'prebuild'
+p121
+g27
+sS'novcheck'
+p122
+I00
+sS'output'
+p123
+Nsa(dp124
+g73
+I00
+sg74
+S'16'
+p125
+sg76
+I00
+sg77
+I00
+sg78
+(lp126
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.15'
+p127
+sS'subdir'
+p128
+S'org_adaway/'
+p129
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p130
+(lp131
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p132
+S'4128e59da2eac5c2904c7c7568d298ca51e79540'
+p133
+sg118
+NsS'patch'
+p134
+(lp135
+S'defprop.patch'
+p136
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp137
+g73
+I00
+sg74
+S'19'
+p138
+sg76
+I00
+sg77
+I00
+sg78
+(lp139
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.18'
+p140
+sS'subdir'
+p141
+S'org_adaway/'
+p142
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p143
+(lp144
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p145
+S'0b9985398b9eef7baf6aadd0dbb12002bc199d2e'
+p146
+sg118
+NsS'patch'
+p147
+(lp148
+S'defprop.patch'
+p149
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp150
+g73
+I00
+sg74
+S'20'
+p151
+sg76
+I00
+sg77
+I00
+sg78
+(lp152
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.19'
+p153
+sS'subdir'
+p154
+S'org_adaway/'
+p155
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p156
+(lp157
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p158
+S'ab27f4dab5f3ea5e228cfb4a6b0e1fbf53695f22'
+p159
+sg118
+NsS'patch'
+p160
+(lp161
+S'defprop.patch'
+p162
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp163
+g73
+I00
+sg74
+S'21'
+p164
+sg76
+I00
+sg77
+I00
+sg78
+(lp165
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.20'
+p166
+sS'subdir'
+p167
+S'org_adaway/'
+p168
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p169
+(lp170
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p171
+S'695e3801e4081026c8f7213a2345fc451d5eb89c'
+p172
+sg118
+NsS'patch'
+p173
+(lp174
+S'defprop.patch'
+p175
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp176
+g73
+I00
+sg74
+S'22'
+p177
+sg76
+I00
+sg77
+I00
+sg78
+(lp178
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.21'
+p179
+sS'subdir'
+p180
+S'org_adaway/'
+p181
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p182
+(lp183
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p184
+S'65138c11cc8b6affd28b68e125fbc1dff0886a4e'
+p185
+sg118
+NsS'patch'
+p186
+(lp187
+S'defprop.patch'
+p188
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp189
+g73
+I00
+sg74
+S'24'
+p190
+sg76
+I00
+sg77
+I00
+sg78
+(lp191
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.23'
+p192
+sS'subdir'
+p193
+Nsg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sS'disable'
+p194
+S'no source in repo'
+p195
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p196
+(lp197
+sg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p198
+S'unknown - see disabled'
+p199
+sg118
+Nsg119
+g120
+sg121
+g27
+sg122
+I00
+sg123
+Nsa(dp200
+g73
+I00
+sg74
+S'25'
+p201
+sg76
+I00
+sg77
+I00
+sg78
+(lp202
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.24'
+p203
+sS'subdir'
+p204
+S'org_adaway/'
+p205
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p206
+(lp207
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p208
+S'f811e53e1e1d2ee047b18715fd7d2072b90ae76b'
+p209
+sg118
+Nsg119
+g120
+sS'prebuild'
+p210
+S'android update project -p ../com_actionbarsherlock'
+p211
+sg122
+I00
+sg123
+Nsa(dp212
+g73
+I00
+sg74
+S'26'
+p213
+sg76
+I00
+sg77
+I00
+sg78
+(lp214
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.25'
+p215
+sS'subdir'
+p216
+S'org_adaway/'
+p217
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p218
+(lp219
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p220
+S'ff97932761cdee68638dc2550751a64b2cbe18e7'
+p221
+sg118
+Nsg119
+g120
+sS'prebuild'
+p222
+S'android update project -p ../com_actionbarsherlock'
+p223
+sg122
+I00
+sg123
+Nsa(dp224
+g73
+I00
+sg74
+S'27'
+p225
+sg76
+I00
+sg77
+I00
+sg78
+(lp226
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.26'
+p227
+sS'subdir'
+p228
+S'org_adaway/'
+p229
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p230
+(lp231
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p232
+S'33d4d80998f30bafc88c04c80cbae00b03916f99'
+p233
+sg118
+Nsg119
+g120
+sS'prebuild'
+p234
+S'android update project -p ../com_actionbarsherlock'
+p235
+sg122
+I00
+sg123
+Nsa(dp236
+g73
+I00
+sg74
+S'28'
+p237
+sg76
+I00
+sg77
+I00
+sg78
+(lp238
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.27'
+p239
+sS'subdir'
+p240
+S'org_adaway/'
+p241
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p242
+(lp243
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p244
+S'743d25a7e287505461f33f4b8e57e4cf988fffea'
+p245
+sg118
+Nsg119
+g120
+sS'prebuild'
+p246
+S'android update project -p ../com_actionbarsherlock'
+p247
+sg122
+I00
+sg123
+Nsa(dp248
+g73
+I00
+sg74
+S'30'
+p249
+sg76
+I00
+sg77
+I00
+sg78
+(lp250
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.29'
+p251
+sS'subdir'
+p252
+S'org_adaway/'
+p253
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p254
+(lp255
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p256
+S'eaa07f4'
+p257
+sg118
+Nsg119
+g120
+sS'prebuild'
+p258
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*'
+p259
+sg122
+I00
+sg123
+Nsa(dp260
+g73
+I00
+sg74
+S'33'
+p261
+sg76
+I00
+sg77
+I00
+sg78
+(lp262
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.32'
+p263
+sS'subdir'
+p264
+S'org_adaway/'
+p265
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p266
+(lp267
+S'no'
+p268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p269
+S'71ced3f'
+p270
+sg118
+Nsg119
+g120
+sS'prebuild'
+p271
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && rm libs/android-support-v4.jar'
+p272
+sg122
+I00
+sg123
+Nsa(dp273
+g73
+I00
+sg74
+S'34'
+p274
+sg76
+I00
+sg77
+I00
+sg78
+(lp275
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.33'
+p276
+sS'subdir'
+p277
+S'org_adaway/'
+p278
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p279
+(lp280
+g268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p281
+S'9d63c18'
+p282
+sg118
+Nsg119
+g120
+sS'prebuild'
+p283
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*'
+p284
+sg122
+I00
+sg123
+Nsa(dp285
+g73
+I00
+sg74
+S'35'
+p286
+sg76
+I00
+sg77
+I00
+sg78
+(lp287
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.34'
+p288
+sS'subdir'
+p289
+S'org_adaway/'
+p290
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p291
+(lp292
+g268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p293
+S'f2568b1'
+p294
+sg118
+Nsg119
+g120
+sS'prebuild'
+p295
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p296
+sg122
+I00
+sg123
+Nsa(dp297
+g73
+I00
+sg74
+S'36'
+p298
+sg76
+I00
+sg77
+I00
+sg78
+(lp299
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.35'
+p300
+sS'subdir'
+p301
+S'org_adaway/'
+p302
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p303
+(lp304
+g268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p305
+S'7442d5d'
+p306
+sg118
+Nsg119
+g120
+sS'prebuild'
+p307
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p308
+sg122
+I00
+sg123
+Nsa(dp309
+g73
+I00
+sg74
+S'37'
+p310
+sg76
+I00
+sg77
+I00
+sg78
+(lp311
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.36'
+p312
+sS'subdir'
+p313
+S'org_adaway/'
+p314
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p315
+(lp316
+g268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p317
+S'83fc713'
+p318
+sg118
+Nsg119
+g120
+sS'prebuild'
+p319
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p320
+sg122
+I00
+sg123
+Nsa(dp321
+g73
+I00
+sg74
+S'38'
+p322
+sg76
+I00
+sg77
+I00
+sg78
+(lp323
+sg80
+g81
+sg82
+I00
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'1.37'
+p324
+sS'subdir'
+p325
+S'org_adaway/'
+p326
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p327
+(lp328
+g268
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p329
+S'70da32b567122b701cdcb1609b780eb85732028f'
+p330
+sg118
+Nsg119
+g120
+sS'prebuild'
+p331
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p332
+sg122
+I00
+sg123
+Nsa(dp333
+g73
+I00
+sg74
+S'40'
+p334
+sg76
+I00
+sg77
+I00
+sg78
+(lp335
+sg80
+g81
+sg82
+I00
+sS'srclibs'
+p336
+(lp337
+S'RootCommands@c940b0e503'
+p338
+asg85
+NsS'extlibs'
+p339
+(lp340
+S'htmlcleaner/htmlcleaner-2.2.jar'
+p341
+asS'init'
+p342
+S'rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner'
+p343
+sg89
+S'2.1'
+p344
+sS'subdir'
+p345
+S'AdAway'
+p346
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sS'update'
+p347
+(lp348
+S'.'
+p349
+aS'android-libs/Donations'
+p350
+aS'android-libs/ActionBarSherlock'
+p351
+aS'android-libs/HtmlSpanner/htmlspanner'
+p352
+asg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p353
+(lp354
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p355
+S'v2.1'
+p356
+sg118
+Nsg119
+g120
+sS'prebuild'
+p357
+S'rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties && find . -type f -print0 | xargs -0 sed -i \'s/org.rootcommands/org.sufficientlysecure.rootcommands/g\' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/'
+p358
+sg122
+I00
+sg123
+Nsa(dp359
+g73
+I00
+sg74
+S'42'
+p360
+sg76
+I00
+sg77
+I00
+sg78
+(lp361
+sg80
+g81
+sg82
+I00
+sS'srclibs'
+p362
+(lp363
+S'RootCommands@c940b0e503'
+p364
+asg85
+NsS'extlibs'
+p365
+(lp366
+S'htmlcleaner/htmlcleaner-2.2.jar'
+p367
+asS'init'
+p368
+S'rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner'
+p369
+sg89
+S'2.3'
+p370
+sS'subdir'
+p371
+S'AdAway'
+p372
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sg98
+g99
+sS'update'
+p373
+(lp374
+g349
+aS'android-libs/Donations'
+p375
+aS'android-libs/ActionBarSherlock'
+p376
+aS'android-libs/HtmlSpanner/htmlspanner'
+p377
+asg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p378
+(lp379
+g110
+asg111
+g112
+sg113
+Nsg114
+g115
+sS'commit'
+p380
+S'v2.3'
+p381
+sg118
+Nsg119
+g120
+sS'prebuild'
+p382
+S'rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties && find . -type f -print0 | xargs -0 sed -i \'s/org.rootcommands/org.sufficientlysecure.rootcommands/g\' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/'
+p383
+sg122
+I00
+sg123
+Nsa(dp384
+g73
+I00
+sg74
+S'45'
+p385
+sg76
+I00
+sg77
+I00
+sg78
+(lp386
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.6'
+p387
+sS'subdir'
+p388
+S'AdAway'
+p389
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p390
+(lp391
+S'renameExecutables'
+p392
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p393
+(lp394
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p395
+S'v2.6'
+p396
+sg118
+NsS'gradle'
+p397
+(lp398
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp399
+g73
+I00
+sg74
+S'46'
+p400
+sg76
+I00
+sg77
+I00
+sg78
+(lp401
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.7'
+p402
+sS'subdir'
+p403
+S'AdAway'
+p404
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p405
+(lp406
+S'renameExecutables'
+p407
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p408
+(lp409
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p410
+S'v2.7'
+p411
+sg118
+NsS'gradle'
+p412
+(lp413
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp414
+g73
+I00
+sg74
+S'47'
+p415
+sg76
+I00
+sg77
+I00
+sg78
+(lp416
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.8'
+p417
+sS'subdir'
+p418
+S'AdAway'
+p419
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p420
+(lp421
+S'renameExecutables'
+p422
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p423
+(lp424
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p425
+S'v2.8'
+p426
+sg118
+NsS'gradle'
+p427
+(lp428
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp429
+g73
+I00
+sg74
+S'48'
+p430
+sg76
+I00
+sg77
+I00
+sg78
+(lp431
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.8.1'
+p432
+sS'subdir'
+p433
+S'AdAway'
+p434
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p435
+(lp436
+S'renameExecutables'
+p437
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p438
+(lp439
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p440
+S'v2.8.1'
+p441
+sg118
+NsS'gradle'
+p442
+(lp443
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp444
+g73
+I00
+sg74
+S'49'
+p445
+sg76
+I00
+sg77
+I00
+sg78
+(lp446
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.9'
+p447
+sS'subdir'
+p448
+S'AdAway'
+p449
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p450
+(lp451
+S'renameExecutables'
+p452
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p453
+(lp454
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p455
+S'v2.9'
+p456
+sg118
+NsS'gradle'
+p457
+(lp458
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp459
+g73
+I00
+sg74
+S'50'
+p460
+sg76
+I00
+sg77
+I00
+sg78
+(lp461
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.9.1'
+p462
+sS'subdir'
+p463
+S'AdAway'
+p464
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p465
+(lp466
+S'renameExecutables'
+p467
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p468
+(lp469
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p470
+S'v2.9.1'
+p471
+sg118
+NsS'gradle'
+p472
+(lp473
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp474
+g73
+I00
+sg74
+S'51'
+p475
+sg76
+I00
+sg77
+I00
+sg78
+(lp476
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'2.9.2'
+p477
+sS'subdir'
+p478
+S'AdAway'
+p479
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p480
+(lp481
+S'renameExecutables'
+p482
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p483
+(lp484
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p485
+S'v2.9.2'
+p486
+sg118
+NsS'gradle'
+p487
+(lp488
+g110
+asg121
+g27
+sg122
+I00
+sg123
+Nsa(dp489
+g73
+I00
+sg74
+S'52'
+p490
+sg76
+I00
+sg77
+I00
+sg78
+(lp491
+sg80
+g81
+sg119
+g120
+sg83
+g84
+sg85
+Nsg86
+g87
+sg88
+g27
+sg89
+S'3.0'
+p492
+sS'subdir'
+p493
+S'AdAway'
+p494
+sg93
+g94
+sg95
+I00
+sg96
+g27
+sg97
+I00
+sS'preassemble'
+p495
+(lp496
+S'renameExecutables'
+p497
+asg100
+g101
+sg103
+I00
+sg104
+I00
+sg105
+g27
+sg106
+g107
+sS'buildjni'
+p498
+(lp499
+g110
+asg111
+g112
+sg113
+Nsg114
+g82
+sS'commit'
+p500
+S'v3.0'
+p501
+sg118
+NsS'gradle'
+p502
+(lp503
+g110
+asg121
+g27
+sg122
+I00
+sg123
+NsasS'FlattrID'
+p504
+S'369138'
+p505
+sS'metadatapath'
+p506
+S'metadata/org.adaway.json'
+p507
+sS'Disabled'
+p508
+NsS'Update Check Name'
+p509
+NsS'Vercode Operation'
+p510
+NsS'Current Version'
+p511
+S'3.0'
+p512
+s.
\ No newline at end of file
diff --git a/tests/metadata/org.smssecure.smssecure.pickle b/tests/metadata/org.smssecure.smssecure.pickle
new file mode 100644
index 00000000..f872fade
--- /dev/null
+++ b/tests/metadata/org.smssecure.smssecure.pickle
@@ -0,0 +1,777 @@
+(dp0
+S'Update Check Data'
+p1
+NsS'Bitcoin'
+p2
+NsS'AntiFeatures'
+p3
+(lp4
+sS'Web Site'
+p5
+S'http://www.smssecure.org'
+p6
+sS'Auto Update Mode'
+p7
+S'Version v%v'
+p8
+sS'Provides'
+p9
+NsS'Issue Tracker'
+p10
+S'https://github.com/SMSSecure/SMSSecure/issues'
+p11
+sS'Donate'
+p12
+NsS'Repo Type'
+p13
+S'git'
+p14
+sS'Description'
+p15
+(lp16
+S'SMSSecure is an SMS/MMS application that allows you to protect your privacy while communicating with friends.'
+p17
+aS'Using SMSSecure, you can send SMS messages and share media or attachments with complete privacy.'
+p18
+aS''
+p19
+aS"* Easy. SMSSecure works like any other SMS application. There's nothing to sign up for and no new service your friends need to join."
+p20
+aS'* Reliable. SMSSecure communicates using encrypted SMS messages. No servers or internet connection required.'
+p21
+aS'* Private. SMSSecure uses the TextSecure encryption protocol to provide privacy for every message, every time.'
+p22
+aS'* Safe. All messages are encrypted locally, so if your phone is lost or stolen, your messages are protected.'
+p23
+aS'* Open Source. SMSSecure is Free and Open Source, enabling anyone to verify its security by auditing the code.'
+p24
+asS'Requires Root'
+p25
+I00
+sS'comments'
+p26
+(lp27
+sS'id'
+p28
+S'org.smssecure.smssecure'
+p29
+sS'Repo'
+p30
+S'https://github.com/SMSSecure/SMSSecure'
+p31
+sS'No Source Since'
+p32
+g19
+sS'Auto Name'
+p33
+S'SMSSecure'
+p34
+sS'Categories'
+p35
+(lp36
+S'Phone & SMS'
+p37
+asS'Source Code'
+p38
+S'https://github.com/SMSSecure/SMSSecure'
+p39
+sS'Litecoin'
+p40
+NsS'Update Check Ignore'
+p41
+NsS'Name'
+p42
+NsS'License'
+p43
+S'GPLv3'
+p44
+sS'Changelog'
+p45
+g19
+sS'Update Check Mode'
+p46
+S'Tags'
+p47
+sS'Summary'
+p48
+S'Send encrypted text messages (SMS)'
+p49
+sS'Dogecoin'
+p50
+NsS'Maintainer Notes'
+p51
+(lp52
+sS'Current Version Code'
+p53
+S'102'
+p54
+sS'Binaries'
+p55
+NsS'Archive Policy'
+p56
+NsS'builds'
+p57
+(lp58
+(dp59
+S'submodules'
+p60
+I00
+sS'vercode'
+p61
+S'5'
+p62
+sS'forceversion'
+p63
+I00
+sS'oldsdkloc'
+p64
+I00
+sS'antcommands'
+p65
+NsS'scanignore'
+p66
+(lp67
+sS'patch'
+p68
+(lp69
+sS'srclibs'
+p70
+(lp71
+S'GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278'
+p72
+aS'PreferenceFragment@717a45433b927d2f0dfc5328f79e77c9682c37bc'
+p73
+aS'ShortcutBadger@3815ce2ec0c66acd7d7c0b4f2479df8fa70fed87'
+p74
+aS'AospMms@android-5.1.0_r3'
+p75
+asS'encoding'
+p76
+NsS'extlibs'
+p77
+(lp78
+sS'init'
+p79
+g19
+sS'version'
+p80
+S'0.3.3'
+p81
+sS'build'
+p82
+g19
+sS'ndk_path'
+p83
+g19
+sS'kivy'
+p84
+I00
+sS'subdir'
+p85
+NsS'forcevercode'
+p86
+I01
+sS'preassemble'
+p87
+(lp88
+sS'update'
+p89
+(lp90
+S'auto'
+p91
+asS'maven'
+p92
+I00
+sS'disable'
+p93
+S'builds, merge changes into upstream'
+p94
+sS'rm'
+p95
+(lp96
+S'libs/*'
+p97
+asS'scandelete'
+p98
+(lp99
+sS'buildjni'
+p100
+(lp101
+sS'ndk'
+p102
+S'r10e'
+p103
+sS'target'
+p104
+NsS'type'
+p105
+S'gradle'
+p106
+sS'commit'
+p107
+S'66367479a4f57f347b5cbe8f6f8f632adaae7727'
+p108
+sS'gradleprops'
+p109
+(lp110
+sS'gradle'
+p111
+(lp112
+S'yes'
+p113
+asS'prebuild'
+p114
+S"touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar && sed -i -e '20,22d' build.gradle && pushd $$PreferenceFragment$$ && gradle uploadArchives && popd && sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d' build.gradle && mkdir smil && pushd smil && wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip && unzip java-binding.zip && popd && cp -fR smil/java/org src/ && rm -fR smil && sed -i -e '/org.w3c.smil/d' build.gradle && cp -fR $$AospMms$$/src/org src/"
+p115
+sS'novcheck'
+p116
+I00
+sS'output'
+p117
+Nsa(dp118
+S'submodules'
+p119
+I01
+sg61
+S'6'
+p120
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sS'srclibs'
+p121
+(lp122
+S'GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278'
+p123
+asg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.3.3'
+p124
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+NsS'forcevercode'
+p125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sS'disable'
+p126
+S'builds, wait for upstream'
+p127
+sS'rm'
+p128
+(lp129
+S'libs/*.jar'
+p130
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p131
+S'9675ce5eecb929dcaddb43b3d9486fdb88b9ae1a'
+p132
+sg109
+(lp133
+sS'gradle'
+p134
+(lp135
+g113
+asS'prebuild'
+p136
+S'touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar'
+p137
+sg116
+I00
+sg117
+Nsa(dp138
+S'submodules'
+p139
+I01
+sg61
+S'9'
+p140
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sS'srclibs'
+p141
+(lp142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.4.2'
+p143
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sS'disable'
+p144
+S'builds locally, but not on BS'
+p145
+sS'rm'
+p146
+(lp147
+S'libs/*.jar'
+p148
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p149
+S'v0.4.2'
+p150
+sg109
+(lp151
+sS'gradle'
+p152
+(lp153
+g113
+asS'prebuild'
+p154
+S'touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties'
+p155
+sg116
+I00
+sg117
+Nsa(dp156
+S'submodules'
+p157
+I01
+sg61
+S'11'
+p158
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sg141
+g142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.5.1'
+p159
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sS'disable'
+p160
+I00
+sS'rm'
+p161
+(lp162
+S'libs/*.jar'
+p163
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p164
+S'v0.5.1'
+p165
+sg109
+(lp166
+sS'gradle'
+p167
+(lp168
+g113
+asS'prebuild'
+p169
+S'touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties'
+p170
+sg116
+I00
+sg117
+Nsa(dp171
+S'submodules'
+p172
+I01
+sg61
+S'12'
+p173
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sg141
+g142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.5.2'
+p174
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sS'disable'
+p175
+S'broken in upstream'
+p176
+sS'rm'
+p177
+(lp178
+S'libs/*.jar'
+p179
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p180
+S'v0.5.2'
+p181
+sg109
+(lp182
+sS'gradle'
+p183
+(lp184
+g113
+asS'prebuild'
+p185
+S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
+p186
+sg116
+I00
+sg117
+Nsa(dp187
+S'submodules'
+p188
+I01
+sg61
+S'100'
+p189
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sg141
+g142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.5.3'
+p190
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sg160
+I00
+sS'rm'
+p191
+(lp192
+S'libs/*.jar'
+p193
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p194
+S'v0.5.3'
+p195
+sg109
+(lp196
+sS'gradle'
+p197
+(lp198
+g113
+asS'prebuild'
+p199
+S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
+p200
+sg116
+I00
+sg117
+Nsa(dp201
+S'submodules'
+p202
+I01
+sg61
+S'101'
+p203
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sg141
+g142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.5.4'
+p204
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sg160
+I00
+sS'rm'
+p205
+(lp206
+S'libs/*.jar'
+p207
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p208
+S'v0.5.4'
+p209
+sg109
+(lp210
+sS'gradle'
+p211
+(lp212
+g113
+asS'prebuild'
+p213
+S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
+p214
+sg116
+I00
+sg117
+Nsa(dp215
+S'submodules'
+p216
+I01
+sg61
+S'102'
+p217
+sg63
+I00
+sg64
+I00
+sg65
+Nsg66
+g67
+sg68
+g69
+sg141
+g142
+sg76
+Nsg77
+g78
+sg79
+g19
+sg80
+S'0.6.0'
+p218
+sg82
+g19
+sg83
+g19
+sg84
+I00
+sg85
+Nsg125
+I00
+sg87
+g88
+sg89
+g90
+sg92
+I00
+sg160
+I00
+sS'rm'
+p219
+(lp220
+S'libs/*.jar'
+p221
+asg98
+g99
+sg100
+g101
+sg102
+g103
+sg104
+Nsg105
+g106
+sS'commit'
+p222
+S'v0.6.0'
+p223
+sg109
+(lp224
+sS'gradle'
+p225
+(lp226
+g113
+asS'prebuild'
+p227
+S'touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build'
+p228
+sg116
+I00
+sg117
+NsasS'FlattrID'
+p229
+NsS'metadatapath'
+p230
+S'metadata/org.smssecure.smssecure.txt'
+p231
+sS'Disabled'
+p232
+NsS'Update Check Name'
+p233
+NsS'Vercode Operation'
+p234
+NsS'Current Version'
+p235
+S'0.6.0'
+p236
+s.
\ No newline at end of file
diff --git a/tests/metadata/org.smssecure.smssecure.txt b/tests/metadata/org.smssecure.smssecure.txt
new file mode 100644
index 00000000..2f324b7d
--- /dev/null
+++ b/tests/metadata/org.smssecure.smssecure.txt
@@ -0,0 +1,125 @@
+Categories:Phone & SMS
+License:GPLv3
+Web Site:http://www.smssecure.org
+Source Code:https://github.com/SMSSecure/SMSSecure
+Issue Tracker:https://github.com/SMSSecure/SMSSecure/issues
+
+Auto Name:SMSSecure
+Summary:Send encrypted text messages (SMS)
+Description:
+SMSSecure is an SMS/MMS application that allows you to protect your privacy while communicating with friends.
+Using SMSSecure, you can send SMS messages and share media or attachments with complete privacy.
+
+* Easy. SMSSecure works like any other SMS application. There's nothing to sign up for and no new service your friends need to join.
+* Reliable. SMSSecure communicates using encrypted SMS messages. No servers or internet connection required.
+* Private. SMSSecure uses the TextSecure encryption protocol to provide privacy for every message, every time.
+* Safe. All messages are encrypted locally, so if your phone is lost or stolen, your messages are protected.
+* Open Source. SMSSecure is Free and Open Source, enabling anyone to verify its security by auditing the code.
+.
+
+Repo Type:git
+Repo:https://github.com/SMSSecure/SMSSecure
+
+Build:0.3.3,5
+ disable=builds, merge changes into upstream
+ commit=66367479a4f57f347b5cbe8f6f8f632adaae7727
+ gradle=yes
+ srclibs=GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278,PreferenceFragment@717a45433b927d2f0dfc5328f79e77c9682c37bc,ShortcutBadger@3815ce2ec0c66acd7d7c0b4f2479df8fa70fed87,AospMms@android-5.1.0_r3
+ forcevercode=yes
+ rm=libs/*
+ prebuild=touch signing.properties && \
+ pushd $$GradleWitness$$ && \
+ gradle jar && \
+ popd && \
+ cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar && \
+ sed -i -e '20,22d' build.gradle && \
+ pushd $$PreferenceFragment$$ && \
+ gradle uploadArchives && \
+ popd && \
+ sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d' build.gradle && \
+ mkdir smil && \
+ pushd smil && \
+ wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip && \
+ unzip java-binding.zip && \
+ popd && \
+ cp -fR smil/java/org src/ && \
+ rm -fR smil && \
+ sed -i -e '/org.w3c.smil/d' build.gradle && \
+ cp -fR $$AospMms$$/src/org src/
+
+Build:0.3.3,6
+ disable=builds, wait for upstream
+ commit=9675ce5eecb929dcaddb43b3d9486fdb88b9ae1a
+ submodules=yes
+ gradle=yes
+ srclibs=GradleWitness@10f1269c0aafdc1d478efc005ed48f3a47d44278
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ pushd $$GradleWitness$$ && \
+ gradle jar && \
+ popd && \
+ cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar
+
+Build:0.4.2,9
+ disable=builds locally, but not on BS
+ commit=v0.4.2
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./build-witness.sh && \
+ rm -rf libs/gradle-witness/build && \
+ echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
+
+Build:0.5.1,11
+ commit=v0.5.1
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./build-witness.sh && \
+ rm -rf libs/gradle-witness/build && \
+ echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
+
+Build:0.5.2,12
+ disable=broken in upstream
+ commit=v0.5.2
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./scripts/build-witness.sh && \
+ rm -rf libs/gradle-witness/build
+
+Build:0.5.3,100
+ commit=v0.5.3
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./scripts/build-witness.sh && \
+ rm -rf libs/gradle-witness/build
+
+Build:0.5.4,101
+ commit=v0.5.4
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./scripts/build-witness.sh && \
+ rm -rf libs/gradle-witness/build
+
+Build:0.6.0,102
+ commit=v0.6.0
+ submodules=yes
+ gradle=yes
+ rm=libs/*.jar
+ prebuild=touch signing.properties && \
+ ./scripts/build-witness.sh && \
+ rm -rf libs/gradle-witness/build
+
+Auto Update Mode:Version v%v
+Update Check Mode:Tags
+Current Version:0.6.0
+Current Version Code:102
+
diff --git a/tests/metadata/org.videolan.vlc.pickle b/tests/metadata/org.videolan.vlc.pickle
new file mode 100644
index 00000000..ba3d5847
--- /dev/null
+++ b/tests/metadata/org.videolan.vlc.pickle
@@ -0,0 +1,5625 @@
+(dp0
+S'Update Check Data'
+p1
+NsS'Bitcoin'
+p2
+NsS'AntiFeatures'
+p3
+(lp4
+sS'Web Site'
+p5
+S'http://www.videolan.org/vlc/download-android.html'
+p6
+sS'Auto Update Mode'
+p7
+S'None'
+p8
+sS'Provides'
+p9
+NsS'Issue Tracker'
+p10
+S'http://www.videolan.org/support/index.html#bugs'
+p11
+sS'Donate'
+p12
+S'http://www.videolan.org/contribute.html#money'
+p13
+sS'id'
+p14
+S'org.videolan.vlc'
+p15
+sS'Description'
+p16
+(lp17
+S'Video and audio player that supports a wide range of formats,'
+p18
+aS'for both local and remote playback.'
+p19
+aS''
+p20
+aS'[http://git.videolan.org/?p=vlc-ports/android.git;a=blob_plain;f=NEWS NEWS]'
+p21
+asS'Requires Root'
+p22
+I00
+sS'comments'
+p23
+(lp24
+sS'Repo Type'
+p25
+S'git'
+p26
+sS'Repo'
+p27
+S'git://git.videolan.org/vlc-ports/android.git'
+p28
+sS'No Source Since'
+p29
+g20
+sS'Auto Name'
+p30
+S'VLC'
+p31
+sS'Categories'
+p32
+(lp33
+S'Multimedia'
+p34
+asS'Source Code'
+p35
+S'http://git.videolan.org/?p=vlc-ports/android.git;a=summary'
+p36
+sS'Litecoin'
+p37
+NsS'Update Check Ignore'
+p38
+NsS'Name'
+p39
+NsS'License'
+p40
+S'GPLv3'
+p41
+sS'Changelog'
+p42
+g20
+sS'Update Check Mode'
+p43
+S'Tags'
+p44
+sS'Summary'
+p45
+S'Media player'
+p46
+sS'Dogecoin'
+p47
+NsS'Maintainer Notes'
+p48
+(lp49
+S'Instructions and dependencies here: http://wiki.videolan.org/AndroidCompile'
+p50
+aS'see http://buildbot.videolan.org/builders/ for version code scheme'
+p51
+aS'The VLC srclib commit can be found out from TESTED_HASH value in compile.sh'
+p52
+ag20
+aS'On new releases remove the updatecheck and force the CV to the last working'
+p53
+aS"build. This will make sure users don't get notified about the update until"
+p54
+aS'the final build from the BS has been reviewed and tested. Once done, undo'
+p55
+aS'those changes.'
+p56
+asS'Current Version Code'
+p57
+S'1030005'
+p58
+sS'Binaries'
+p59
+NsS'Archive Policy'
+p60
+S'9 versions'
+p61
+sS'builds'
+p62
+(lp63
+(dp64
+S'submodules'
+p65
+I00
+sS'vercode'
+p66
+S'110'
+p67
+sS'forceversion'
+p68
+I01
+sS'oldsdkloc'
+p69
+I00
+sS'gradleprops'
+p70
+(lp71
+sS'scanignore'
+p72
+(lp73
+sS'patch'
+p74
+(lp75
+sS'srclibs'
+p76
+(lp77
+sS'output'
+p78
+NsS'encoding'
+p79
+NsS'extlibs'
+p80
+(lp81
+sS'init'
+p82
+g20
+sS'version'
+p83
+S'0.0.11-ARMv7'
+p84
+sS'build'
+p85
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p86
+sS'ndk_path'
+p87
+g20
+sS'kivy'
+p88
+I00
+sS'subdir'
+p89
+S'vlc-android'
+p90
+sS'forcevercode'
+p91
+I01
+sS'preassemble'
+p92
+(lp93
+sS'update'
+p94
+(lp95
+S'.'
+p96
+aS'../java-libs/SlidingMenu'
+p97
+aS'../java-libs/ActionBarSherlock'
+p98
+asS'maven'
+p99
+I00
+sS'disable'
+p100
+I00
+sS'rm'
+p101
+(lp102
+sS'scandelete'
+p103
+(lp104
+sS'buildjni'
+p105
+(lp106
+S'no'
+p107
+asS'ndk'
+p108
+S'r10e'
+p109
+sS'target'
+p110
+NsS'type'
+p111
+S'ant'
+p112
+sS'antcommands'
+p113
+NsS'gradle'
+p114
+I00
+sS'prebuild'
+p115
+S"sed -i '48d' ../Makefile"
+p116
+sS'novcheck'
+p117
+I00
+sS'commit'
+p118
+S'0.0.11'
+p119
+sa(dp120
+g65
+I00
+sg66
+S'111'
+p121
+sS'forceversion'
+p122
+I01
+sg69
+I00
+sg70
+(lp123
+sg72
+g73
+sg74
+g75
+sg76
+g77
+sg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.0.11-ARM'
+p124
+sS'build'
+p125
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p126
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p127
+S'vlc-android'
+p128
+sS'forcevercode'
+p129
+I01
+sg92
+g93
+sS'update'
+p130
+(lp131
+g96
+aS'../java-libs/SlidingMenu'
+p132
+aS'../java-libs/ActionBarSherlock'
+p133
+asg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p134
+(lp135
+S'no'
+p136
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p137
+S"sed -i '48d' ../Makefile"
+p138
+sg117
+I00
+sS'commit'
+p139
+S'0.0.11'
+p140
+sa(dp141
+g65
+I00
+sg66
+S'112'
+p142
+sS'forceversion'
+p143
+I01
+sg69
+I00
+sg70
+(lp144
+sg72
+g73
+sg74
+g75
+sg76
+g77
+sg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.0.11-x86'
+p145
+sS'build'
+p146
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p147
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p148
+S'vlc-android'
+p149
+sS'forcevercode'
+p150
+I01
+sg92
+g93
+sS'update'
+p151
+(lp152
+g96
+aS'../java-libs/SlidingMenu'
+p153
+aS'../java-libs/ActionBarSherlock'
+p154
+asg99
+I00
+sS'disable'
+p155
+S'ffmpeg error 0.0.11'
+p156
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p157
+(lp158
+S'no'
+p159
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p160
+S"sed -i '48d' ../Makefile"
+p161
+sg117
+I00
+sS'commit'
+p162
+S'unknown - see disabled'
+p163
+sa(dp164
+g65
+I00
+sg66
+S'113'
+p165
+sS'forceversion'
+p166
+I01
+sg69
+I00
+sg70
+(lp167
+sg72
+g73
+sg74
+g75
+sg76
+g77
+sg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.0.11-mips'
+p168
+sS'build'
+p169
+S'cd ../ && ANDROID_ABI=mips ./compile.sh release'
+p170
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p171
+S'vlc-android'
+p172
+sS'forcevercode'
+p173
+I01
+sg92
+g93
+sS'update'
+p174
+(lp175
+g96
+aS'../java-libs/SlidingMenu'
+p176
+aS'../java-libs/ActionBarSherlock'
+p177
+asg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p178
+(lp179
+S'no'
+p180
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p181
+S"sed -i '48d' ../Makefile"
+p182
+sg117
+I00
+sS'commit'
+p183
+S'0.0.11'
+p184
+sa(dp185
+g65
+I00
+sg66
+S'1301'
+p186
+sS'forceversion'
+p187
+I01
+sg69
+I00
+sg70
+(lp188
+sg72
+g73
+sS'patch'
+p189
+(lp190
+S'ndkr9.patch'
+p191
+asS'srclibs'
+p192
+(lp193
+S'VLC@7c52aacbe'
+p194
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.1.3-MIPS'
+p195
+sS'build'
+p196
+S'cd ../ && ANDROID_ABI=mips ./compile.sh release'
+p197
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p198
+S'vlc-android'
+p199
+sS'forcevercode'
+p200
+I01
+sg92
+g93
+sS'update'
+p201
+(lp202
+S'auto'
+p203
+asg99
+I00
+sS'disable'
+p204
+S'build failing (at 0.1.3)'
+p205
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p206
+(lp207
+S'no'
+p208
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p209
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p210
+sg117
+I00
+sS'commit'
+p211
+S'0.1.3'
+p212
+sa(dp213
+g65
+I00
+sg66
+S'1302'
+p214
+sS'forceversion'
+p215
+I01
+sg69
+I00
+sg70
+(lp216
+sg72
+g73
+sS'patch'
+p217
+(lp218
+S'ndkr9.patch'
+p219
+asS'srclibs'
+p220
+(lp221
+S'VLC@7c52aacbe'
+p222
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.1.3-x86'
+p223
+sS'build'
+p224
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p225
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p226
+S'vlc-android'
+p227
+sS'forcevercode'
+p228
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p229
+(lp230
+S'no'
+p231
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p232
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p233
+sg117
+I00
+sS'commit'
+p234
+S'0.1.3'
+p235
+sa(dp236
+g65
+I00
+sg66
+S'1303'
+p237
+sS'forceversion'
+p238
+I01
+sg69
+I00
+sg70
+(lp239
+sg72
+g73
+sS'patch'
+p240
+(lp241
+S'ndkr9.patch'
+p242
+asS'srclibs'
+p243
+(lp244
+S'VLC@7c52aacbe'
+p245
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.1.3-ARM'
+p246
+sS'build'
+p247
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p248
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p249
+S'vlc-android'
+p250
+sS'forcevercode'
+p251
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p252
+(lp253
+S'no'
+p254
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p255
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p256
+sg117
+I00
+sS'commit'
+p257
+S'0.1.3'
+p258
+sa(dp259
+g65
+I00
+sg66
+S'1304'
+p260
+sS'forceversion'
+p261
+I01
+sg69
+I00
+sg70
+(lp262
+sg72
+g73
+sS'patch'
+p263
+(lp264
+S'ndkr9.patch'
+p265
+asS'srclibs'
+p266
+(lp267
+S'VLC@7c52aacbe'
+p268
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.1.3-ARMv7'
+p269
+sS'build'
+p270
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p271
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p272
+S'vlc-android'
+p273
+sS'forcevercode'
+p274
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p275
+(lp276
+S'no'
+p277
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p278
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p279
+sg117
+I00
+sS'commit'
+p280
+S'0.1.3'
+p281
+sa(dp282
+g65
+I00
+sg66
+S'9002'
+p283
+sS'forceversion'
+p284
+I00
+sg69
+I00
+sg70
+(lp285
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p286
+(lp287
+S'VLC@31ffb20309264994'
+p288
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.0'
+p289
+sS'build'
+p290
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p291
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p292
+S'vlc-android'
+p293
+sS'forcevercode'
+p294
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p295
+(lp296
+S'no'
+p297
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p298
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p299
+sg117
+I00
+sS'commit'
+p300
+S'0.9.0'
+p301
+sa(dp302
+g65
+I00
+sg66
+S'9004'
+p303
+sg284
+I00
+sg69
+I00
+sg70
+(lp304
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p305
+(lp306
+S'VLC@31ffb20309264994'
+p307
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.0'
+p308
+sS'build'
+p309
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p310
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p311
+S'vlc-android'
+p312
+sS'forcevercode'
+p313
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p314
+(lp315
+S'no'
+p316
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p317
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p318
+sg117
+I00
+sS'commit'
+p319
+S'0.9.0'
+p320
+sa(dp321
+g65
+I00
+sg66
+S'9102'
+p322
+sg284
+I00
+sg69
+I00
+sg70
+(lp323
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p324
+(lp325
+S'VLC@37e886d113b8b567c15208579fb2f'
+p326
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.1'
+p327
+sS'build'
+p328
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p329
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p330
+S'vlc-android'
+p331
+sS'forcevercode'
+p332
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p333
+(lp334
+S'no'
+p335
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p336
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p337
+sg117
+I00
+sS'commit'
+p338
+S'0.9.1'
+p339
+sa(dp340
+g65
+I00
+sg66
+S'9104'
+p341
+sg284
+I00
+sg69
+I00
+sg70
+(lp342
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p343
+(lp344
+S'VLC@37e886d113b8b567c15208579fb2f'
+p345
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.1'
+p346
+sS'build'
+p347
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p348
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p349
+S'vlc-android'
+p350
+sS'forcevercode'
+p351
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p352
+(lp353
+S'no'
+p354
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p355
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p356
+sg117
+I00
+sS'commit'
+p357
+S'0.9.1'
+p358
+sa(dp359
+g65
+I00
+sg66
+S'9502'
+p360
+sg284
+I00
+sg69
+I00
+sg70
+(lp361
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p362
+(lp363
+S'VLC@052600173f376ff58ff04d53746961a2'
+p364
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.5'
+p365
+sS'build'
+p366
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p367
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p368
+S'vlc-android'
+p369
+sS'forcevercode'
+p370
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p371
+S"can't download gmp"
+p372
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p373
+(lp374
+S'no'
+p375
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p376
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p377
+sg117
+I00
+sS'commit'
+p378
+S'0.9.5'
+p379
+sa(dp380
+g65
+I00
+sg66
+S'9504'
+p381
+sg284
+I00
+sg69
+I00
+sg70
+(lp382
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p383
+(lp384
+S'VLC@052600173f376ff58ff04d53746961a2'
+p385
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.5'
+p386
+sS'build'
+p387
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p388
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p389
+S'vlc-android'
+p390
+sS'forcevercode'
+p391
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p392
+S"can't download gmp"
+p393
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p394
+(lp395
+S'no'
+p396
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p397
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc"
+p398
+sg117
+I00
+sS'commit'
+p399
+S'0.9.5'
+p400
+sa(dp401
+g65
+I00
+sg66
+S'9602'
+p402
+sg284
+I00
+sg69
+I00
+sg70
+(lp403
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p404
+(lp405
+S'VLC-2.2@27f4799'
+p406
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.6'
+p407
+sS'build'
+p408
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p409
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p410
+S'vlc-android'
+p411
+sS'forcevercode'
+p412
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p413
+(lp414
+S'no'
+p415
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p416
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p417
+sg117
+I00
+sS'commit'
+p418
+S'0.9.6'
+p419
+sa(dp420
+g65
+I00
+sg66
+S'9604'
+p421
+sg284
+I00
+sg69
+I00
+sg70
+(lp422
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p423
+(lp424
+S'VLC-2.2@27f4799'
+p425
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.6'
+p426
+sS'build'
+p427
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p428
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p429
+S'vlc-android'
+p430
+sS'forcevercode'
+p431
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p432
+(lp433
+S'no'
+p434
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p435
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p436
+sg117
+I00
+sS'commit'
+p437
+S'0.9.6'
+p438
+sa(dp439
+g65
+I00
+sg66
+S'9702'
+p440
+sg284
+I00
+sg69
+I00
+sg70
+(lp441
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p442
+(lp443
+S'VLC-2.2@9e1c6ff'
+p444
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.7'
+p445
+sS'build'
+p446
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p447
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p448
+S'vlc-android'
+p449
+sS'forcevercode'
+p450
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p451
+(lp452
+S'no'
+p453
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p454
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p455
+sg117
+I00
+sS'commit'
+p456
+S'0.9.7'
+p457
+sa(dp458
+g65
+I00
+sg66
+S'9704'
+p459
+sg284
+I00
+sg69
+I00
+sg70
+(lp460
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p461
+(lp462
+S'VLC-2.2@9e1c6ff'
+p463
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.7'
+p464
+sS'build'
+p465
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p466
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p467
+S'vlc-android'
+p468
+sS'forcevercode'
+p469
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p470
+(lp471
+S'no'
+p472
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p473
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p474
+sg117
+I00
+sS'commit'
+p475
+S'0.9.7'
+p476
+sa(dp477
+g65
+I00
+sg66
+S'9711'
+p478
+sg284
+I00
+sg69
+I00
+sg70
+(lp479
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p480
+(lp481
+S'VLC-2.2@57cd36b'
+p482
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.7.1'
+p483
+sS'build'
+p484
+S'cd ../ && ANDROID_ABI=mips ./compile.sh release'
+p485
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p486
+S'vlc-android'
+p487
+sS'forcevercode'
+p488
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p489
+S'build fails'
+p490
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p491
+(lp492
+S'no'
+p493
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p494
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p495
+sg117
+I00
+sS'commit'
+p496
+S'0.9.7.1'
+p497
+sa(dp498
+g65
+I00
+sg66
+S'9712'
+p499
+sg284
+I00
+sg69
+I00
+sg70
+(lp500
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p501
+(lp502
+S'VLC-2.2@57cd36b'
+p503
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.7.1'
+p504
+sS'build'
+p505
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p506
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p507
+S'vlc-android'
+p508
+sS'forcevercode'
+p509
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p510
+(lp511
+S'no'
+p512
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p513
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p514
+sg117
+I00
+sS'commit'
+p515
+S'0.9.7.1'
+p516
+sa(dp517
+g65
+I00
+sg66
+S'9714'
+p518
+sg284
+I00
+sg69
+I00
+sg70
+(lp519
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p520
+(lp521
+S'VLC-2.2@57cd36b'
+p522
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.7.1'
+p523
+sS'build'
+p524
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p525
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p526
+S'vlc-android'
+p527
+sS'forcevercode'
+p528
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p529
+(lp530
+S'no'
+p531
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p532
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p533
+sg117
+I00
+sS'commit'
+p534
+S'0.9.7.1'
+p535
+sa(dp536
+g65
+I00
+sg66
+S'9802'
+p537
+sg284
+I00
+sg69
+I00
+sg70
+(lp538
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p539
+(lp540
+S'VLC-2.2@f2db364'
+p541
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.8'
+p542
+sS'build'
+p543
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p544
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p545
+S'vlc-android'
+p546
+sS'forcevercode'
+p547
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p548
+(lp549
+S'no'
+p550
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p551
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p552
+sg117
+I00
+sS'commit'
+p553
+S'0.9.8'
+p554
+sa(dp555
+g65
+I00
+sg66
+S'9803'
+p556
+sg284
+I00
+sg69
+I00
+sg70
+(lp557
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p558
+(lp559
+S'VLC-2.2@f2db364'
+p560
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.8'
+p561
+sS'build'
+p562
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p563
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p564
+S'vlc-android'
+p565
+sS'forcevercode'
+p566
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p567
+(lp568
+S'no'
+p569
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p570
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p571
+sg117
+I00
+sS'commit'
+p572
+S'0.9.8'
+p573
+sa(dp574
+g65
+I00
+sg66
+S'9804'
+p575
+sg284
+I00
+sg69
+I00
+sg70
+(lp576
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p577
+(lp578
+S'VLC-2.2@f2db364'
+p579
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.8'
+p580
+sS'build'
+p581
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p582
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p583
+S'vlc-android'
+p584
+sS'forcevercode'
+p585
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p586
+(lp587
+S'no'
+p588
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p589
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p590
+sg117
+I00
+sS'commit'
+p591
+S'0.9.8'
+p592
+sa(dp593
+g65
+I00
+sg66
+S'9902'
+p594
+sg284
+I00
+sg69
+I00
+sg70
+(lp595
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p596
+(lp597
+S'VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1'
+p598
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.9'
+p599
+sS'build'
+p600
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p601
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p602
+S'vlc-android'
+p603
+sS'forcevercode'
+p604
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p605
+(lp606
+S'no'
+p607
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p608
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p609
+sg117
+I00
+sS'commit'
+p610
+S'0.9.9'
+p611
+sa(dp612
+g65
+I00
+sg66
+S'9903'
+p613
+sg284
+I00
+sg69
+I00
+sg70
+(lp614
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p615
+(lp616
+S'VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1'
+p617
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.9'
+p618
+sS'build'
+p619
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p620
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p621
+S'vlc-android'
+p622
+sS'forcevercode'
+p623
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p624
+(lp625
+S'no'
+p626
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p627
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p628
+sg117
+I00
+sS'commit'
+p629
+S'0.9.9'
+p630
+sa(dp631
+g65
+I00
+sg66
+S'9904'
+p632
+sg284
+I00
+sg69
+I00
+sg70
+(lp633
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p634
+(lp635
+S'VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1'
+p636
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.9'
+p637
+sS'build'
+p638
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p639
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p640
+S'vlc-android'
+p641
+sS'forcevercode'
+p642
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p643
+(lp644
+S'no'
+p645
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p646
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p647
+sg117
+I00
+sS'commit'
+p648
+S'0.9.9'
+p649
+sa(dp650
+g65
+I00
+sg66
+S'10002'
+p651
+sg284
+I00
+sg69
+I00
+sg70
+(lp652
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p653
+(lp654
+S'VLC-2.2@e33e5de'
+p655
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.10'
+p656
+sS'build'
+p657
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p658
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p659
+S'vlc-android'
+p660
+sS'forcevercode'
+p661
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p662
+(lp663
+S'no'
+p664
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p665
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p666
+sg117
+I00
+sS'commit'
+p667
+S'0.9.10'
+p668
+sa(dp669
+g65
+I00
+sg66
+S'10003'
+p670
+sg284
+I00
+sg69
+I00
+sg70
+(lp671
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p672
+(lp673
+S'VLC-2.2@e33e5de'
+p674
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.10'
+p675
+sS'build'
+p676
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p677
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p678
+S'vlc-android'
+p679
+sS'forcevercode'
+p680
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p681
+(lp682
+S'no'
+p683
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p684
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p685
+sg117
+I00
+sS'commit'
+p686
+S'0.9.10'
+p687
+sa(dp688
+g65
+I00
+sg66
+S'10004'
+p689
+sg284
+I00
+sg69
+I00
+sg70
+(lp690
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p691
+(lp692
+S'VLC-2.2@e33e5de'
+p693
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'0.9.10'
+p694
+sS'build'
+p695
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p696
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p697
+S'vlc-android'
+p698
+sS'forcevercode'
+p699
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p700
+(lp701
+S'no'
+p702
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p703
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p704
+sg117
+I00
+sS'commit'
+p705
+S'0.9.10'
+p706
+sa(dp707
+g65
+I00
+sg66
+S'10006'
+p708
+sg284
+I00
+sg69
+I00
+sg70
+(lp709
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p710
+(lp711
+S'VLC-2.2@036010e'
+p712
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.0'
+p713
+sS'build'
+p714
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p715
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p716
+S'vlc-android'
+p717
+sS'forcevercode'
+p718
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p719
+S"doesn't build"
+p720
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p721
+(lp722
+S'no'
+p723
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p724
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p725
+sg117
+I00
+sS'commit'
+p726
+S'1.0.0'
+p727
+sa(dp728
+g65
+I00
+sg66
+S'10007'
+p729
+sg284
+I00
+sg69
+I00
+sg70
+(lp730
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p731
+(lp732
+S'VLC-2.2@036010e'
+p733
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.0'
+p734
+sS'build'
+p735
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p736
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p737
+S'vlc-android'
+p738
+sS'forcevercode'
+p739
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p740
+S"doesn't build"
+p741
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p742
+(lp743
+S'no'
+p744
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p745
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p746
+sg117
+I00
+sS'commit'
+p747
+S'1.0.0'
+p748
+sa(dp749
+g65
+I00
+sg66
+S'10008'
+p750
+sg284
+I00
+sg69
+I00
+sg70
+(lp751
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p752
+(lp753
+S'VLC-2.2@036010e'
+p754
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.0'
+p755
+sS'build'
+p756
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p757
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p758
+S'vlc-android'
+p759
+sS'forcevercode'
+p760
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sS'disable'
+p761
+S"doesn't build"
+p762
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p763
+(lp764
+S'no'
+p765
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p766
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p767
+sg117
+I00
+sS'commit'
+p768
+S'1.0.0'
+p769
+sa(dp770
+g65
+I00
+sg66
+S'10102'
+p771
+sg284
+I00
+sg69
+I00
+sg70
+(lp772
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p773
+(lp774
+S'VLC-2.2@59409d5'
+p775
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.1'
+p776
+sS'build'
+p777
+S'cd ../ && ANDROID_ABI=x86 ./compile.sh release'
+p778
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p779
+S'vlc-android'
+p780
+sS'forcevercode'
+p781
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p782
+(lp783
+S'no'
+p784
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p785
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p786
+sg117
+I00
+sS'commit'
+p787
+S'1.0.1'
+p788
+sa(dp789
+g65
+I00
+sg66
+S'10103'
+p790
+sg284
+I00
+sg69
+I00
+sg70
+(lp791
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p792
+(lp793
+S'VLC-2.2@59409d5'
+p794
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.1'
+p795
+sS'build'
+p796
+S'cd ../ && ANDROID_ABI=armeabi ./compile.sh release'
+p797
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p798
+S'vlc-android'
+p799
+sS'forcevercode'
+p800
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p801
+(lp802
+S'no'
+p803
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p804
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p805
+sg117
+I00
+sS'commit'
+p806
+S'1.0.1'
+p807
+sa(dp808
+g65
+I00
+sg66
+S'10104'
+p809
+sg284
+I00
+sg69
+I00
+sg70
+(lp810
+sg72
+g73
+sg74
+g75
+sS'srclibs'
+p811
+(lp812
+S'VLC-2.2@59409d5'
+p813
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.0.1'
+p814
+sS'build'
+p815
+S'cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release'
+p816
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p817
+S'vlc-android'
+p818
+sS'forcevercode'
+p819
+I01
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p820
+(lp821
+S'no'
+p822
+asg108
+g109
+sg110
+Nsg111
+g112
+sg113
+Nsg114
+I00
+sS'prebuild'
+p823
+S"sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc"
+p824
+sg117
+I00
+sS'commit'
+p825
+S'1.0.1'
+p826
+sa(dp827
+g65
+I00
+sg66
+S'1010303'
+p828
+sg284
+I00
+sg69
+I00
+sg70
+(lp829
+sg72
+g73
+sS'gradle'
+p830
+(lp831
+S'VanillaARMv6fpu'
+p832
+asS'srclibs'
+p833
+(lp834
+S'VLC@a9b19e4'
+p835
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.3'
+p836
+sS'build'
+p837
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p838
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p839
+S'vlc-android'
+p840
+sS'forcevercode'
+p841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p842
+(lp843
+S'no'
+p844
+asS'ndk'
+p845
+S'r10d'
+p846
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p847
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p848
+sg117
+I00
+sS'commit'
+p849
+S'1.1.3'
+p850
+sa(dp851
+g65
+I00
+sg66
+S'1010304'
+p852
+sg284
+I00
+sg69
+I00
+sg70
+(lp853
+sg72
+g73
+sS'gradle'
+p854
+(lp855
+S'VanillaARMv7'
+p856
+asS'srclibs'
+p857
+(lp858
+S'VLC@a9b19e4'
+p859
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.3'
+p860
+sS'build'
+p861
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p862
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p863
+S'vlc-android'
+p864
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p865
+(lp866
+S'no'
+p867
+asS'ndk'
+p868
+S'r10d'
+p869
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p870
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p871
+sg117
+I00
+sS'commit'
+p872
+S'1.1.3'
+p873
+sa(dp874
+g65
+I00
+sg66
+S'1010305'
+p875
+sg284
+I00
+sg69
+I00
+sg70
+(lp876
+sg72
+g73
+sS'gradle'
+p877
+(lp878
+S'VanillaX86'
+p879
+asS'srclibs'
+p880
+(lp881
+S'VLC@a9b19e4'
+p882
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.3'
+p883
+sS'build'
+p884
+S'cd ../ && ./compile.sh -a "x86" --release'
+p885
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p886
+S'vlc-android'
+p887
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p888
+(lp889
+S'no'
+p890
+asS'ndk'
+p891
+S'r10d'
+p892
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p893
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p894
+sg117
+I00
+sS'commit'
+p895
+S'1.1.3'
+p896
+sa(dp897
+g65
+I00
+sg66
+S'1010503'
+p898
+sg284
+I00
+sg69
+I00
+sg70
+(lp899
+sg72
+g73
+sS'gradle'
+p900
+(lp901
+S'VanillaARMv6fpu'
+p902
+asS'srclibs'
+p903
+(lp904
+S'VLC@e6b4585'
+p905
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.5'
+p906
+sS'build'
+p907
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p908
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p909
+S'vlc-android'
+p910
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p911
+(lp912
+S'no'
+p913
+asS'ndk'
+p914
+S'r10d'
+p915
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p916
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p917
+sg117
+I00
+sS'commit'
+p918
+S'1.1.5'
+p919
+sa(dp920
+g65
+I00
+sg66
+S'1010504'
+p921
+sg284
+I00
+sg69
+I00
+sg70
+(lp922
+sg72
+g73
+sS'gradle'
+p923
+(lp924
+S'VanillaARMv7'
+p925
+asS'srclibs'
+p926
+(lp927
+S'VLC@e6b4585'
+p928
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.5'
+p929
+sS'build'
+p930
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p931
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p932
+S'vlc-android'
+p933
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p934
+(lp935
+S'no'
+p936
+asS'ndk'
+p937
+S'r10d'
+p938
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p939
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p940
+sg117
+I00
+sS'commit'
+p941
+S'1.1.5'
+p942
+sa(dp943
+g65
+I00
+sg66
+S'1010505'
+p944
+sg284
+I00
+sg69
+I00
+sg70
+(lp945
+sg72
+g73
+sS'gradle'
+p946
+(lp947
+S'VanillaX86'
+p948
+asS'srclibs'
+p949
+(lp950
+S'VLC@e6b4585'
+p951
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.5'
+p952
+sS'build'
+p953
+S'cd ../ && ./compile.sh -a "x86" --release'
+p954
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p955
+S'vlc-android'
+p956
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p957
+(lp958
+S'no'
+p959
+asS'ndk'
+p960
+S'r10d'
+p961
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p962
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p963
+sg117
+I00
+sS'commit'
+p964
+S'1.1.5'
+p965
+sa(dp966
+g65
+I00
+sg66
+S'1010603'
+p967
+sg284
+I00
+sg69
+I00
+sg70
+(lp968
+sg72
+g73
+sS'gradle'
+p969
+(lp970
+S'VanillaARMv6fpu'
+p971
+asS'srclibs'
+p972
+(lp973
+S'VLC@551b670'
+p974
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.6'
+p975
+sS'build'
+p976
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p977
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p978
+S'vlc-android'
+p979
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p980
+(lp981
+S'no'
+p982
+asS'ndk'
+p983
+S'r10d'
+p984
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p985
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p986
+sg117
+I00
+sS'commit'
+p987
+S'1.1.6'
+p988
+sa(dp989
+g65
+I00
+sg66
+S'1010604'
+p990
+sg284
+I00
+sg69
+I00
+sg70
+(lp991
+sg72
+g73
+sS'gradle'
+p992
+(lp993
+S'VanillaARMv7'
+p994
+asS'srclibs'
+p995
+(lp996
+S'VLC@551b670'
+p997
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.6'
+p998
+sS'build'
+p999
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1000
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1001
+S'vlc-android'
+p1002
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1003
+(lp1004
+S'no'
+p1005
+asS'ndk'
+p1006
+S'r10d'
+p1007
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1008
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1009
+sg117
+I00
+sS'commit'
+p1010
+S'1.1.6'
+p1011
+sa(dp1012
+g65
+I00
+sg66
+S'1010605'
+p1013
+sg284
+I00
+sg69
+I00
+sg70
+(lp1014
+sg72
+g73
+sS'gradle'
+p1015
+(lp1016
+S'VanillaX86'
+p1017
+asS'srclibs'
+p1018
+(lp1019
+S'VLC@551b670'
+p1020
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.1.6'
+p1021
+sS'build'
+p1022
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1023
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1024
+S'vlc-android'
+p1025
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1026
+(lp1027
+S'no'
+p1028
+asS'ndk'
+p1029
+S'r10d'
+p1030
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1031
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1032
+sg117
+I00
+sS'commit'
+p1033
+S'1.1.6'
+p1034
+sa(dp1035
+g65
+I00
+sg66
+S'1020003'
+p1036
+sg284
+I00
+sg69
+I00
+sg70
+(lp1037
+sg72
+g73
+sS'gradle'
+p1038
+(lp1039
+S'VanillaARMv6fpu'
+p1040
+asS'srclibs'
+p1041
+(lp1042
+S'VLC@23c8d86'
+p1043
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.0'
+p1044
+sS'build'
+p1045
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1046
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1047
+S'vlc-android'
+p1048
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1049
+(lp1050
+S'no'
+p1051
+asS'ndk'
+p1052
+S'r10d'
+p1053
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1054
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1055
+sg117
+I00
+sS'commit'
+p1056
+S'1.2.0'
+p1057
+sa(dp1058
+g65
+I00
+sg66
+S'1020004'
+p1059
+sg284
+I00
+sg69
+I00
+sg70
+(lp1060
+sg72
+g73
+sS'gradle'
+p1061
+(lp1062
+S'VanillaARMv7'
+p1063
+asS'srclibs'
+p1064
+(lp1065
+S'VLC@23c8d86'
+p1066
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.0'
+p1067
+sS'build'
+p1068
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1069
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1070
+S'vlc-android'
+p1071
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1072
+(lp1073
+S'no'
+p1074
+asS'ndk'
+p1075
+S'r10d'
+p1076
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1077
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1078
+sg117
+I00
+sS'commit'
+p1079
+S'1.2.0'
+p1080
+sa(dp1081
+g65
+I00
+sg66
+S'1020005'
+p1082
+sg284
+I00
+sg69
+I00
+sg70
+(lp1083
+sg72
+g73
+sS'gradle'
+p1084
+(lp1085
+S'VanillaX86'
+p1086
+asS'srclibs'
+p1087
+(lp1088
+S'VLC@23c8d86'
+p1089
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.0'
+p1090
+sS'build'
+p1091
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1092
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1093
+S'vlc-android'
+p1094
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1095
+(lp1096
+S'no'
+p1097
+asS'ndk'
+p1098
+S'r10d'
+p1099
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1100
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1101
+sg117
+I00
+sS'commit'
+p1102
+S'1.2.0'
+p1103
+sa(dp1104
+g65
+I00
+sg66
+S'1020103'
+p1105
+sg284
+I00
+sg69
+I00
+sg70
+(lp1106
+sg72
+g73
+sS'gradle'
+p1107
+(lp1108
+S'VanillaARMv6fpu'
+p1109
+asS'srclibs'
+p1110
+(lp1111
+S'VLC@23c8d86'
+p1112
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.1'
+p1113
+sS'build'
+p1114
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1115
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1116
+S'vlc-android'
+p1117
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1118
+(lp1119
+S'no'
+p1120
+asS'ndk'
+p1121
+S'r10d'
+p1122
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1123
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1124
+sg117
+I00
+sS'commit'
+p1125
+S'1.2.1'
+p1126
+sa(dp1127
+g65
+I00
+sg66
+S'1020104'
+p1128
+sg284
+I00
+sg69
+I00
+sg70
+(lp1129
+sg72
+g73
+sS'gradle'
+p1130
+(lp1131
+S'VanillaARMv7'
+p1132
+asS'srclibs'
+p1133
+(lp1134
+S'VLC@23c8d86'
+p1135
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.1'
+p1136
+sS'build'
+p1137
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1138
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1139
+S'vlc-android'
+p1140
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1141
+(lp1142
+S'no'
+p1143
+asS'ndk'
+p1144
+S'r10d'
+p1145
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1146
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1147
+sg117
+I00
+sS'commit'
+p1148
+S'1.2.1'
+p1149
+sa(dp1150
+g65
+I00
+sg66
+S'1020105'
+p1151
+sg284
+I00
+sg69
+I00
+sg70
+(lp1152
+sg72
+g73
+sS'gradle'
+p1153
+(lp1154
+S'VanillaX86'
+p1155
+asS'srclibs'
+p1156
+(lp1157
+S'VLC@23c8d86'
+p1158
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.1'
+p1159
+sS'build'
+p1160
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1161
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1162
+S'vlc-android'
+p1163
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1164
+(lp1165
+S'no'
+p1166
+asS'ndk'
+p1167
+S'r10d'
+p1168
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1169
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1170
+sg117
+I00
+sS'commit'
+p1171
+S'1.2.1'
+p1172
+sa(dp1173
+g65
+I00
+sg66
+S'1020203'
+p1174
+sg284
+I00
+sg69
+I00
+sg70
+(lp1175
+sg72
+g73
+sS'gradle'
+p1176
+(lp1177
+S'VanillaARMv6fpu'
+p1178
+asS'srclibs'
+p1179
+(lp1180
+S'VLC@7491a5f'
+p1181
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.2'
+p1182
+sS'build'
+p1183
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1184
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1185
+S'vlc-android'
+p1186
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1187
+(lp1188
+S'no'
+p1189
+asS'ndk'
+p1190
+S'r10d'
+p1191
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1192
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1193
+sg117
+I00
+sS'commit'
+p1194
+S'1.2.2'
+p1195
+sa(dp1196
+g65
+I00
+sg66
+S'1020204'
+p1197
+sg284
+I00
+sg69
+I00
+sg70
+(lp1198
+sg72
+g73
+sS'gradle'
+p1199
+(lp1200
+S'VanillaARMv7'
+p1201
+asS'srclibs'
+p1202
+(lp1203
+S'VLC@7491a5f'
+p1204
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.2'
+p1205
+sS'build'
+p1206
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1207
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1208
+S'vlc-android'
+p1209
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1210
+(lp1211
+S'no'
+p1212
+asS'ndk'
+p1213
+S'r10d'
+p1214
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1215
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1216
+sg117
+I00
+sS'commit'
+p1217
+S'1.2.2'
+p1218
+sa(dp1219
+g65
+I00
+sg66
+S'1020205'
+p1220
+sg284
+I00
+sg69
+I00
+sg70
+(lp1221
+sg72
+g73
+sS'gradle'
+p1222
+(lp1223
+S'VanillaX86'
+p1224
+asS'srclibs'
+p1225
+(lp1226
+S'VLC@7491a5f'
+p1227
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.2'
+p1228
+sS'build'
+p1229
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1230
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1231
+S'vlc-android'
+p1232
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1233
+(lp1234
+S'no'
+p1235
+asS'ndk'
+p1236
+S'r10d'
+p1237
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1238
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1239
+sg117
+I00
+sS'commit'
+p1240
+S'1.2.2'
+p1241
+sa(dp1242
+g65
+I00
+sg66
+S'1020303'
+p1243
+sg284
+I00
+sg69
+I00
+sg70
+(lp1244
+sg72
+g73
+sS'gradle'
+p1245
+(lp1246
+S'VanillaARMv6fpu'
+p1247
+asS'srclibs'
+p1248
+(lp1249
+S'VLC@7491a5f'
+p1250
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.3'
+p1251
+sS'build'
+p1252
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1253
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1254
+S'vlc-android'
+p1255
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1256
+(lp1257
+S'no'
+p1258
+asS'ndk'
+p1259
+S'r10d'
+p1260
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1261
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1262
+sg117
+I00
+sS'commit'
+p1263
+S'1.2.3'
+p1264
+sa(dp1265
+g65
+I00
+sg66
+S'1020304'
+p1266
+sg284
+I00
+sg69
+I00
+sg70
+(lp1267
+sg72
+g73
+sS'gradle'
+p1268
+(lp1269
+S'VanillaARMv7'
+p1270
+asS'srclibs'
+p1271
+(lp1272
+S'VLC@7491a5f'
+p1273
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.3'
+p1274
+sS'build'
+p1275
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1276
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1277
+S'vlc-android'
+p1278
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1279
+(lp1280
+S'no'
+p1281
+asS'ndk'
+p1282
+S'r10d'
+p1283
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1284
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1285
+sg117
+I00
+sS'commit'
+p1286
+S'1.2.3'
+p1287
+sa(dp1288
+g65
+I00
+sg66
+S'1020305'
+p1289
+sg284
+I00
+sg69
+I00
+sg70
+(lp1290
+sg72
+g73
+sS'gradle'
+p1291
+(lp1292
+S'VanillaX86'
+p1293
+asS'srclibs'
+p1294
+(lp1295
+S'VLC@7491a5f'
+p1296
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.3'
+p1297
+sS'build'
+p1298
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1299
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1300
+S'vlc-android'
+p1301
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1302
+(lp1303
+S'no'
+p1304
+asS'ndk'
+p1305
+S'r10d'
+p1306
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1307
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1308
+sg117
+I00
+sS'commit'
+p1309
+S'1.2.3'
+p1310
+sa(dp1311
+g65
+I00
+sg66
+S'1020403'
+p1312
+sg284
+I00
+sg69
+I00
+sg70
+(lp1313
+sg72
+g73
+sS'gradle'
+p1314
+(lp1315
+S'VanillaARMv6fpu'
+p1316
+asS'srclibs'
+p1317
+(lp1318
+S'VLC@7491a5f'
+p1319
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.4'
+p1320
+sS'build'
+p1321
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1322
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1323
+S'vlc-android'
+p1324
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1325
+(lp1326
+S'no'
+p1327
+asS'ndk'
+p1328
+S'r10d'
+p1329
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1330
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1331
+sg117
+I00
+sS'commit'
+p1332
+S'1.2.4'
+p1333
+sa(dp1334
+g65
+I00
+sg66
+S'1020404'
+p1335
+sg284
+I00
+sg69
+I00
+sg70
+(lp1336
+sg72
+g73
+sS'gradle'
+p1337
+(lp1338
+S'VanillaARMv7'
+p1339
+asS'srclibs'
+p1340
+(lp1341
+S'VLC@7491a5f'
+p1342
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.4'
+p1343
+sS'build'
+p1344
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1345
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1346
+S'vlc-android'
+p1347
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1348
+(lp1349
+S'no'
+p1350
+asS'ndk'
+p1351
+S'r10d'
+p1352
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1353
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1354
+sg117
+I00
+sS'commit'
+p1355
+S'1.2.4'
+p1356
+sa(dp1357
+g65
+I00
+sg66
+S'1020405'
+p1358
+sg284
+I00
+sg69
+I00
+sg70
+(lp1359
+sg72
+g73
+sS'gradle'
+p1360
+(lp1361
+S'VanillaX86'
+p1362
+asS'srclibs'
+p1363
+(lp1364
+S'VLC@7491a5f'
+p1365
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.4'
+p1366
+sS'build'
+p1367
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1368
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1369
+S'vlc-android'
+p1370
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1371
+(lp1372
+S'no'
+p1373
+asS'ndk'
+p1374
+S'r10d'
+p1375
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1376
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1377
+sg117
+I00
+sS'commit'
+p1378
+S'1.2.4'
+p1379
+sa(dp1380
+g65
+I00
+sg66
+S'1020503'
+p1381
+sg284
+I00
+sg69
+I00
+sg70
+(lp1382
+sg72
+g73
+sS'gradle'
+p1383
+(lp1384
+S'VanillaARMv6fpu'
+p1385
+asS'srclibs'
+p1386
+(lp1387
+S'VLC@50accb8'
+p1388
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.5'
+p1389
+sS'build'
+p1390
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1391
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1392
+S'vlc-android'
+p1393
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1394
+(lp1395
+S'no'
+p1396
+asS'ndk'
+p1397
+S'r10d'
+p1398
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1399
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1400
+sg117
+I00
+sS'commit'
+p1401
+S'1.2.5'
+p1402
+sa(dp1403
+g65
+I00
+sg66
+S'1020504'
+p1404
+sg284
+I00
+sg69
+I00
+sg70
+(lp1405
+sg72
+g73
+sS'gradle'
+p1406
+(lp1407
+S'VanillaARMv7'
+p1408
+asS'srclibs'
+p1409
+(lp1410
+S'VLC@50accb8'
+p1411
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.5'
+p1412
+sS'build'
+p1413
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1414
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1415
+S'vlc-android'
+p1416
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1417
+(lp1418
+S'no'
+p1419
+asS'ndk'
+p1420
+S'r10d'
+p1421
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1422
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1423
+sg117
+I00
+sS'commit'
+p1424
+S'1.2.5'
+p1425
+sa(dp1426
+g65
+I00
+sg66
+S'1020505'
+p1427
+sg284
+I00
+sg69
+I00
+sg70
+(lp1428
+sg72
+g73
+sS'gradle'
+p1429
+(lp1430
+S'VanillaX86'
+p1431
+asS'srclibs'
+p1432
+(lp1433
+S'VLC@50accb8'
+p1434
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.5'
+p1435
+sS'build'
+p1436
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1437
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1438
+S'vlc-android'
+p1439
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1440
+(lp1441
+S'no'
+p1442
+asS'ndk'
+p1443
+S'r10d'
+p1444
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1445
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1446
+sg117
+I00
+sS'commit'
+p1447
+S'1.2.5'
+p1448
+sa(dp1449
+g65
+I00
+sg66
+S'1030003'
+p1450
+sg284
+I00
+sg69
+I00
+sg70
+(lp1451
+sg72
+g73
+sS'gradle'
+p1452
+(lp1453
+S'VanillaARMv6fpu'
+p1454
+asS'srclibs'
+p1455
+(lp1456
+S'VLC@d59b81a'
+p1457
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.6'
+p1458
+sS'build'
+p1459
+S'cd ../ && ./compile.sh -a "armeabi" --release'
+p1460
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1461
+S'vlc-android'
+p1462
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1463
+(lp1464
+S'no'
+p1465
+asS'ndk'
+p1466
+S'r10d'
+p1467
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1468
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1469
+sg117
+I00
+sS'commit'
+p1470
+S'1.2.6'
+p1471
+sa(dp1472
+g65
+I00
+sg66
+S'1030004'
+p1473
+sg284
+I00
+sg69
+I00
+sg70
+(lp1474
+sg72
+g73
+sS'gradle'
+p1475
+(lp1476
+S'VanillaARMv7'
+p1477
+asS'srclibs'
+p1478
+(lp1479
+S'VLC@d59b81a'
+p1480
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.6'
+p1481
+sS'build'
+p1482
+S'cd ../ && ./compile.sh -a "armeabi-v7a" --release'
+p1483
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1484
+S'vlc-android'
+p1485
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1486
+(lp1487
+S'no'
+p1488
+asS'ndk'
+p1489
+S'r10d'
+p1490
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1491
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1492
+sg117
+I00
+sS'commit'
+p1493
+S'1.2.6'
+p1494
+sa(dp1495
+g65
+I00
+sg66
+S'1030005'
+p1496
+sg284
+I00
+sg69
+I00
+sg70
+(lp1497
+sg72
+g73
+sS'gradle'
+p1498
+(lp1499
+S'VanillaX86'
+p1500
+asS'srclibs'
+p1501
+(lp1502
+S'VLC@d59b81a'
+p1503
+asg78
+Nsg79
+Nsg80
+g81
+sg82
+g20
+sg83
+S'1.2.6'
+p1504
+sS'build'
+p1505
+S'cd ../ && ./compile.sh -a "x86" --release'
+p1506
+sg87
+g20
+sg88
+I00
+sS'subdir'
+p1507
+S'vlc-android'
+p1508
+sg841
+I00
+sg92
+g93
+sg201
+g202
+sg99
+I00
+sg100
+I00
+sg101
+g102
+sg103
+g104
+sS'buildjni'
+p1509
+(lp1510
+S'no'
+p1511
+asS'ndk'
+p1512
+S'r10d'
+p1513
+sg110
+Nsg111
+g114
+sg113
+Nsg74
+g75
+sS'prebuild'
+p1514
+S'sed -i -e \'/^TARGET/aexit 0\' -e \'s@\\-d \\"gradle\\/wrapper\\"@1@g\' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc'
+p1515
+sg117
+I00
+sS'commit'
+p1516
+S'1.2.6'
+p1517
+sasS'FlattrID'
+p1518
+NsS'metadatapath'
+p1519
+S'metadata/org.videolan.vlc.yaml'
+p1520
+sS'Disabled'
+p1521
+NsS'Update Check Name'
+p1522
+NsS'Vercode Operation'
+p1523
+S'%c + 5'
+p1524
+sS'Current Version'
+p1525
+S'1.2.6'
+p1526
+s.
\ No newline at end of file
diff --git a/tests/metadata/org.videolan.vlc.yaml b/tests/metadata/org.videolan.vlc.yaml
new file mode 100644
index 00000000..67983880
--- /dev/null
+++ b/tests/metadata/org.videolan.vlc.yaml
@@ -0,0 +1,911 @@
+Categories:
+ - Multimedia
+License: GPLv3
+Web Site: http://www.videolan.org/vlc/download-android.html
+Source Code: http://git.videolan.org/?p=vlc-ports/android.git;a=summary
+Issue Tracker: "http://www.videolan.org/support/index.html#bugs"
+Donate: "http://www.videolan.org/contribute.html#money"
+
+Auto Name: VLC
+Summary: Media player
+Description: |
+ Video and audio player that supports a wide range of formats,
+ for both local and remote playback.
+
+ [http://git.videolan.org/?p=vlc-ports/android.git;a=blob_plain;f=NEWS NEWS]
+
+Repo Type: git
+Repo: git://git.videolan.org/vlc-ports/android.git
+
+builds:
+ - versionName: 0.0.11-ARMv7
+ versionCode: 110
+ commit: 0.0.11
+ subdir: vlc-android
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '48d' ../Makefile
+ update:
+ - .
+ - ../java-libs/SlidingMenu
+ - ../java-libs/ActionBarSherlock
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.0.11-ARM
+ versionCode: 111
+ commit: 0.0.11
+ subdir: vlc-android
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '48d' ../Makefile
+ update:
+ - .
+ - ../java-libs/SlidingMenu
+ - ../java-libs/ActionBarSherlock
+ build: |
+ cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.0.11-x86
+ versionCode: 112
+ disable: ffmpeg error 0.0.11
+ commit: unknown - see disabled
+ subdir: vlc-android
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '48d' ../Makefile
+ update:
+ - .
+ - ../java-libs/SlidingMenu
+ - ../java-libs/ActionBarSherlock
+ build: |
+ cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.0.11-mips
+ versionCode: 113
+ commit: 0.0.11
+ subdir: vlc-android
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '48d' ../Makefile
+ update:
+ - .
+ - ../java-libs/SlidingMenu
+ - ../java-libs/ActionBarSherlock
+ build: >
+ cd ../ && \
+ ANDROID_ABI=mips ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.1.3-MIPS
+ versionCode: 1301
+ disable: build failing (at 0.1.3)
+ commit: 0.1.3
+ subdir: vlc-android
+ patch: ndkr9.patch
+ srclibs: VLC@7c52aacbe
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: |
+ cd ../ && \
+ ANDROID_ABI=mips ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.1.3-x86
+ versionCode: 1302
+ commit: 0.1.3
+ subdir: vlc-android
+ patch: ndkr9.patch
+ srclibs: VLC@7c52aacbe
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.1.3-ARM
+ versionCode: 1303
+ commit: 0.1.3
+ subdir: vlc-android
+ patch: ndkr9.patch
+ srclibs: VLC@7c52aacbe
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.1.3-ARMv7
+ versionCode: 1304
+ commit: 0.1.3
+ subdir: vlc-android
+ patch: ndkr9.patch
+ srclibs: VLC@7c52aacbe
+ forceversion: yes
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.0
+ versionCode: 9002
+ commit: 0.9.0
+ subdir: vlc-android
+ srclibs: VLC@31ffb20309264994
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.0
+ versionCode: 9004
+ commit: 0.9.0
+ subdir: vlc-android
+ srclibs: VLC@31ffb20309264994
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.1
+ versionCode: 9102
+ commit: 0.9.1
+ subdir: vlc-android
+ srclibs: VLC@37e886d113b8b567c15208579fb2f
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.1
+ versionCode: 9104
+ commit: 0.9.1
+ subdir: vlc-android
+ srclibs: VLC@37e886d113b8b567c15208579fb2f
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.5
+ versionCode: 9502
+ disable: can't download gmp
+ commit: 0.9.5
+ subdir: vlc-android
+ srclibs: VLC@052600173f376ff58ff04d53746961a2
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.5
+ versionCode: 9504
+ disable: can't download gmp
+ commit: 0.9.5
+ subdir: vlc-android
+ srclibs: VLC@052600173f376ff58ff04d53746961a2
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.6
+ versionCode: 9602
+ commit: 0.9.6
+ subdir: vlc-android
+ srclibs: VLC-2.2@27f4799
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.6
+ versionCode: 9604
+ commit: 0.9.6
+ subdir: vlc-android
+ srclibs: VLC-2.2@27f4799
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.7
+ versionCode: 9702
+ commit: 0.9.7
+ subdir: vlc-android
+ srclibs: VLC-2.2@9e1c6ff
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.7
+ versionCode: 9704
+ commit: 0.9.7
+ subdir: vlc-android
+ srclibs: VLC-2.2@9e1c6ff
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.7.1
+ versionCode: 9711
+ disable: build fails
+ commit: 0.9.7.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@57cd36b
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=mips ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.7.1
+ versionCode: 9712
+ commit: 0.9.7.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@57cd36b
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.7.1
+ versionCode: 9714
+ commit: 0.9.7.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@57cd36b
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.8
+ versionCode: 9802
+ commit: 0.9.8
+ subdir: vlc-android
+ srclibs: VLC-2.2@f2db364
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.8
+ versionCode: 9803
+ commit: 0.9.8
+ subdir: vlc-android
+ srclibs: VLC-2.2@f2db364
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.8
+ versionCode: 9804
+ commit: 0.9.8
+ subdir: vlc-android
+ srclibs: VLC-2.2@f2db364
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.9
+ versionCode: 9902
+ commit: 0.9.9
+ subdir: vlc-android
+ srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.9
+ versionCode: 9903
+ commit: 0.9.9
+ subdir: vlc-android
+ srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.9
+ versionCode: 9904
+ commit: 0.9.9
+ subdir: vlc-android
+ srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.10
+ versionCode: 10002
+ commit: 0.9.10
+ subdir: vlc-android
+ srclibs: VLC-2.2@e33e5de
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.10
+ versionCode: 10003
+ commit: 0.9.10
+ subdir: vlc-android
+ srclibs: VLC-2.2@e33e5de
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 0.9.10
+ versionCode: 10004
+ commit: 0.9.10
+ subdir: vlc-android
+ srclibs: VLC-2.2@e33e5de
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+#0.9.10 vercodes were off
+ - versionName: 1.0.0
+ versionCode: 10006
+ disable: doesn't build
+ commit: 1.0.0
+ subdir: vlc-android
+ srclibs: VLC-2.2@036010e
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+#0.9.10 vercodes were off
+ - versionName: 1.0.0
+ versionCode: 10007
+ disable: doesn't build
+ commit: 1.0.0
+ subdir: vlc-android
+ srclibs: VLC-2.2@036010e
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+#0.9.10 vercodes were off
+ - versionName: 1.0.0
+ versionCode: 10008
+ disable: doesn't build
+ commit: 1.0.0
+ subdir: vlc-android
+ srclibs: VLC-2.2@036010e
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 1.0.1
+ versionCode: 10102
+ commit: 1.0.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@59409d5
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=x86 ./compile.sh release
+ buildjni: no
+
+ - versionName: 1.0.1
+ versionCode: 10103
+ commit: 1.0.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@59409d5
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi ./compile.sh release
+ buildjni: no
+
+ - versionName: 1.0.1
+ versionCode: 10104
+ commit: 1.0.1
+ subdir: vlc-android
+ srclibs: VLC-2.2@59409d5
+ forcevercode: yes
+ prebuild: sed -i '/ant/d' ../Makefile && \
+ ln -s vlc-android/$$VLC-2.2$$ ../vlc
+ build: cd ../ && \
+ ANDROID_ABI=armeabi-v7a ./compile.sh release
+ buildjni: no
+
+ - versionName: 1.1.3
+ versionCode: 1010303
+ commit: 1.1.3
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@a9b19e4
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.3
+ versionCode: 1010304
+ commit: 1.1.3
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@a9b19e4
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.3
+ versionCode: 1010305
+ commit: 1.1.3
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@a9b19e4
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.5
+ versionCode: 1010503
+ commit: 1.1.5
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@e6b4585
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.5
+ versionCode: 1010504
+ commit: 1.1.5
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@e6b4585
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.5
+ versionCode: 1010505
+ commit: 1.1.5
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@e6b4585
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.6
+ versionCode: 1010603
+ commit: 1.1.6
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@551b670
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.6
+ versionCode: 1010604
+ commit: 1.1.6
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@551b670
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.1.6
+ versionCode: 1010605
+ commit: 1.1.6
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@551b670
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.0
+ versionCode: 1020003
+ commit: 1.2.0
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.0
+ versionCode: 1020004
+ commit: 1.2.0
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.0
+ versionCode: 1020005
+ commit: 1.2.0
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.1
+ versionCode: 1020103
+ commit: 1.2.1
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.1
+ versionCode: 1020104
+ commit: 1.2.1
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.1
+ versionCode: 1020105
+ commit: 1.2.1
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@23c8d86
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.2
+ versionCode: 1020203
+ commit: 1.2.2
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.2
+ versionCode: 1020204
+ commit: 1.2.2
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.2
+ versionCode: 1020205
+ commit: 1.2.2
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.3
+ versionCode: 1020303
+ commit: 1.2.3
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.3
+ versionCode: 1020304
+ commit: 1.2.3
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.3
+ versionCode: 1020305
+ commit: 1.2.3
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.4
+ versionCode: 1020403
+ commit: 1.2.4
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.4
+ versionCode: 1020404
+ commit: 1.2.4
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.4
+ versionCode: 1020405
+ commit: 1.2.4
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@7491a5f
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.5
+ versionCode: 1020503
+ commit: 1.2.5
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@50accb8
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.5
+ versionCode: 1020504
+ commit: 1.2.5
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@50accb8
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.5
+ versionCode: 1020505
+ commit: 1.2.5
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@50accb8
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.6
+ versionCode: 1030003
+ commit: 1.2.6
+ subdir: vlc-android
+ gradle: VanillaARMv6fpu
+ srclibs: VLC@d59b81a
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.6
+ versionCode: 1030004
+ commit: 1.2.6
+ subdir: vlc-android
+ gradle: VanillaARMv7
+ srclibs: VLC@d59b81a
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "armeabi-v7a" --release
+ buildjni: no
+ ndk: r10d
+
+ - versionName: 1.2.6
+ versionCode: 1030005
+ commit: 1.2.6
+ subdir: vlc-android
+ gradle: VanillaX86
+ srclibs: VLC@d59b81a
+ prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
+ ln -s vlc-android/$$VLC$$ ../vlc
+ build: cd ../ && \
+ ./compile.sh -a "x86" --release
+ buildjni: no
+ ndk: r10d
+
+Maintainer Notes: |
+ Instructions and dependencies here: http://wiki.videolan.org/AndroidCompile
+ see http://buildbot.videolan.org/builders/ for version code scheme
+ The VLC srclib commit can be found out from TESTED_HASH value in compile.sh
+
+ On new releases remove the updatecheck and force the CV to the last working
+ build. This will make sure users don't get notified about the update until
+ the final build from the BS has been reviewed and tested. Once done, undo
+ those changes.
+
+# NEW BUILDS
+# +0: vanilla
+# +1: armv5
+# +2: armv6nofpu
+# +3: armv6fpu
+# +4: armv7
+# +5: x86
+# +6: mips
+# +7: armv8
+# +8: x86_64
+# +9: mips64
+# OLD BUILD SYSTEM
+# +0: - (upstream)
+# +1: mips
+# +2: x86
+# +3: arm
+# +4: armv7 (CV)
+Archive Policy: 9 versions
+Auto Update Mode: None
+Update Check Mode: Tags
+# Only use higher vercode ops, if we do build those arches
+Vercode Operation: "%c + 5"
+Current Version: 1.2.6
+Current Version Code: 1030005
diff --git a/tests/metadata/update-pickle.py b/tests/metadata/update-pickle.py
new file mode 100755
index 00000000..28111339
--- /dev/null
+++ b/tests/metadata/update-pickle.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python2
+#
+# This script is for updating the .pickle test files when there are changes to
+# the default metadata, e.g. adding a new key/tag.
+
+import glob
+import pickle
+
+for picklefile in glob.glob('*.pickle'):
+ p = pickle.load(open(picklefile))
+
+ for build in p['builds']:
+ build['gradleprops'] = []
+
+ pickle.dump(p, open(picklefile, 'w'))
diff --git a/tests/run-tests b/tests/run-tests
index 7891e3c9..65ab0d88 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -109,6 +109,44 @@ cd $WORKSPACE/docs
./gendocs.sh -o html --email admin@f-droid.org fdroid "F-Droid Server Manual"
+#------------------------------------------------------------------------------#
+echo_header "test metadata checks"
+
+REPOROOT=`create_test_dir`
+cd $REPOROOT
+
+touch config.py
+mkdir repo
+cp $WORKSPACE/tests/urzip.apk $REPOROOT/repo/
+
+set +e
+$fdroid build
+if [ $? -eq 0 ]; then
+ echo "This should have failed because there is no metadata!"
+ exit 1
+else
+ echo "testing metadata checks passed"
+fi
+set -e
+
+mkdir $REPOROOT/metadata/
+cp $WORKSPACE/tests/metadata/org.smssecure.smssecure.txt $REPOROOT/metadata/
+$fdroid readmeta
+
+# now make a fake duplicate
+touch $REPOROOT/metadata/org.smssecure.smssecure.yaml
+
+set +e
+$fdroid readmeta
+if [ $? -eq 0 ]; then
+ echo "This should have failed because there is a duplicate metadata file!"
+ exit 1
+else
+ echo "testing duplicate metadata checks passed"
+fi
+set -e
+
+
#------------------------------------------------------------------------------#
echo_header "create a source tarball and use that to build a repo"
diff --git a/tests/update.TestCase b/tests/update.TestCase
index c5f4a4c8..aa342aba 100755
--- a/tests/update.TestCase
+++ b/tests/update.TestCase
@@ -4,22 +4,23 @@
# http://www.drdobbs.com/testing/unit-testing-with-python/240165163
import inspect
+import logging
import optparse
import os
import sys
import unittest
-localmodule = os.path.realpath(os.path.join(
- os.path.dirname(inspect.getfile(inspect.currentframe())),
- '..'))
+localmodule = os.path.realpath(
+ os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
print('localmodule: ' + localmodule)
if localmodule not in sys.path:
- sys.path.insert(0,localmodule)
+ sys.path.insert(0, localmodule)
import fdroidserver.common
import fdroidserver.update
from fdroidserver.common import FDroidPopen
+
class UpdateTest(unittest.TestCase):
'''fdroid update'''
@@ -39,13 +40,13 @@ class UpdateTest(unittest.TestCase):
return sig
else:
return None
-
+
def testGoodGetsig(self):
apkfile = os.path.join(os.path.dirname(__file__), 'urzip.apk')
sig = self.javagetsig(apkfile)
self.assertIsNotNone(sig, "sig is None")
pysig = fdroidserver.update.getsig(apkfile)
- self.assertIsNotNone(pysig, "pysig is None")
+ self.assertIsNotNone(pysig, "pysig is None")
self.assertEquals(sig, fdroidserver.update.getsig(apkfile),
"python sig not equal to java sig!")
self.assertEquals(len(sig), len(pysig),