mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-10-06 01:11:07 +03:00
Merge branch 'make-Build-App-act-like-dicts' into 'master'
make Build and App classes act like dicts See merge request !210
This commit is contained in:
commit
2a421d653c
27 changed files with 1292 additions and 1108 deletions
10
.gitignore
vendored
10
.gitignore
vendored
|
@ -4,6 +4,7 @@
|
|||
*.pyc
|
||||
*.class
|
||||
*.box
|
||||
TAGS
|
||||
|
||||
# files generated by build
|
||||
build/
|
||||
|
@ -17,6 +18,7 @@ docs/html/
|
|||
# files generated by tests
|
||||
tmp/
|
||||
/tests/repo/icons*
|
||||
/tests/repo/latestapps.dat
|
||||
|
||||
# files used in manual testing
|
||||
/config.py
|
||||
|
@ -26,10 +28,14 @@ tmp/
|
|||
makebuildserver.config.py
|
||||
/tests/.fdroid.keypass.txt
|
||||
/tests/.fdroid.keystorepass.txt
|
||||
/tests/config.py
|
||||
/tests/fdroid-icon.png
|
||||
/tests/keystore.jks
|
||||
/tests/OBBMainOldVersion.apk
|
||||
/tests/OBBMainPatchCurrent.apk
|
||||
/tests/OBBMainTwoVersions.apk
|
||||
/tests/archive/categories.txt
|
||||
/tests/archive/icons*
|
||||
/tests/archive/index.jar
|
||||
/tests/archive/index.xml
|
||||
/tests/repo/index.jar
|
||||
/tests/urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234.apk
|
||||
/unsigned/
|
||||
|
|
|
@ -175,10 +175,10 @@ The repository of older versions of applications from the main demo repository.
|
|||
# and the archive, if it is enabled. So these URLs should end in the
|
||||
# 'fdroid' base of the F-Droid part of the web server like serverwebroot.
|
||||
#
|
||||
# mirrors = {
|
||||
# mirrors = (
|
||||
# 'https://foo.bar/fdroid',
|
||||
# 'http://foobarfoobarfoobar.onion/fdroid',
|
||||
# }
|
||||
# )
|
||||
|
||||
# optionally specific which identity file to use when using rsync over SSH
|
||||
#
|
||||
|
@ -253,7 +253,7 @@ The repository of older versions of applications from the main demo repository.
|
|||
|
||||
# By default, fdroid will use YAML .yml and the custom .txt metadata formats. It
|
||||
# is also possible to have metadata in JSON by adding 'json'.
|
||||
# accepted_formats = ['txt', 'yml']
|
||||
# accepted_formats = ('txt', 'yml')
|
||||
|
||||
# Limit in number of characters that fields can take up
|
||||
# Only the fields listed here are supported, defaults shown
|
||||
|
@ -269,13 +269,13 @@ The repository of older versions of applications from the main demo repository.
|
|||
# the packageNames listed. This is protected by the same signing key
|
||||
# as the app index metadata.
|
||||
#
|
||||
# install_list = {
|
||||
# install_list = (
|
||||
# 'at.bitfire.davdroid',
|
||||
# 'com.fsck.k9',
|
||||
# 'us.replicant',
|
||||
# }
|
||||
# )
|
||||
#
|
||||
# uninstall_list = {
|
||||
# uninstall_list = (
|
||||
# 'com.facebook.orca',
|
||||
# 'com.android.vending',
|
||||
# }
|
||||
# )
|
||||
|
|
|
@ -393,7 +393,7 @@ def build_server(app, build, vcs, build_dir, output_dir, force):
|
|||
cmdline += ' --force --test'
|
||||
if options.verbose:
|
||||
cmdline += ' --verbose'
|
||||
cmdline += " %s:%s" % (app.id, build.vercode)
|
||||
cmdline += " %s:%s" % (app.id, build.versionCode)
|
||||
chan.exec_command('bash --login -c "' + cmdline + '"')
|
||||
|
||||
output = bytes()
|
||||
|
@ -413,7 +413,7 @@ def build_server(app, build, vcs, build_dir, output_dir, force):
|
|||
if returncode != 0:
|
||||
raise BuildException(
|
||||
"Build.py failed on server for {0}:{1}".format(
|
||||
app.id, build.version), str(output, 'utf-8'))
|
||||
app.id, build.versionName), str(output, 'utf-8'))
|
||||
|
||||
# Retrieve the built files...
|
||||
logging.info("Retrieving build output...")
|
||||
|
@ -430,7 +430,7 @@ def build_server(app, build, vcs, build_dir, output_dir, force):
|
|||
except:
|
||||
raise BuildException(
|
||||
"Build failed for %s:%s - missing output files".format(
|
||||
app.id, build.version), output)
|
||||
app.id, build.versionName), output)
|
||||
ftp.close()
|
||||
|
||||
finally:
|
||||
|
@ -499,8 +499,8 @@ def get_metadata_from_apk(app, build, apkfile):
|
|||
if nativecode is None:
|
||||
raise BuildException("Native code should have been built but none was packaged")
|
||||
if build.novcheck:
|
||||
vercode = build.vercode
|
||||
version = build.version
|
||||
vercode = build.versionCode
|
||||
version = build.versionName
|
||||
if not version or not vercode:
|
||||
raise BuildException("Could not find version information in build in output")
|
||||
if not foundid:
|
||||
|
@ -589,7 +589,7 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||
|
||||
if p is not None and p.returncode != 0:
|
||||
raise BuildException("Error cleaning %s:%s" %
|
||||
(app.id, build.version), p.output)
|
||||
(app.id, build.versionName), p.output)
|
||||
|
||||
for root, dirs, files in os.walk(build_dir):
|
||||
|
||||
|
@ -658,7 +658,7 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||
|
||||
if p.returncode != 0:
|
||||
raise BuildException("Error running build command for %s:%s" %
|
||||
(app.id, build.version), p.output)
|
||||
(app.id, build.versionName), p.output)
|
||||
|
||||
# Build native stuff if required...
|
||||
if build.buildjni and build.buildjni != ['no']:
|
||||
|
@ -686,7 +686,7 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||
del manifest_text
|
||||
p = FDroidPopen(cmd, cwd=os.path.join(root_dir, d))
|
||||
if p.returncode != 0:
|
||||
raise BuildException("NDK build failed for %s:%s" % (app.id, build.version), p.output)
|
||||
raise BuildException("NDK build failed for %s:%s" % (app.id, build.versionName), p.output)
|
||||
|
||||
p = None
|
||||
# Build the release...
|
||||
|
@ -800,8 +800,8 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||
bindir = os.path.join(root_dir, 'bin')
|
||||
|
||||
if p is not None and p.returncode != 0:
|
||||
raise BuildException("Build failed for %s:%s" % (app.id, build.version), p.output)
|
||||
logging.info("Successfully built version " + build.version + ' of ' + app.id)
|
||||
raise BuildException("Build failed for %s:%s" % (app.id, build.versionName), p.output)
|
||||
logging.info("Successfully built version " + build.versionName + ' of ' + app.id)
|
||||
|
||||
omethod = build.output_method()
|
||||
if omethod == 'maven':
|
||||
|
@ -877,15 +877,15 @@ def build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir,
|
|||
|
||||
if common.get_file_extension(src) == 'apk':
|
||||
vercode, version = get_metadata_from_apk(app, build, src)
|
||||
if (version != build.version or vercode != build.vercode):
|
||||
if (version != build.versionName or vercode != build.versionCode):
|
||||
raise BuildException(("Unexpected version/version code in output;"
|
||||
" APK: '%s' / '%s', "
|
||||
" Expected: '%s' / '%s'")
|
||||
% (version, str(vercode), build.version,
|
||||
str(build.vercode)))
|
||||
% (version, str(vercode), build.versionName,
|
||||
str(build.versionCode)))
|
||||
else:
|
||||
vercode = build.vercode
|
||||
version = build.version
|
||||
vercode = build.versionCode
|
||||
version = build.versionName
|
||||
|
||||
# Add information for 'fdroid verify' to be able to reproduce the build
|
||||
# environment.
|
||||
|
@ -948,7 +948,7 @@ def trybuild(app, build, build_dir, output_dir, also_check_dir, srclib_dir, extl
|
|||
return False
|
||||
|
||||
logging.info("Building version %s (%s) of %s" % (
|
||||
build.version, build.vercode, app.id))
|
||||
build.versionName, build.versionCode, app.id))
|
||||
|
||||
if server:
|
||||
# When using server mode, still keep a local cache of the repo, by
|
||||
|
@ -1159,7 +1159,7 @@ def main():
|
|||
vcs, build_dir = common.setup_vcs(app)
|
||||
first = False
|
||||
|
||||
logging.debug("Checking " + build.version)
|
||||
logging.debug("Checking " + build.versionName)
|
||||
if trybuild(app, build, build_dir, output_dir,
|
||||
also_check_dir, srclib_dir, extlib_dir,
|
||||
tmp_dir, repo_dir, vcs, options.test,
|
||||
|
@ -1173,10 +1173,10 @@ def main():
|
|||
# alongside our built one in the 'unsigend'
|
||||
# directory.
|
||||
url = app.Binaries
|
||||
url = url.replace('%v', build.version)
|
||||
url = url.replace('%c', str(build.vercode))
|
||||
url = url.replace('%v', build.versionName)
|
||||
url = url.replace('%c', str(build.versionCode))
|
||||
logging.info("...retrieving " + url)
|
||||
of = "{0}_{1}.apk.binary".format(app.id, build.vercode)
|
||||
of = "{0}_{1}.apk.binary".format(app.id, build.versionCode)
|
||||
of = os.path.join(output_dir, of)
|
||||
net.download_file(url, local_filename=of)
|
||||
|
||||
|
@ -1194,7 +1194,7 @@ def main():
|
|||
with open(os.path.join(log_dir, appid + '.log'), 'a+') as f:
|
||||
f.write('\n\n============================================================\n')
|
||||
f.write('versionCode: %s\nversionName: %s\ncommit: %s\n' %
|
||||
(build.vercode, build.version, build.commit))
|
||||
(build.versionCode, build.versionName, build.commit))
|
||||
f.write('Build completed at '
|
||||
+ time.strftime("%Y-%m-%d %H:%M:%SZ", time.gmtime()) + '\n')
|
||||
f.write('\n' + tools_version_log + '\n')
|
||||
|
@ -1215,7 +1215,7 @@ def main():
|
|||
if options.wiki and wikilog:
|
||||
try:
|
||||
# Write a page with the last build log for this version code
|
||||
lastbuildpage = appid + '/lastbuild_' + build.vercode
|
||||
lastbuildpage = appid + '/lastbuild_' + build.versionCode
|
||||
newpage = site.Pages[lastbuildpage]
|
||||
with open(os.path.join('tmp', 'fdroidserverid')) as fp:
|
||||
fdroidserverid = fp.read().rstrip()
|
||||
|
|
|
@ -462,22 +462,22 @@ def checkupdates_app(app, first=True):
|
|||
gotcur = False
|
||||
latest = None
|
||||
for build in app.builds:
|
||||
if int(build.vercode) >= int(app.CurrentVersionCode):
|
||||
if int(build.versionCode) >= int(app.CurrentVersionCode):
|
||||
gotcur = True
|
||||
if not latest or int(build.vercode) > int(latest.vercode):
|
||||
if not latest or int(build.versionCode) > int(latest.versionCode):
|
||||
latest = build
|
||||
|
||||
if int(latest.vercode) > int(app.CurrentVersionCode):
|
||||
if int(latest.versionCode) > int(app.CurrentVersionCode):
|
||||
logging.info("Refusing to auto update, since the latest build is newer")
|
||||
|
||||
if not gotcur:
|
||||
newbuild = copy.deepcopy(latest)
|
||||
newbuild.disable = False
|
||||
newbuild.vercode = app.CurrentVersionCode
|
||||
newbuild.version = app.CurrentVersion + suffix
|
||||
logging.info("...auto-generating build for " + newbuild.version)
|
||||
commit = pattern.replace('%v', newbuild.version)
|
||||
commit = commit.replace('%c', newbuild.vercode)
|
||||
newbuild.versionCode = app.CurrentVersionCode
|
||||
newbuild.versionName = app.CurrentVersion + suffix
|
||||
logging.info("...auto-generating build for " + newbuild.versionName)
|
||||
commit = pattern.replace('%v', newbuild.versionName)
|
||||
commit = commit.replace('%c', newbuild.versionCode)
|
||||
newbuild.commit = commit
|
||||
app.builds.append(newbuild)
|
||||
name = common.getappname(app)
|
||||
|
|
|
@ -221,6 +221,12 @@ def read_config(opts, config_file='config.py'):
|
|||
logging.critical("Missing config file - is this a repo directory?")
|
||||
sys.exit(2)
|
||||
|
||||
for k in ('mirrors', 'install_list', 'uninstall_list', 'serverwebroot', 'servergitroot'):
|
||||
if k in config:
|
||||
if not type(config[k]) in (str, list, tuple):
|
||||
logging.warn('"' + k + '" will be in random order!'
|
||||
+ ' Use () or [] brackets if order is important!')
|
||||
|
||||
# smartcardoptions must be a list since its command line args for Popen
|
||||
if 'smartcardoptions' in config:
|
||||
config['smartcardoptions'] = config['smartcardoptions'].split(' ')
|
||||
|
@ -443,10 +449,10 @@ def read_app_args(args, allapps, allow_vercodes=False):
|
|||
vc = vercodes[appid]
|
||||
if not vc:
|
||||
continue
|
||||
app.builds = [b for b in app.builds if b.vercode in vc]
|
||||
app.builds = [b for b in app.builds if b.versionCode in vc]
|
||||
if len(app.builds) != len(vercodes[appid]):
|
||||
error = True
|
||||
allvcs = [b.vercode for b in app.builds]
|
||||
allvcs = [b.versionCode for b in app.builds]
|
||||
for v in vercodes[appid]:
|
||||
if v not in allvcs:
|
||||
logging.critical("No such vercode %s for app %s" % (v, appid))
|
||||
|
@ -497,13 +503,13 @@ def publishednameinfo(filename):
|
|||
|
||||
def get_release_filename(app, build):
|
||||
if build.output:
|
||||
return "%s_%s.%s" % (app.id, build.vercode, get_file_extension(build.output))
|
||||
return "%s_%s.%s" % (app.id, build.versionCode, get_file_extension(build.output))
|
||||
else:
|
||||
return "%s_%s.apk" % (app.id, build.vercode)
|
||||
return "%s_%s.apk" % (app.id, build.versionCode)
|
||||
|
||||
|
||||
def getsrcname(app, build):
|
||||
return "%s_%s_src.tar.gz" % (app.id, build.vercode)
|
||||
return "%s_%s_src.tar.gz" % (app.id, build.versionCode)
|
||||
|
||||
|
||||
def getappname(app):
|
||||
|
@ -1384,7 +1390,7 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||
p = FDroidPopen(['bash', '-x', '-c', cmd], cwd=root_dir)
|
||||
if p.returncode != 0:
|
||||
raise BuildException("Error running init command for %s:%s" %
|
||||
(app.id, build.version), p.output)
|
||||
(app.id, build.versionName), p.output)
|
||||
|
||||
# Apply patches if any
|
||||
if build.patch:
|
||||
|
@ -1475,11 +1481,11 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||
continue
|
||||
if has_extension(path, 'xml'):
|
||||
regsub_file(r'android:versionName="[^"]*"',
|
||||
r'android:versionName="%s"' % build.version,
|
||||
r'android:versionName="%s"' % build.versionName,
|
||||
path)
|
||||
elif has_extension(path, 'gradle'):
|
||||
regsub_file(r"""(\s*)versionName[\s'"=]+.*""",
|
||||
r"""\1versionName '%s'""" % build.version,
|
||||
r"""\1versionName '%s'""" % build.versionName,
|
||||
path)
|
||||
|
||||
if build.forcevercode:
|
||||
|
@ -1489,11 +1495,11 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||
continue
|
||||
if has_extension(path, 'xml'):
|
||||
regsub_file(r'android:versionCode="[^"]*"',
|
||||
r'android:versionCode="%s"' % build.vercode,
|
||||
r'android:versionCode="%s"' % build.versionCode,
|
||||
path)
|
||||
elif has_extension(path, 'gradle'):
|
||||
regsub_file(r'versionCode[ =]+[0-9]+',
|
||||
r'versionCode %s' % build.vercode,
|
||||
r'versionCode %s' % build.versionCode,
|
||||
path)
|
||||
|
||||
# Delete unwanted files
|
||||
|
@ -1541,18 +1547,18 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||
p = FDroidPopen(['bash', '-x', '-c', cmd], cwd=root_dir)
|
||||
if p.returncode != 0:
|
||||
raise BuildException("Error running prebuild command for %s:%s" %
|
||||
(app.id, build.version), p.output)
|
||||
(app.id, build.versionName), p.output)
|
||||
|
||||
# Generate (or update) the ant build file, build.xml...
|
||||
if build.build_method() == 'ant' and build.update != ['no']:
|
||||
if build.build_method() == 'ant' and build.androidupdate != ['no']:
|
||||
parms = ['android', 'update', 'lib-project']
|
||||
lparms = ['android', 'update', 'project']
|
||||
|
||||
if build.target:
|
||||
parms += ['-t', build.target]
|
||||
lparms += ['-t', build.target]
|
||||
if build.update:
|
||||
update_dirs = build.update
|
||||
if build.androidupdate:
|
||||
update_dirs = build.androidupdate
|
||||
else:
|
||||
update_dirs = ant_subprojects(root_dir) + ['.']
|
||||
|
||||
|
@ -1918,8 +1924,8 @@ def replace_config_vars(cmd, build):
|
|||
cmd = cmd.replace('$$QT$$', config['qt_sdk_path'] or '')
|
||||
if build is not None:
|
||||
cmd = cmd.replace('$$COMMIT$$', build.commit)
|
||||
cmd = cmd.replace('$$VERSION$$', build.version)
|
||||
cmd = cmd.replace('$$VERCODE$$', build.vercode)
|
||||
cmd = cmd.replace('$$VERSION$$', build.versionName)
|
||||
cmd = cmd.replace('$$VERCODE$$', build.versionCode)
|
||||
return cmd
|
||||
|
||||
|
||||
|
|
|
@ -457,7 +457,7 @@ def main():
|
|||
for build in reversed(app.builds):
|
||||
if build.disable:
|
||||
continue
|
||||
if options.latest or vercode == 0 or build.vercode == vercode:
|
||||
if options.latest or vercode == 0 or build.versionCode == vercode:
|
||||
app.builds = [build]
|
||||
break
|
||||
continue
|
||||
|
@ -467,7 +467,7 @@ def main():
|
|||
for build in app.builds:
|
||||
apks = []
|
||||
for f in os.listdir(options.repo_path):
|
||||
n = "%v_%v.apk".format(app_id, build.vercode)
|
||||
n = "%v_%v.apk".format(app_id, build.versionCode)
|
||||
if f == n:
|
||||
apks.append(f)
|
||||
for apk in sorted(apks):
|
||||
|
|
|
@ -230,13 +230,13 @@ def main():
|
|||
paths = common.manifest_paths(root_dir, [])
|
||||
if paths:
|
||||
|
||||
version, vercode, package = common.parse_androidmanifests(paths, app)
|
||||
versionName, versionCode, package = common.parse_androidmanifests(paths, app)
|
||||
if not package:
|
||||
logging.error("Couldn't find package ID")
|
||||
sys.exit(1)
|
||||
if not version:
|
||||
if not versionName:
|
||||
logging.warn("Couldn't find latest version name")
|
||||
if not vercode:
|
||||
if not versionCode:
|
||||
logging.warn("Couldn't find latest version code")
|
||||
else:
|
||||
spec = os.path.join(root_dir, 'buildozer.spec')
|
||||
|
@ -246,8 +246,8 @@ def main():
|
|||
bconfig = ConfigParser(defaults, allow_no_value=True)
|
||||
bconfig.read(spec)
|
||||
package = bconfig.get('app', 'package.domain') + '.' + bconfig.get('app', 'package.name')
|
||||
version = bconfig.get('app', 'version')
|
||||
vercode = None
|
||||
versionName = bconfig.get('app', 'version')
|
||||
versionCode = None
|
||||
else:
|
||||
logging.error("No android or kivy project could be found. Specify --subdir?")
|
||||
sys.exit(1)
|
||||
|
@ -258,8 +258,8 @@ def main():
|
|||
sys.exit(1)
|
||||
|
||||
# Create a build line...
|
||||
build.version = version or '?'
|
||||
build.vercode = vercode or '?'
|
||||
build.versionName = versionName or '?'
|
||||
build.versionCode = versionCode or '?'
|
||||
if options.subdir:
|
||||
build.subdir = options.subdir
|
||||
if os.path.exists(os.path.join(root_dir, 'jni')):
|
||||
|
|
|
@ -63,10 +63,10 @@ http_checks = https_enforcings + http_url_shorteners + [
|
|||
]
|
||||
|
||||
regex_checks = {
|
||||
'Web Site': http_checks,
|
||||
'Source Code': http_checks,
|
||||
'WebSite': http_checks,
|
||||
'SourceCode': http_checks,
|
||||
'Repo': https_enforcings,
|
||||
'Issue Tracker': http_checks + [
|
||||
'IssueTracker': http_checks + [
|
||||
(re.compile(r'.*github\.com/[^/]+/[^/]+/*$'),
|
||||
"/issues is missing"),
|
||||
(re.compile(r'.*gitlab\.com/[^/]+/[^/]+/*$'),
|
||||
|
@ -121,7 +121,7 @@ regex_checks = {
|
|||
def check_regexes(app):
|
||||
for f, checks in regex_checks.items():
|
||||
for m, r in checks:
|
||||
v = app.get_field(f)
|
||||
v = app.get(f)
|
||||
t = metadata.fieldtype(f)
|
||||
if t == metadata.TYPE_MULTILINE:
|
||||
for l in v.splitlines():
|
||||
|
@ -139,10 +139,10 @@ def get_lastbuild(builds):
|
|||
lastbuild = None
|
||||
for build in builds:
|
||||
if not build.disable:
|
||||
vercode = int(build.vercode)
|
||||
vercode = int(build.versionCode)
|
||||
if lowest_vercode == -1 or vercode < lowest_vercode:
|
||||
lowest_vercode = vercode
|
||||
if not lastbuild or int(build.vercode) > int(lastbuild.vercode):
|
||||
if not lastbuild or int(build.versionCode) > int(lastbuild.versionCode):
|
||||
lastbuild = build
|
||||
return lastbuild
|
||||
|
||||
|
@ -153,7 +153,7 @@ def check_ucm_tags(app):
|
|||
and lastbuild.commit
|
||||
and app.UpdateCheckMode == 'RepoManifest'
|
||||
and not lastbuild.commit.startswith('unknown')
|
||||
and lastbuild.vercode == app.CurrentVersionCode
|
||||
and lastbuild.versionCode == app.CurrentVersionCode
|
||||
and not lastbuild.forcevercode
|
||||
and any(s in lastbuild.commit for s in '.,_-/')):
|
||||
yield "Last used commit '%s' looks like a tag, but Update Check Mode is '%s'" % (
|
||||
|
@ -183,8 +183,8 @@ def check_old_links(app):
|
|||
'code.google.com',
|
||||
]
|
||||
if any(s in app.Repo for s in usual_sites):
|
||||
for f in ['Web Site', 'Source Code', 'Issue Tracker', 'Changelog']:
|
||||
v = app.get_field(f)
|
||||
for f in ['WebSite', 'SourceCode', 'IssueTracker', 'Changelog']:
|
||||
v = app.get(f)
|
||||
if any(s in v for s in old_sites):
|
||||
yield "App is in '%s' but has a link to '%s'" % (app.Repo, v)
|
||||
|
||||
|
@ -241,7 +241,7 @@ def check_duplicates(app):
|
|||
|
||||
links_seen = set()
|
||||
for f in ['Source Code', 'Web Site', 'Issue Tracker', 'Changelog']:
|
||||
v = app.get_field(f)
|
||||
v = app.get(f)
|
||||
if not v:
|
||||
continue
|
||||
v = v.lower()
|
||||
|
@ -307,7 +307,7 @@ def check_builds(app):
|
|||
continue
|
||||
for s in ['master', 'origin', 'HEAD', 'default', 'trunk']:
|
||||
if build.commit and build.commit.startswith(s):
|
||||
yield "Branch '%s' used as commit in build '%s'" % (s, build.version)
|
||||
yield "Branch '%s' used as commit in build '%s'" % (s, build.versionName)
|
||||
for srclib in build.srclibs:
|
||||
ref = srclib.split('@')[1].split('/')[0]
|
||||
if ref.startswith(s):
|
||||
|
@ -330,7 +330,7 @@ def check_files_dir(app):
|
|||
for build in app.builds:
|
||||
for fname in build.patch:
|
||||
if fname not in files:
|
||||
yield "Unknown file %s in build '%s'" % (fname, build.version)
|
||||
yield "Unknown file %s in build '%s'" % (fname, build.versionName)
|
||||
else:
|
||||
used.add(fname)
|
||||
|
||||
|
@ -355,7 +355,7 @@ def check_extlib_dir(apps):
|
|||
for build in app.builds:
|
||||
for path in build.extlibs:
|
||||
if path not in files:
|
||||
yield "%s: Unknown extlib %s in build '%s'" % (app.id, path, build.version)
|
||||
yield "%s: Unknown extlib %s in build '%s'" % (app.id, path, build.versionName)
|
||||
else:
|
||||
used.add(path)
|
||||
|
||||
|
|
|
@ -97,15 +97,21 @@ app_fields = set([
|
|||
'Current Version',
|
||||
'Current Version Code',
|
||||
'No Source Since',
|
||||
'Build',
|
||||
|
||||
'comments', # For formats that don't do inline comments
|
||||
'builds', # For formats that do builds as a list
|
||||
])
|
||||
|
||||
|
||||
class App():
|
||||
class App(dict):
|
||||
|
||||
def __init__(self, copydict=None):
|
||||
if copydict:
|
||||
super().__init__(copydict)
|
||||
return
|
||||
super().__init__()
|
||||
|
||||
def __init__(self):
|
||||
self.Disabled = None
|
||||
self.AntiFeatures = []
|
||||
self.Provides = None
|
||||
|
@ -147,94 +153,21 @@ class App():
|
|||
self.comments = {}
|
||||
self.added = None
|
||||
self.lastupdated = None
|
||||
self._modified = set()
|
||||
|
||||
@classmethod
|
||||
def field_to_attr(cls, f):
|
||||
"""
|
||||
Translates human-readable field names to attribute names, e.g.
|
||||
'Auto Name' to 'AutoName'
|
||||
"""
|
||||
return f.replace(' ', '')
|
||||
|
||||
@classmethod
|
||||
def attr_to_field(cls, k):
|
||||
"""
|
||||
Translates attribute names to human-readable field names, e.g.
|
||||
'AutoName' to 'Auto Name'
|
||||
"""
|
||||
if k in app_fields:
|
||||
return k
|
||||
f = re.sub(r'([a-z])([A-Z])', r'\1 \2', k)
|
||||
return f
|
||||
|
||||
def field_dict(self):
|
||||
"""
|
||||
Constructs an old-fashioned dict with the human-readable field
|
||||
names. Should only be used for tests.
|
||||
"""
|
||||
d = {}
|
||||
for k, v in self.__dict__.items():
|
||||
if k == 'builds':
|
||||
d['builds'] = []
|
||||
for build in v:
|
||||
b = {k: v for k, v in build.__dict__.items() if not k.startswith('_')}
|
||||
d['builds'].append(b)
|
||||
elif not k.startswith('_'):
|
||||
f = App.attr_to_field(k)
|
||||
d[f] = v
|
||||
return d
|
||||
|
||||
def get_field(self, f):
|
||||
"""Gets the value associated to a field name, e.g. 'Auto Name'"""
|
||||
if f not in app_fields:
|
||||
warn_or_exception('Unrecognised app field: ' + f)
|
||||
k = App.field_to_attr(f)
|
||||
return getattr(self, k)
|
||||
|
||||
def set_field(self, f, v):
|
||||
"""Sets the value associated to a field name, e.g. 'Auto Name'"""
|
||||
if f not in app_fields:
|
||||
warn_or_exception('Unrecognised app field: ' + f)
|
||||
k = App.field_to_attr(f)
|
||||
self.__dict__[k] = v
|
||||
self._modified.add(k)
|
||||
|
||||
def append_field(self, f, v):
|
||||
"""Appends to the value associated to a field name, e.g. 'Auto Name'"""
|
||||
if f not in app_fields:
|
||||
warn_or_exception('Unrecognised app field: ' + f)
|
||||
k = App.field_to_attr(f)
|
||||
if k not in self.__dict__:
|
||||
self.__dict__[k] = [v]
|
||||
def __getattr__(self, name):
|
||||
if name in self:
|
||||
return self[name]
|
||||
else:
|
||||
self.__dict__[k].append(v)
|
||||
raise AttributeError("No such attribute: " + name)
|
||||
|
||||
def update_fields(self, d):
|
||||
'''Like dict.update(), but using human-readable field names'''
|
||||
for f, v in d.items():
|
||||
if f == 'builds':
|
||||
for b in v:
|
||||
build = Build()
|
||||
build.update_flags(b)
|
||||
self.builds.append(build)
|
||||
def __setattr__(self, name, value):
|
||||
self[name] = value
|
||||
|
||||
def __delattr__(self, name):
|
||||
if name in self:
|
||||
del self[name]
|
||||
else:
|
||||
self.set_field(f, v)
|
||||
|
||||
def update(self, d):
|
||||
'''Like dict.update()'''
|
||||
for k, v in d.__dict__.items():
|
||||
if k == '_modified':
|
||||
continue
|
||||
elif k == 'builds':
|
||||
for b in v:
|
||||
build = Build()
|
||||
del(b.__dict__['_modified'])
|
||||
build.update_flags(b.__dict__)
|
||||
self.builds.append(build)
|
||||
elif v:
|
||||
self.__dict__[k] = v
|
||||
self._modified.add(k)
|
||||
raise AttributeError("No such attribute: " + name)
|
||||
|
||||
def get_last_build(self):
|
||||
if len(self.builds) > 0:
|
||||
|
@ -255,16 +188,17 @@ TYPE_BUILD_V2 = 8
|
|||
|
||||
fieldtypes = {
|
||||
'Description': TYPE_MULTILINE,
|
||||
'Maintainer Notes': TYPE_MULTILINE,
|
||||
'MaintainerNotes': TYPE_MULTILINE,
|
||||
'Categories': TYPE_LIST,
|
||||
'AntiFeatures': TYPE_LIST,
|
||||
'Build Version': TYPE_BUILD,
|
||||
'BuildVersion': TYPE_BUILD,
|
||||
'Build': TYPE_BUILD_V2,
|
||||
'Use Built': TYPE_OBSOLETE,
|
||||
'UseBuilt': TYPE_OBSOLETE,
|
||||
}
|
||||
|
||||
|
||||
def fieldtype(name):
|
||||
name = name.replace(' ', '')
|
||||
if name in fieldtypes:
|
||||
return fieldtypes[name]
|
||||
return TYPE_STRING
|
||||
|
@ -304,12 +238,13 @@ build_flags_order = [
|
|||
]
|
||||
|
||||
|
||||
build_flags = set(build_flags_order + ['version', 'vercode'])
|
||||
build_flags = set(build_flags_order + ['versionName', 'versionCode'])
|
||||
|
||||
|
||||
class Build():
|
||||
class Build(dict):
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, copydict=None):
|
||||
super().__init__()
|
||||
self.disable = False
|
||||
self.commit = None
|
||||
self.subdir = None
|
||||
|
@ -328,7 +263,7 @@ class Build():
|
|||
self.rm = []
|
||||
self.extlibs = []
|
||||
self.prebuild = ''
|
||||
self.update = []
|
||||
self.androidupdate = []
|
||||
self.target = None
|
||||
self.scanignore = []
|
||||
self.scandelete = []
|
||||
|
@ -339,35 +274,28 @@ class Build():
|
|||
self.gradleprops = []
|
||||
self.antcommands = []
|
||||
self.novcheck = False
|
||||
if copydict:
|
||||
super().__init__(copydict)
|
||||
return
|
||||
|
||||
self._modified = set()
|
||||
|
||||
def get_flag(self, f):
|
||||
if f not in build_flags:
|
||||
warn_or_exception('Unrecognised build flag: ' + f)
|
||||
return getattr(self, f)
|
||||
|
||||
def set_flag(self, f, v):
|
||||
if f == 'versionName':
|
||||
f = 'version'
|
||||
if f == 'versionCode':
|
||||
f = 'vercode'
|
||||
if f not in build_flags:
|
||||
warn_or_exception('Unrecognised build flag: ' + f)
|
||||
self.__dict__[f] = v
|
||||
self._modified.add(f)
|
||||
|
||||
def append_flag(self, f, v):
|
||||
if f not in build_flags:
|
||||
warn_or_exception('Unrecognised build flag: ' + f)
|
||||
if f not in self.__dict__:
|
||||
self.__dict__[f] = [v]
|
||||
def __getattr__(self, name):
|
||||
if name in self:
|
||||
return self[name]
|
||||
else:
|
||||
self.__dict__[f].append(v)
|
||||
raise AttributeError("No such attribute: " + name)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
self[name] = value
|
||||
|
||||
def __delattr__(self, name):
|
||||
if name in self:
|
||||
del self[name]
|
||||
else:
|
||||
raise AttributeError("No such attribute: " + name)
|
||||
|
||||
def build_method(self):
|
||||
for f in ['maven', 'gradle', 'kivy']:
|
||||
if self.get_flag(f):
|
||||
if self.get(f):
|
||||
return f
|
||||
if self.output:
|
||||
return 'raw'
|
||||
|
@ -378,7 +306,7 @@ class Build():
|
|||
if self.output:
|
||||
return 'raw'
|
||||
for f in ['maven', 'gradle', 'kivy']:
|
||||
if self.get_flag(f):
|
||||
if self.get(f):
|
||||
return f
|
||||
return 'ant'
|
||||
|
||||
|
@ -391,10 +319,6 @@ class Build():
|
|||
return ''
|
||||
return paths[version]
|
||||
|
||||
def update_flags(self, d):
|
||||
for f, v in d.items():
|
||||
self.set_flag(f, v)
|
||||
|
||||
|
||||
flagtypes = {
|
||||
'extlibs': TYPE_LIST,
|
||||
|
@ -403,7 +327,7 @@ flagtypes = {
|
|||
'rm': TYPE_LIST,
|
||||
'buildjni': TYPE_LIST,
|
||||
'preassemble': TYPE_LIST,
|
||||
'update': TYPE_LIST,
|
||||
'androidupdate': TYPE_LIST,
|
||||
'scanignore': TYPE_LIST,
|
||||
'scandelete': TYPE_LIST,
|
||||
'gradle': TYPE_LIST,
|
||||
|
@ -507,9 +431,7 @@ valuetypes = {
|
|||
def check_metadata(app):
|
||||
for v in valuetypes:
|
||||
for k in v.fields:
|
||||
if k not in app._modified:
|
||||
continue
|
||||
v.check(app.__dict__[k], app.id)
|
||||
v.check(app[k], app.id)
|
||||
|
||||
|
||||
# Formatter for descriptions. Create an instance, and call parseline() with
|
||||
|
@ -879,47 +801,40 @@ def get_default_app_info(metadatapath=None):
|
|||
|
||||
|
||||
def sorted_builds(builds):
|
||||
return sorted(builds, key=lambda build: int(build.vercode))
|
||||
return sorted(builds, key=lambda build: int(build.versionCode))
|
||||
|
||||
|
||||
esc_newlines = re.compile(r'\\( |\n)')
|
||||
|
||||
|
||||
# This function uses __dict__ to be faster
|
||||
def post_metadata_parse(app):
|
||||
|
||||
for k in app._modified:
|
||||
v = app.__dict__[k]
|
||||
# TODO keep native types, convert only for .txt metadata
|
||||
for k, v in app.items():
|
||||
if type(v) in (float, int):
|
||||
app.__dict__[k] = str(v)
|
||||
app[k] = str(v)
|
||||
|
||||
for build in app.builds:
|
||||
for k in build._modified:
|
||||
v = build.__dict__[k]
|
||||
if type(v) in (float, int):
|
||||
build.__dict__[k] = str(v)
|
||||
continue
|
||||
ftype = flagtype(k)
|
||||
|
||||
if ftype == TYPE_SCRIPT:
|
||||
build.__dict__[k] = re.sub(esc_newlines, '', v).lstrip().rstrip()
|
||||
elif ftype == TYPE_BOOL:
|
||||
# TODO handle this using <xsd:element type="xsd:boolean> in a schema
|
||||
builds = []
|
||||
if 'builds' in app:
|
||||
for build in app['builds']:
|
||||
if not isinstance(build, Build):
|
||||
build = Build(build)
|
||||
for k, v in build.items():
|
||||
if flagtype(k) == TYPE_LIST:
|
||||
if isinstance(v, str):
|
||||
build.__dict__[k] = _decode_bool(v)
|
||||
elif ftype == TYPE_STRING:
|
||||
if isinstance(v, bool) and v:
|
||||
build.__dict__[k] = 'yes'
|
||||
elif ftype == TYPE_LIST:
|
||||
if isinstance(v, bool) and v:
|
||||
build.__dict__[k] = ['yes']
|
||||
elif isinstance(v, str):
|
||||
build.__dict__[k] = [v]
|
||||
build[k] = [v]
|
||||
elif isinstance(v, bool):
|
||||
if v:
|
||||
build[k] = ['yes']
|
||||
else:
|
||||
build[k] = []
|
||||
elif flagtype(k) == TYPE_STRING and type(v) in (float, int):
|
||||
build[k] = str(v)
|
||||
builds.append(build)
|
||||
|
||||
if not app.Description:
|
||||
app.Description = 'No description available'
|
||||
if not app.get('Description'):
|
||||
app['Description'] = 'No description available'
|
||||
|
||||
app.builds = sorted_builds(app.builds)
|
||||
app.builds = sorted_builds(builds)
|
||||
|
||||
|
||||
# Parse metadata for a single application.
|
||||
|
@ -1023,17 +938,18 @@ def parse_json_metadata(mf, app):
|
|||
# TODO create schema using https://pypi.python.org/pypi/jsonschema
|
||||
jsoninfo = json.load(mf, parse_int=lambda s: s,
|
||||
parse_float=lambda s: s)
|
||||
app.update_fields(jsoninfo)
|
||||
app.update(jsoninfo)
|
||||
for f in ['Description', 'Maintainer Notes']:
|
||||
v = app.get_field(f)
|
||||
app.set_field(f, '\n'.join(v))
|
||||
v = app.get(f)
|
||||
if v:
|
||||
app[f] = '\n'.join(v)
|
||||
return app
|
||||
|
||||
|
||||
def parse_yaml_metadata(mf, app):
|
||||
|
||||
yamlinfo = yaml.load(mf, Loader=YamlLoader)
|
||||
app.update_fields(yamlinfo)
|
||||
app.update(yamlinfo)
|
||||
return app
|
||||
|
||||
|
||||
|
@ -1056,14 +972,16 @@ def parse_txt_metadata(mf, app):
|
|||
|
||||
pk, pv = bv
|
||||
pk = pk.lstrip()
|
||||
if pk == 'update':
|
||||
pk = 'androidupdate' # avoid conflicting with Build(dict).update()
|
||||
t = flagtype(pk)
|
||||
if t == TYPE_LIST:
|
||||
pv = split_list_values(pv)
|
||||
build.set_flag(pk, pv)
|
||||
build[pk] = pv
|
||||
elif t == TYPE_STRING or t == TYPE_SCRIPT:
|
||||
build.set_flag(pk, pv)
|
||||
build[pk] = pv
|
||||
elif t == TYPE_BOOL:
|
||||
build.set_flag(pk, _decode_bool(pv))
|
||||
build[pk] = _decode_bool(pv)
|
||||
|
||||
def parse_buildline(lines):
|
||||
v = "".join(lines)
|
||||
|
@ -1071,9 +989,9 @@ def parse_txt_metadata(mf, app):
|
|||
if len(parts) < 3:
|
||||
warn_or_exception("Invalid build format: " + v + " in " + mf.name)
|
||||
build = Build()
|
||||
build.version = parts[0]
|
||||
build.vercode = parts[1]
|
||||
check_versionCode(build.vercode)
|
||||
build.versionName = parts[0]
|
||||
build.versionCode = parts[1]
|
||||
check_versionCode(build.versionCode)
|
||||
|
||||
if parts[2].startswith('!'):
|
||||
# For backwards compatibility, handle old-style disabling,
|
||||
|
@ -1112,6 +1030,8 @@ def parse_txt_metadata(mf, app):
|
|||
build = None
|
||||
vc_seen = set()
|
||||
|
||||
app.builds = []
|
||||
|
||||
c = 0
|
||||
for line in mf:
|
||||
c += 1
|
||||
|
@ -1129,10 +1049,10 @@ def parse_txt_metadata(mf, app):
|
|||
else:
|
||||
if not build.commit and not build.disable:
|
||||
warn_or_exception("No commit specified for {0} in {1}"
|
||||
.format(build.version, linedesc))
|
||||
.format(build.versionName, linedesc))
|
||||
|
||||
app.builds.append(build)
|
||||
add_comments('build:' + build.vercode)
|
||||
add_comments('build:' + build.versionCode)
|
||||
mode = 0
|
||||
|
||||
if mode == 0:
|
||||
|
@ -1146,12 +1066,17 @@ def parse_txt_metadata(mf, app):
|
|||
except ValueError:
|
||||
warn_or_exception("Invalid metadata in " + linedesc)
|
||||
|
||||
if f not in app_fields:
|
||||
warn_or_exception('Unrecognised app field: ' + f)
|
||||
|
||||
# Translate obsolete fields...
|
||||
if f == 'Market Version':
|
||||
f = 'Current Version'
|
||||
if f == 'Market Version Code':
|
||||
f = 'Current Version Code'
|
||||
|
||||
f = f.replace(' ', '')
|
||||
|
||||
ftype = fieldtype(f)
|
||||
if ftype not in [TYPE_BUILD, TYPE_BUILD_V2]:
|
||||
add_comments(f)
|
||||
|
@ -1161,9 +1086,9 @@ def parse_txt_metadata(mf, app):
|
|||
warn_or_exception("Unexpected text on same line as "
|
||||
+ f + " in " + linedesc)
|
||||
elif ftype == TYPE_STRING:
|
||||
app.set_field(f, v)
|
||||
app[f] = v
|
||||
elif ftype == TYPE_LIST:
|
||||
app.set_field(f, split_list_values(v))
|
||||
app[f] = split_list_values(v)
|
||||
elif ftype == TYPE_BUILD:
|
||||
if v.endswith("\\"):
|
||||
mode = 2
|
||||
|
@ -1172,21 +1097,22 @@ def parse_txt_metadata(mf, app):
|
|||
else:
|
||||
build = parse_buildline([v])
|
||||
app.builds.append(build)
|
||||
add_comments('build:' + app.builds[-1].vercode)
|
||||
add_comments('build:' + app.builds[-1].versionCode)
|
||||
elif ftype == TYPE_BUILD_V2:
|
||||
vv = v.split(',')
|
||||
if len(vv) != 2:
|
||||
warn_or_exception('Build should have comma-separated',
|
||||
'version and vercode,',
|
||||
'versionName and versionCode,',
|
||||
'not "{0}", in {1}'.format(v, linedesc))
|
||||
build = Build()
|
||||
build.version = vv[0]
|
||||
build.vercode = vv[1]
|
||||
check_versionCode(build.vercode)
|
||||
if build.vercode in vc_seen:
|
||||
warn_or_exception('Duplicate build recipe found for vercode %s in %s'
|
||||
% (build.vercode, linedesc))
|
||||
vc_seen.add(build.vercode)
|
||||
build.versionName = vv[0]
|
||||
build.versionCode = vv[1]
|
||||
check_versionCode(build.versionCode)
|
||||
|
||||
if build.versionCode in vc_seen:
|
||||
warn_or_exception('Duplicate build recipe found for versionCode %s in %s'
|
||||
% (build.versionCode, linedesc))
|
||||
vc_seen.add(build.versionCode)
|
||||
del buildlines[:]
|
||||
mode = 3
|
||||
elif ftype == TYPE_OBSOLETE:
|
||||
|
@ -1196,7 +1122,7 @@ def parse_txt_metadata(mf, app):
|
|||
elif mode == 1: # Multiline field
|
||||
if line == '.':
|
||||
mode = 0
|
||||
app.set_field(f, '\n'.join(multiline_lines))
|
||||
app[f] = '\n'.join(multiline_lines)
|
||||
del multiline_lines[:]
|
||||
else:
|
||||
multiline_lines.append(line)
|
||||
|
@ -1207,7 +1133,7 @@ def parse_txt_metadata(mf, app):
|
|||
buildlines.append(line)
|
||||
build = parse_buildline(buildlines)
|
||||
app.builds.append(build)
|
||||
add_comments('build:' + app.builds[-1].vercode)
|
||||
add_comments('build:' + app.builds[-1].versionCode)
|
||||
mode = 0
|
||||
add_comments(None)
|
||||
|
||||
|
@ -1224,6 +1150,23 @@ def parse_txt_metadata(mf, app):
|
|||
|
||||
def write_plaintext_metadata(mf, app, w_comment, w_field, w_build):
|
||||
|
||||
def field_to_attr(f):
|
||||
"""
|
||||
Translates human-readable field names to attribute names, e.g.
|
||||
'Auto Name' to 'AutoName'
|
||||
"""
|
||||
return f.replace(' ', '')
|
||||
|
||||
def attr_to_field(k):
|
||||
"""
|
||||
Translates attribute names to human-readable field names, e.g.
|
||||
'AutoName' to 'Auto Name'
|
||||
"""
|
||||
if k in app_fields:
|
||||
return k
|
||||
f = re.sub(r'([a-z])([A-Z])', r'\1 \2', k)
|
||||
return f
|
||||
|
||||
def w_comments(key):
|
||||
if key not in app.comments:
|
||||
return
|
||||
|
@ -1231,15 +1174,17 @@ def write_plaintext_metadata(mf, app, w_comment, w_field, w_build):
|
|||
w_comment(line)
|
||||
|
||||
def w_field_always(f, v=None):
|
||||
key = field_to_attr(f)
|
||||
if v is None:
|
||||
v = app.get_field(f)
|
||||
w_comments(f)
|
||||
v = app.get(key)
|
||||
w_comments(key)
|
||||
w_field(f, v)
|
||||
|
||||
def w_field_nonempty(f, v=None):
|
||||
key = field_to_attr(f)
|
||||
if v is None:
|
||||
v = app.get_field(f)
|
||||
w_comments(f)
|
||||
v = app.get(key)
|
||||
w_comments(key)
|
||||
if v:
|
||||
w_field(f, v)
|
||||
|
||||
|
@ -1276,10 +1221,10 @@ def write_plaintext_metadata(mf, app, w_comment, w_field, w_build):
|
|||
|
||||
for build in app.builds:
|
||||
|
||||
if build.version == "Ignore":
|
||||
if build.versionName == "Ignore":
|
||||
continue
|
||||
|
||||
w_comments('build:' + build.vercode)
|
||||
w_comments('build:%s' % build.versionCode)
|
||||
w_build(build)
|
||||
mf.write('\n')
|
||||
|
||||
|
@ -1321,14 +1266,16 @@ def write_txt(mf, app):
|
|||
mf.write("%s:%s\n" % (f, v))
|
||||
|
||||
def w_build(build):
|
||||
mf.write("Build:%s,%s\n" % (build.version, build.vercode))
|
||||
mf.write("Build:%s,%s\n" % (build.versionName, build.versionCode))
|
||||
|
||||
for f in build_flags_order:
|
||||
v = build.get_flag(f)
|
||||
v = build.get(f)
|
||||
if not v:
|
||||
continue
|
||||
|
||||
t = flagtype(f)
|
||||
if f == 'androidupdate':
|
||||
f == 'update' # avoid conflicting with Build(dict).update()
|
||||
mf.write(' %s=' % f)
|
||||
if t == TYPE_STRING:
|
||||
mf.write(v)
|
||||
|
@ -1402,10 +1349,10 @@ def write_yaml(mf, app):
|
|||
mf.write("builds:\n")
|
||||
first_build = False
|
||||
|
||||
w_field('versionName', build.version, ' - ', TYPE_STRING)
|
||||
w_field('versionCode', build.vercode, ' ', TYPE_STRING)
|
||||
w_field('versionName', build.versionName, ' - ', TYPE_STRING)
|
||||
w_field('versionCode', build.versionCode, ' ', TYPE_STRING)
|
||||
for f in build_flags_order:
|
||||
v = build.get_flag(f)
|
||||
v = build.get(f)
|
||||
if not v:
|
||||
continue
|
||||
|
||||
|
|
|
@ -296,9 +296,9 @@ def main():
|
|||
|
||||
if build.disable:
|
||||
logging.info("...skipping version %s - %s" % (
|
||||
build.version, build.get('disable', build.commit[1:])))
|
||||
build.versionName, build.get('disable', build.commit[1:])))
|
||||
else:
|
||||
logging.info("...scanning version " + build.version)
|
||||
logging.info("...scanning version " + build.versionName)
|
||||
|
||||
# Prepare the source code...
|
||||
root_dir, _ = common.prepare_source(vcs, app, build,
|
||||
|
@ -309,7 +309,7 @@ def main():
|
|||
count = scan_source(build_dir, root_dir, build)
|
||||
if count > 0:
|
||||
logging.warn('Scanner found %d problems in %s (%s)' % (
|
||||
count, appid, build.vercode))
|
||||
count, appid, build.versionCode))
|
||||
probcount += count
|
||||
|
||||
except BuildException as be:
|
||||
|
|
|
@ -99,7 +99,7 @@ def update_wiki(apps, sortedids, apks):
|
|||
generated_redirects = {}
|
||||
|
||||
for appid in sortedids:
|
||||
app = apps[appid]
|
||||
app = metadata.App(apps[appid])
|
||||
|
||||
wikidata = ''
|
||||
if app.Disabled:
|
||||
|
@ -156,24 +156,24 @@ def update_wiki(apps, sortedids, apks):
|
|||
# Include ones we can't build, as a special case...
|
||||
for build in app.builds:
|
||||
if build.disable:
|
||||
if build.vercode == app.CurrentVersionCode:
|
||||
if build.versionCode == app.CurrentVersionCode:
|
||||
cantupdate = True
|
||||
# TODO: Nasty: vercode is a string in the build, and an int elsewhere
|
||||
apklist.append({'versioncode': int(build.vercode),
|
||||
'version': build.version,
|
||||
apklist.append({'versioncode': int(build.versionCode),
|
||||
'version': build.versionName,
|
||||
'buildproblem': "The build for this version was manually disabled. Reason: {0}".format(build.disable),
|
||||
})
|
||||
else:
|
||||
builtit = False
|
||||
for apk in apklist:
|
||||
if apk['versioncode'] == int(build.vercode):
|
||||
if apk['versioncode'] == int(build.versionCode):
|
||||
builtit = True
|
||||
break
|
||||
if not builtit:
|
||||
buildfails = True
|
||||
apklist.append({'versioncode': int(build.vercode),
|
||||
'version': build.version,
|
||||
'buildproblem': "The build for this version appears to have failed. Check the [[{0}/lastbuild_{1}|build log]].".format(appid, build.vercode),
|
||||
apklist.append({'versioncode': int(build.versionCode),
|
||||
'version': build.versionName,
|
||||
'buildproblem': "The build for this version appears to have failed. Check the [[{0}/lastbuild_{1}|build log]].".format(appid, build.versionCode),
|
||||
})
|
||||
if app.CurrentVersionCode == '0':
|
||||
cantupdate = True
|
||||
|
@ -302,13 +302,13 @@ def delete_disabled_builds(apps, apkcache, repodirs):
|
|||
:param repodirs: the repo directories to process
|
||||
"""
|
||||
for appid, app in apps.items():
|
||||
for build in app.builds:
|
||||
for build in app['builds']:
|
||||
if not build.disable:
|
||||
continue
|
||||
apkfilename = appid + '_' + str(build.vercode) + '.apk'
|
||||
apkfilename = appid + '_' + str(build.versionCode) + '.apk'
|
||||
iconfilename = "%s.%s.png" % (
|
||||
appid,
|
||||
build.vercode)
|
||||
build.versionCode)
|
||||
for repodir in repodirs:
|
||||
files = [
|
||||
os.path.join(repodir, apkfilename),
|
||||
|
@ -1028,7 +1028,7 @@ def make_index(apps, sortedids, apks, repodir, archive):
|
|||
|
||||
mirrorcheckfailed = False
|
||||
mirrors = []
|
||||
for mirror in config.get('mirrors', []):
|
||||
for mirror in sorted(config.get('mirrors', [])):
|
||||
base = os.path.basename(urllib.parse.urlparse(mirror).path.rstrip('/'))
|
||||
if config.get('nonstandardwebroot') is not True and base != 'fdroid':
|
||||
logging.error("mirror '" + mirror + "' does not end with 'fdroid'!")
|
||||
|
@ -1111,7 +1111,7 @@ def make_index(apps, sortedids, apks, repodir, archive):
|
|||
element.setAttribute('packageName', packageName)
|
||||
|
||||
for appid in sortedids:
|
||||
app = apps[appid]
|
||||
app = metadata.App(apps[appid])
|
||||
|
||||
if app.Disabled is not None:
|
||||
continue
|
||||
|
@ -1237,34 +1237,35 @@ def make_index(apps, sortedids, apks, repodir, archive):
|
|||
addElement('sig', apk['sig'], doc, apkel)
|
||||
|
||||
old_permissions = set()
|
||||
for perm in apk['uses-permission']:
|
||||
sorted_permissions = sorted(apk['uses-permission'])
|
||||
for perm in sorted_permissions:
|
||||
perm_name = perm.name
|
||||
if perm_name.startswith("android.permission."):
|
||||
perm_name = perm_name[19:]
|
||||
old_permissions.add(perm_name)
|
||||
addElementNonEmpty('permissions', ','.join(old_permissions), doc, apkel)
|
||||
|
||||
for permission in apk['uses-permission']:
|
||||
for permission in sorted_permissions:
|
||||
permel = doc.createElement('uses-permission')
|
||||
permel.setAttribute('name', permission.name)
|
||||
if permission.maxSdkVersion is not None:
|
||||
permel.setAttribute('maxSdkVersion', permission.maxSdkVersion)
|
||||
apkel.appendChild(permel)
|
||||
for permission_sdk_23 in apk['uses-permission-sdk-23']:
|
||||
for permission_sdk_23 in sorted(apk['uses-permission-sdk-23']):
|
||||
permel = doc.createElement('uses-permission-sdk-23')
|
||||
permel.setAttribute('name', permission_sdk_23.name)
|
||||
if permission_sdk_23.maxSdkVersion is not None:
|
||||
permel.setAttribute('maxSdkVersion', permission_sdk_23.maxSdkVersion)
|
||||
apkel.appendChild(permel)
|
||||
if 'nativecode' in apk:
|
||||
addElement('nativecode', ','.join(apk['nativecode']), doc, apkel)
|
||||
addElementNonEmpty('features', ','.join(apk['features']), doc, apkel)
|
||||
addElement('nativecode', ','.join(sorted(apk['nativecode'])), doc, apkel)
|
||||
addElementNonEmpty('features', ','.join(sorted(apk['features'])), doc, apkel)
|
||||
|
||||
if current_version_file is not None \
|
||||
and config['make_current_version_link'] \
|
||||
and repodir == 'repo': # only create these
|
||||
namefield = config['current_version_name_source']
|
||||
sanitized_name = re.sub('''[ '"&%?+=/]''', '', app.get_field(namefield))
|
||||
sanitized_name = re.sub('''[ '"&%?+=/]''', '', app.get(namefield))
|
||||
apklinkname = sanitized_name + '.apk'
|
||||
current_version_path = os.path.join(repodir, current_version_file)
|
||||
if os.path.islink(apklinkname):
|
||||
|
@ -1331,7 +1332,7 @@ def make_index(apps, sortedids, apks, repodir, archive):
|
|||
def make_categories_txt(repodir, categories):
|
||||
'''Write a category list in the repo to allow quick access'''
|
||||
catdata = ''
|
||||
for cat in categories:
|
||||
for cat in sorted(categories):
|
||||
catdata += cat + '\n'
|
||||
with open(os.path.join(repodir, 'categories.txt'), 'w', encoding='utf8') as f:
|
||||
f.write(catdata)
|
||||
|
@ -1620,6 +1621,7 @@ def main():
|
|||
logging.debug("Don't know when " + appid + " was last updated")
|
||||
|
||||
if bestver == UNSET_VERSION_CODE:
|
||||
|
||||
if app.Name is None:
|
||||
app.Name = app.AutoName or appid
|
||||
app.icon = None
|
||||
|
|
|
@ -124,8 +124,8 @@ class CommonTest(unittest.TestCase):
|
|||
build.forcevercode = True
|
||||
build.gradle = ['yes']
|
||||
build.target = 'android-' + str(testint)
|
||||
build.version = teststr
|
||||
build.vercode = testint
|
||||
build.versionName = teststr
|
||||
build.versionCode = testint
|
||||
|
||||
class FakeVcs():
|
||||
# no need to change to the correct commit here
|
||||
|
@ -145,8 +145,8 @@ class CommonTest(unittest.TestCase):
|
|||
with open(os.path.join(testdir, 'AndroidManifest.xml')) as f:
|
||||
filedata = f.read()
|
||||
self.assertIsNone(re.search('android:debuggable', filedata))
|
||||
self.assertIsNotNone(re.search('android:versionName="%s"' % build.version, filedata))
|
||||
self.assertIsNotNone(re.search('android:versionCode="%s"' % build.vercode, filedata))
|
||||
self.assertIsNotNone(re.search('android:versionName="%s"' % build.versionName, filedata))
|
||||
self.assertIsNotNone(re.search('android:versionCode="%s"' % build.versionCode, filedata))
|
||||
|
||||
def test_fdroid_popen_stderr_redirect(self):
|
||||
commands = ['sh', '-c', 'echo stdout message && echo stderr message 1>&2']
|
||||
|
|
35
tests/config.py
Normal file
35
tests/config.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
repo_url = "https://MyFirstFDroidRepo.org/fdroid/repo"
|
||||
repo_name = "My First F-Droid Repo Demo"
|
||||
repo_icon = "fdroid-icon.png"
|
||||
repo_description = """
|
||||
This is a repository of apps to be used with F-Droid. Applications in this
|
||||
repository are either official binaries built by the original application
|
||||
developers, or are binaries built from source by the admin of f-droid.org
|
||||
using the tools on https://gitlab.com/u/fdroid.
|
||||
"""
|
||||
|
||||
archive_older = 3
|
||||
archive_url = "https://f-droid.org/archive"
|
||||
archive_name = "My First F-Droid Archive Demo"
|
||||
archive_icon = "fdroid-icon.png"
|
||||
archive_description = """
|
||||
The repository of older versions of applications from the main demo repository.
|
||||
"""
|
||||
|
||||
repo_keyalias = "sova"
|
||||
keystore = "keystore.jks"
|
||||
keystorepass = "r9aquRHYoI8+dYz6jKrLntQ5/NJNASFBacJh7Jv2BlI="
|
||||
keypass = "r9aquRHYoI8+dYz6jKrLntQ5/NJNASFBacJh7Jv2BlI="
|
||||
keydname = "CN=sova, OU=F-Droid"
|
||||
|
||||
mirrors = (
|
||||
'https://foo.bar/fdroid',
|
||||
'http://foobarfoobarfoobar.onion/fdroid',
|
||||
)
|
||||
|
||||
update_stats = True
|
||||
accepted_formats = ('json', 'txt', 'yml')
|
||||
|
||||
install_list = 'org.adaway'
|
||||
uninstall_list = ('com.android.vending', 'com.facebook.orca', )
|
99
tests/dump_internal_metadata_format.py
Executable file
99
tests/dump_internal_metadata_format.py
Executable file
|
@ -0,0 +1,99 @@
|
|||
#!/usr/bin/env python3
|
||||
#
|
||||
# This is for running manual tests when changing the metadata format.
|
||||
# The idea is to test changes using all of the files in
|
||||
# fdroiddata.git. To run it, do:
|
||||
#
|
||||
# cd fdroidserver/tests
|
||||
# cp dump_internal_metadata_format.py dump.py # since this isn't in old commits
|
||||
# git checkout 0.7.0 # or any old commit of your choosing
|
||||
# cd ../../fdroiddata
|
||||
# ../fdroidserver/tests/dump.py
|
||||
# mv metadata/dump metadata/dump_0.7.0
|
||||
# cd ../fdroidserver
|
||||
# git checkout master
|
||||
# cd ../fdroiddata
|
||||
# ../fdroidserver/tests/dump.py
|
||||
# meld metadata/dump_0.7.0 metadata/dump_0.7.0-179-ge85486a/
|
||||
|
||||
import git
|
||||
import inspect
|
||||
import optparse
|
||||
import os
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
localmodule = os.path.realpath(
|
||||
os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
|
||||
if localmodule not in sys.path:
|
||||
sys.path.insert(0, localmodule)
|
||||
|
||||
import fdroidserver.common # noqa
|
||||
import fdroidserver.metadata # noqa
|
||||
|
||||
|
||||
def _build_yaml_representer(dumper, data):
|
||||
'''Creates a YAML representation of a Build instance'''
|
||||
if hasattr(data, 'append_flag'):
|
||||
# for 0.7.0 and earlier, before https://gitlab.com/fdroid/fdroidserver/merge_requests/210
|
||||
del(data._modified)
|
||||
readdict = data.__dict__
|
||||
else:
|
||||
readdict = data
|
||||
|
||||
# these key names were all renamed in
|
||||
# https://gitlab.com/fdroid/fdroidserver/merge_requests/210
|
||||
output = dict()
|
||||
for k, v in readdict.items():
|
||||
if k == 'vercode':
|
||||
output['versionCode'] = v
|
||||
elif k == 'version':
|
||||
output['versionName'] = v
|
||||
elif k == 'update':
|
||||
output['androidupdate'] = v
|
||||
else:
|
||||
output[k] = v
|
||||
|
||||
return dumper.represent_dict(output)
|
||||
|
||||
|
||||
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'])
|
||||
|
||||
os.chdir('/home/hans/code/fdroid/fdroiddata')
|
||||
# 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'] = ['txt']
|
||||
fdroidserver.common.config = config
|
||||
|
||||
repo = git.Repo(localmodule)
|
||||
savedir = os.path.join('metadata', 'dump_' + repo.git.describe())
|
||||
if not os.path.isdir(savedir):
|
||||
os.mkdir(savedir)
|
||||
|
||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||
for appid, app in apps.items():
|
||||
savepath = os.path.join(savedir, appid + '.yaml')
|
||||
print('dumping', savepath)
|
||||
if hasattr(app, 'attr_to_field'):
|
||||
# for 0.7.0 and earlier, before https://gitlab.com/fdroid/fdroidserver/merge_requests/210
|
||||
app.__dict__['lastUpdated'] = app.__dict__['lastupdated']
|
||||
del(app.__dict__['lastupdated'])
|
||||
del(app._modified)
|
||||
frommeta = dict(app.__dict__)
|
||||
else:
|
||||
frommeta = dict(app)
|
||||
|
||||
with open(savepath, 'w') as f:
|
||||
yaml.add_representer(fdroidserver.metadata.Build, _build_yaml_representer)
|
||||
yaml.dump(frommeta, f, default_flow_style=False)
|
||||
|
||||
# if appid == 'at.tomtasche.reader':
|
||||
# import pprint
|
||||
# pprint.pprint(app)
|
||||
# sys.exit(1)
|
|
@ -38,7 +38,7 @@ class ImportTest(unittest.TestCase):
|
|||
print('Skipping ImportTest!')
|
||||
return
|
||||
|
||||
app = fdroidserver.metadata.get_default_app_info()
|
||||
app = fdroidserver.metadata.App()
|
||||
app.UpdateCheckMode = "Tags"
|
||||
root_dir, src_dir = import_proxy.get_metadata_from_url(app, url)
|
||||
self.assertEqual(app.RepoType, 'git')
|
||||
|
|
BIN
tests/keystore.jks
Normal file
BIN
tests/keystore.jks
Normal file
Binary file not shown.
|
@ -23,6 +23,11 @@ class MetadataTest(unittest.TestCase):
|
|||
'''fdroidserver/metadata.py'''
|
||||
|
||||
def test_read_metadata(self):
|
||||
|
||||
def _build_yaml_representer(dumper, data):
|
||||
'''Creates a YAML representation of a Build instance'''
|
||||
return dumper.represent_dict(data)
|
||||
|
||||
testsdir = os.path.dirname(__file__)
|
||||
os.chdir(testsdir)
|
||||
|
||||
|
@ -38,15 +43,15 @@ class MetadataTest(unittest.TestCase):
|
|||
|
||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||
for appid in ('org.smssecure.smssecure', 'org.adaway', 'org.videolan.vlc'):
|
||||
app = apps[appid]
|
||||
savepath = os.path.join('metadata', 'dump', appid + '.yaml')
|
||||
frommeta = app.field_dict()
|
||||
frommeta = dict(apps[appid])
|
||||
self.assertTrue(appid in apps)
|
||||
with open(savepath, 'r') as f:
|
||||
frompickle = yaml.load(f)
|
||||
self.assertEqual(frommeta, frompickle)
|
||||
# Uncomment to overwrite
|
||||
# with open(savepath, 'w') as f:
|
||||
# yaml.add_representer(fdroidserver.metadata.Build, _build_yaml_representer)
|
||||
# yaml.dump(frommeta, f, default_flow_style=False)
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
AntiFeatures: []
|
||||
Archive Policy: null
|
||||
Author Email: null
|
||||
Author Name: null
|
||||
Auto Name: AdAway
|
||||
Auto Update Mode: Version v%v
|
||||
ArchivePolicy: null
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
AutoName: AdAway
|
||||
AutoUpdateMode: Version v%v
|
||||
Binaries: null
|
||||
Bitcoin: null
|
||||
Categories:
|
||||
- System
|
||||
- Security
|
||||
Changelog: ''
|
||||
Current Version: '3.0'
|
||||
Current Version Code: '52'
|
||||
CurrentVersion: '3.0'
|
||||
CurrentVersionCode: '52'
|
||||
Description: 'An ad blocker that uses the hosts file. The hosts file
|
||||
|
||||
contains a list of mappings between hostnames and IP addresses. When
|
||||
|
@ -38,27 +38,28 @@ Description: 'An ad blocker that uses the hosts file. The hosts file
|
|||
Disabled: null
|
||||
Donate: http://sufficientlysecure.org/index.php/adaway
|
||||
FlattrID: '369138'
|
||||
Issue Tracker: https://github.com/dschuermann/ad-away/issues
|
||||
IssueTracker: https://github.com/dschuermann/ad-away/issues
|
||||
License: GPLv3
|
||||
Litecoin: null
|
||||
Maintainer Notes: ''
|
||||
MaintainerNotes: ''
|
||||
Name: null
|
||||
No Source Since: ''
|
||||
NoSourceSince: ''
|
||||
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
|
||||
RepoType: git
|
||||
RequiresRoot: true
|
||||
SourceCode: https://github.com/dschuermann/ad-away
|
||||
Summary: Block advertisements
|
||||
Update Check Data: null
|
||||
Update Check Ignore: null
|
||||
Update Check Mode: Tags
|
||||
Update Check Name: null
|
||||
Vercode Operation: null
|
||||
Web Site: http://sufficientlysecure.org/index.php/adaway
|
||||
UpdateCheckData: null
|
||||
UpdateCheckIgnore: null
|
||||
UpdateCheckMode: Tags
|
||||
UpdateCheckName: null
|
||||
VercodeOperation: null
|
||||
WebSite: http://sufficientlysecure.org/index.php/adaway
|
||||
added: null
|
||||
builds:
|
||||
- antcommands: []
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -87,10 +88,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '13'
|
||||
version: '1.12'
|
||||
- antcommands: []
|
||||
versionCode: '13'
|
||||
versionName: '1.12'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -120,10 +121,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '16'
|
||||
version: '1.15'
|
||||
- antcommands: []
|
||||
versionCode: '16'
|
||||
versionName: '1.15'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -153,10 +154,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '19'
|
||||
version: '1.18'
|
||||
- antcommands: []
|
||||
versionCode: '19'
|
||||
versionName: '1.18'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -186,10 +187,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '20'
|
||||
version: '1.19'
|
||||
- antcommands: []
|
||||
versionCode: '20'
|
||||
versionName: '1.19'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -219,10 +220,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '21'
|
||||
version: '1.20'
|
||||
- antcommands: []
|
||||
versionCode: '21'
|
||||
versionName: '1.20'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -252,10 +253,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '22'
|
||||
version: '1.21'
|
||||
- antcommands: []
|
||||
versionCode: '22'
|
||||
versionName: '1.21'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: unknown - see disabled
|
||||
|
@ -283,10 +284,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '24'
|
||||
version: '1.23'
|
||||
- antcommands: []
|
||||
versionCode: '24'
|
||||
versionName: '1.23'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -315,10 +316,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '25'
|
||||
version: '1.24'
|
||||
- antcommands: []
|
||||
versionCode: '25'
|
||||
versionName: '1.24'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -347,10 +348,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '26'
|
||||
version: '1.25'
|
||||
- antcommands: []
|
||||
versionCode: '26'
|
||||
versionName: '1.25'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -379,10 +380,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '27'
|
||||
version: '1.26'
|
||||
- antcommands: []
|
||||
versionCode: '27'
|
||||
versionName: '1.26'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -411,10 +412,10 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '28'
|
||||
version: '1.27'
|
||||
- antcommands: []
|
||||
versionCode: '28'
|
||||
versionName: '1.27'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -443,12 +444,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '30'
|
||||
version: '1.29'
|
||||
- antcommands: []
|
||||
versionCode: '30'
|
||||
versionName: '1.29'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: 71ced3f
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -475,12 +476,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '33'
|
||||
version: '1.32'
|
||||
- antcommands: []
|
||||
versionCode: '33'
|
||||
versionName: '1.32'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: 9d63c18
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -506,12 +507,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '34'
|
||||
version: '1.33'
|
||||
- antcommands: []
|
||||
versionCode: '34'
|
||||
versionName: '1.33'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: f2568b1
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -538,12 +539,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '35'
|
||||
version: '1.34'
|
||||
- antcommands: []
|
||||
versionCode: '35'
|
||||
versionName: '1.34'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: 7442d5d
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -570,12 +571,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '36'
|
||||
version: '1.35'
|
||||
- antcommands: []
|
||||
versionCode: '36'
|
||||
versionName: '1.35'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: 83fc713
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -602,12 +603,12 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '37'
|
||||
version: '1.36'
|
||||
- antcommands: []
|
||||
versionCode: '37'
|
||||
versionName: '1.36'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: false
|
||||
buildjni: []
|
||||
commit: 70da32b567122b701cdcb1609b780eb85732028f
|
||||
disable: false
|
||||
encoding: null
|
||||
|
@ -634,10 +635,14 @@ builds:
|
|||
subdir: org_adaway/
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '38'
|
||||
version: '1.37'
|
||||
- antcommands: []
|
||||
versionCode: '38'
|
||||
versionName: '1.37'
|
||||
- androidupdate:
|
||||
- .
|
||||
- android-libs/Donations
|
||||
- android-libs/ActionBarSherlock
|
||||
- android-libs/HtmlSpanner/htmlspanner
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -674,14 +679,14 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update:
|
||||
versionCode: '40'
|
||||
versionName: '2.1'
|
||||
- androidupdate:
|
||||
- .
|
||||
- android-libs/Donations
|
||||
- android-libs/ActionBarSherlock
|
||||
- android-libs/HtmlSpanner/htmlspanner
|
||||
vercode: '40'
|
||||
version: '2.1'
|
||||
- antcommands: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -718,14 +723,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update:
|
||||
- .
|
||||
- android-libs/Donations
|
||||
- android-libs/ActionBarSherlock
|
||||
- android-libs/HtmlSpanner/htmlspanner
|
||||
vercode: '42'
|
||||
version: '2.3'
|
||||
- antcommands: []
|
||||
versionCode: '42'
|
||||
versionName: '2.3'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -756,10 +757,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '45'
|
||||
version: '2.6'
|
||||
- antcommands: []
|
||||
versionCode: '45'
|
||||
versionName: '2.6'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -790,10 +791,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '46'
|
||||
version: '2.7'
|
||||
- antcommands: []
|
||||
versionCode: '46'
|
||||
versionName: '2.7'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -824,10 +825,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '47'
|
||||
version: '2.8'
|
||||
- antcommands: []
|
||||
versionCode: '47'
|
||||
versionName: '2.8'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -858,10 +859,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '48'
|
||||
version: 2.8.1
|
||||
- antcommands: []
|
||||
versionCode: '48'
|
||||
versionName: 2.8.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -892,10 +893,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '49'
|
||||
version: '2.9'
|
||||
- antcommands: []
|
||||
versionCode: '49'
|
||||
versionName: '2.9'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -926,10 +927,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '50'
|
||||
version: 2.9.1
|
||||
- antcommands: []
|
||||
versionCode: '50'
|
||||
versionName: 2.9.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -960,10 +961,10 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '51'
|
||||
version: 2.9.2
|
||||
- antcommands: []
|
||||
versionCode: '51'
|
||||
versionName: 2.9.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni:
|
||||
- 'yes'
|
||||
|
@ -994,9 +995,8 @@ builds:
|
|||
subdir: AdAway
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '52'
|
||||
version: '3.0'
|
||||
versionCode: '52'
|
||||
versionName: '3.0'
|
||||
comments:
|
||||
build:40:
|
||||
- '#RootCommands srclib needs changing on fdroidserver'
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
AntiFeatures: []
|
||||
Archive Policy: null
|
||||
Author Email: null
|
||||
Author Name: null
|
||||
Auto Name: SMSSecure
|
||||
Auto Update Mode: Version v%v
|
||||
ArchivePolicy: null
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
AutoName: SMSSecure
|
||||
AutoUpdateMode: Version v%v
|
||||
Binaries: null
|
||||
Bitcoin: null
|
||||
Categories:
|
||||
- Phone & SMS
|
||||
Changelog: ''
|
||||
Current Version: 0.6.0
|
||||
Current Version Code: '102'
|
||||
CurrentVersion: 0.6.0
|
||||
CurrentVersionCode: '102'
|
||||
Description: 'SMSSecure is an SMS/MMS application that allows you to protect your
|
||||
privacy while communicating with friends.
|
||||
|
||||
|
@ -35,27 +35,28 @@ Description: 'SMSSecure is an SMS/MMS application that allows you to protect you
|
|||
Disabled: null
|
||||
Donate: null
|
||||
FlattrID: null
|
||||
Issue Tracker: https://github.com/SMSSecure/SMSSecure/issues
|
||||
IssueTracker: https://github.com/SMSSecure/SMSSecure/issues
|
||||
License: GPLv3
|
||||
Litecoin: null
|
||||
Maintainer Notes: ''
|
||||
MaintainerNotes: ''
|
||||
Name: null
|
||||
No Source Since: ''
|
||||
NoSourceSince: ''
|
||||
Provides: null
|
||||
Repo: https://github.com/SMSSecure/SMSSecure
|
||||
Repo Type: git
|
||||
Requires Root: false
|
||||
Source Code: https://github.com/SMSSecure/SMSSecure
|
||||
RepoType: git
|
||||
RequiresRoot: false
|
||||
SourceCode: https://github.com/SMSSecure/SMSSecure
|
||||
Summary: Send encrypted text messages (SMS)
|
||||
Update Check Data: null
|
||||
Update Check Ignore: null
|
||||
Update Check Mode: Tags
|
||||
Update Check Name: null
|
||||
Vercode Operation: null
|
||||
Web Site: http://www.smssecure.org
|
||||
UpdateCheckData: null
|
||||
UpdateCheckIgnore: null
|
||||
UpdateCheckMode: Tags
|
||||
UpdateCheckName: null
|
||||
VercodeOperation: null
|
||||
WebSite: http://www.smssecure.org
|
||||
added: null
|
||||
builds:
|
||||
- antcommands: []
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 66367479a4f57f347b5cbe8f6f8f632adaae7727
|
||||
|
@ -95,10 +96,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: false
|
||||
target: null
|
||||
update: []
|
||||
vercode: '5'
|
||||
version: 0.3.3
|
||||
- antcommands: []
|
||||
versionCode: '5'
|
||||
versionName: 0.3.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 9675ce5eecb929dcaddb43b3d9486fdb88b9ae1a
|
||||
|
@ -130,10 +131,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '6'
|
||||
version: 0.3.3
|
||||
- antcommands: []
|
||||
versionCode: '6'
|
||||
versionName: 0.3.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.4.2
|
||||
|
@ -164,10 +165,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '9'
|
||||
version: 0.4.2
|
||||
- antcommands: []
|
||||
versionCode: '9'
|
||||
versionName: 0.4.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.5.1
|
||||
|
@ -198,10 +199,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '11'
|
||||
version: 0.5.1
|
||||
- antcommands: []
|
||||
versionCode: '11'
|
||||
versionName: 0.5.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.5.2
|
||||
|
@ -231,10 +232,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '12'
|
||||
version: 0.5.2
|
||||
- antcommands: []
|
||||
versionCode: '12'
|
||||
versionName: 0.5.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.5.3
|
||||
|
@ -264,10 +265,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '100'
|
||||
version: 0.5.3
|
||||
- antcommands: []
|
||||
versionCode: '100'
|
||||
versionName: 0.5.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.5.4
|
||||
|
@ -297,10 +298,10 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '101'
|
||||
version: 0.5.4
|
||||
- antcommands: []
|
||||
versionCode: '101'
|
||||
versionName: 0.5.4
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v0.6.0
|
||||
|
@ -330,9 +331,8 @@ builds:
|
|||
subdir: null
|
||||
submodules: true
|
||||
target: null
|
||||
update: []
|
||||
vercode: '102'
|
||||
version: 0.6.0
|
||||
versionCode: '102'
|
||||
versionName: 0.6.0
|
||||
comments: {}
|
||||
id: org.smssecure.smssecure
|
||||
lastupdated: null
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"Auto Name": "AdAway",
|
||||
"Auto Update Mode": "Version v%v",
|
||||
"AutoName": "AdAway",
|
||||
"AutoUpdateMode": "Version v%v",
|
||||
"Categories": ["System", "Security"],
|
||||
"Current Version": "3.0",
|
||||
"Current Version Code": 52,
|
||||
"CurrentVersion": "3.0",
|
||||
"CurrentVersionCode": 52,
|
||||
"Description": [
|
||||
"An ad blocker that uses the hosts file. The hosts file",
|
||||
"contains a list of mappings between hostnames and IP addresses. When",
|
||||
|
@ -21,16 +21,16 @@
|
|||
],
|
||||
"Donate": "http://sufficientlysecure.org/index.php/adaway",
|
||||
"FlattrID": "369138",
|
||||
"Issue Tracker": "https://github.com/dschuermann/ad-away/issues",
|
||||
"IssueTracker": "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",
|
||||
"RepoType": "git",
|
||||
"RequiresRoot": true,
|
||||
"SourceCode": "https://github.com/dschuermann/ad-away",
|
||||
"Summary": "Block advertisements",
|
||||
"Update Check Mode": "Tags",
|
||||
"Web Site": "http://sufficientlysecure.org/index.php/adaway",
|
||||
"UpdateCheckMode": "Tags",
|
||||
"WebSite": "http://sufficientlysecure.org/index.php/adaway",
|
||||
|
||||
"builds": [
|
||||
{
|
||||
|
@ -182,7 +182,7 @@
|
|||
"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": [".",
|
||||
"androidupdate": [".",
|
||||
"android-libs/Donations",
|
||||
"android-libs/ActionBarSherlock",
|
||||
"android-libs/HtmlSpanner/htmlspanner"],
|
||||
|
@ -197,7 +197,7 @@
|
|||
"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": [".",
|
||||
"androidupdate": [".",
|
||||
"android-libs/Donations",
|
||||
"android-libs/ActionBarSherlock",
|
||||
"android-libs/HtmlSpanner/htmlspanner"],
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
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"
|
||||
WebSite: http://www.videolan.org/vlc/download-android.html
|
||||
SourceCode: http://git.videolan.org/?p=vlc-ports/android.git;a=summary
|
||||
IssueTracker: "http://www.videolan.org/support/index.html#bugs"
|
||||
Donate: "http://www.videolan.org/contribute.html#money"
|
||||
|
||||
Auto Name: VLC
|
||||
AutoName: VLC
|
||||
Summary: Media player
|
||||
Description: |
|
||||
Video and audio player that supports a wide range of formats,
|
||||
|
@ -14,7 +14,7 @@ Description: |
|
|||
|
||||
[http://git.videolan.org/?p=vlc-ports/android.git;a=blob_plain;f=NEWS NEWS]
|
||||
|
||||
Repo Type: git
|
||||
RepoType: git
|
||||
Repo: git://git.videolan.org/vlc-ports/android.git
|
||||
|
||||
builds:
|
||||
|
@ -25,12 +25,11 @@ builds:
|
|||
forceversion: yes
|
||||
forcevercode: yes
|
||||
prebuild: sed -i '48d' ../Makefile
|
||||
update:
|
||||
androidupdate:
|
||||
- .
|
||||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
build: cd ../ && \
|
||||
ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
buildjni: no
|
||||
|
||||
- versionName: 0.0.11-ARM
|
||||
|
@ -40,13 +39,11 @@ builds:
|
|||
forceversion: yes
|
||||
forcevercode: yes
|
||||
prebuild: sed -i '48d' ../Makefile
|
||||
update:
|
||||
androidupdate:
|
||||
- .
|
||||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
build: |
|
||||
cd ../ && \
|
||||
ANDROID_ABI=armeabi ./compile.sh release
|
||||
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
buildjni: no
|
||||
|
||||
- versionName: 0.0.11-x86
|
||||
|
@ -57,13 +54,11 @@ builds:
|
|||
forceversion: yes
|
||||
forcevercode: yes
|
||||
prebuild: sed -i '48d' ../Makefile
|
||||
update:
|
||||
androidupdate:
|
||||
- .
|
||||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
build: |
|
||||
cd ../ && \
|
||||
ANDROID_ABI=x86 ./compile.sh release
|
||||
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
buildjni: no
|
||||
|
||||
- versionName: 0.0.11-mips
|
||||
|
@ -73,13 +68,11 @@ builds:
|
|||
forceversion: yes
|
||||
forcevercode: yes
|
||||
prebuild: sed -i '48d' ../Makefile
|
||||
update:
|
||||
androidupdate:
|
||||
- .
|
||||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
build: >
|
||||
cd ../ && \
|
||||
ANDROID_ABI=mips ./compile.sh release
|
||||
build: cd ../ && ANDROID_ABI=mips ./compile.sh release
|
||||
buildjni: no
|
||||
|
||||
- versionName: 0.1.3-MIPS
|
||||
|
@ -91,11 +84,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -106,10 +96,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -120,10 +108,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -134,10 +120,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -146,10 +130,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -158,10 +140,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -170,10 +150,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -182,10 +160,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -195,10 +171,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -208,10 +182,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -220,10 +192,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -232,10 +202,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -244,10 +212,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -256,10 +222,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -269,10 +233,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -281,10 +243,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -293,10 +253,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -305,10 +263,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -317,10 +273,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -329,10 +283,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -341,10 +293,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -353,10 +303,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -365,10 +313,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -377,10 +323,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -389,10 +333,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -401,10 +343,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -415,10 +355,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -429,10 +367,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -443,10 +379,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -455,10 +389,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -467,10 +399,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -479,10 +409,8 @@ builds:
|
|||
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
|
||||
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
|
||||
|
@ -491,10 +419,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@a9b19e4
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -504,10 +431,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@a9b19e4
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -517,10 +443,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@a9b19e4
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -530,10 +455,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@e6b4585
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -543,10 +467,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@e6b4585
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -556,10 +479,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@e6b4585
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -569,10 +491,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@551b670
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -582,10 +503,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@551b670
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -595,10 +515,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@551b670
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -608,10 +527,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -621,10 +539,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -634,10 +551,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -647,10 +563,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -660,10 +575,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -673,10 +587,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@23c8d86
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -686,10 +599,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -699,10 +611,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -712,10 +623,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -725,10 +635,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -738,10 +647,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -751,10 +659,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -764,10 +671,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -777,10 +683,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -790,10 +695,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@7491a5f
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -803,10 +707,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@50accb8
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -816,10 +719,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@50accb8
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -829,10 +731,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@50accb8
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -842,10 +743,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv6fpu
|
||||
srclibs: VLC@d59b81a
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -855,10 +755,9 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaARMv7
|
||||
srclibs: VLC@d59b81a
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
|
@ -868,14 +767,13 @@ builds:
|
|||
subdir: vlc-android
|
||||
gradle: VanillaX86
|
||||
srclibs: VLC@d59b81a
|
||||
prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && \
|
||||
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
|
||||
build: cd ../ && ./compile.sh -a "x86" --release
|
||||
buildjni: no
|
||||
ndk: r10d
|
||||
|
||||
Maintainer Notes: |
|
||||
MaintainerNotes: |
|
||||
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
|
||||
|
@ -902,10 +800,10 @@ Maintainer Notes: |
|
|||
# +2: x86
|
||||
# +3: arm
|
||||
# +4: armv7 (CV)
|
||||
Archive Policy: 9 versions
|
||||
Auto Update Mode: None
|
||||
Update Check Mode: Tags
|
||||
ArchivePolicy: 9 versions
|
||||
AutoUpdateMode: None
|
||||
UpdateCheckMode: 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
|
||||
VercodeOperation: "%c + 5"
|
||||
CurrentVersion: 1.2.6
|
||||
CurrentVersionCode: 1030005
|
||||
|
|
7
tests/repo/categories.txt
Normal file
7
tests/repo/categories.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
Development
|
||||
GuardianProject
|
||||
Multimedia
|
||||
None
|
||||
Phone & SMS
|
||||
Security
|
||||
System
|
162
tests/repo/index.xml
Normal file
162
tests/repo/index.xml
Normal file
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<fdroid>
|
||||
<repo icon="fdroid-icon.png" name="My First F-Droid Repo Demo" pubkey="308204e1308202c9a003020102020434597643300d06092a864886f70d01010b050030213110300e060355040b1307462d44726f6964310d300b06035504031304736f7661301e170d3136303931333230313930395a170d3434303133303230313930395a30213110300e060355040b1307462d44726f6964310d300b06035504031304736f766130820222300d06092a864886f70d01010105000382020f003082020a028202010086ef94b5aacf2ba4f38c875f4194b44f5644392e3715575d7c92828577e692c352b567172823851c8c72347fbc9d99684cd7ca3e1db3e4cca126382c53f2a5869fb4c19bdec989b2930501af3e758ff40588915fe96b10076ce3346a193a0277d79e83e30fd8657c20e35260dd085aa32eac7c4b85786ffefbf1555cafe2bc928443430cdbba48cfbe701e12ae86e676477932730d4fc7c00af820aef85038a5b4df084cf6470d110dc4c49ea1b749b80b34709d199b3db516b223625c5de4501e861f7d261b3838f8f616aa78831d618d41d25872dc810c9b2087b5a9e146ca95be740316dcdbcb77314e23ab87d4487913b800b1113c0603ea2294188b71d3e49875df097b56f9151211fc6832f9790c5c83d17481f14ad37915fd164f4fd713f6732a15f4245714b84cd665bdbd085660ea33ad7d7095dcc414f09e3903604a40facc2314a115c0045bb50e9df38efb57e1b8e7cc105f340a26eeb46aba0fa6672953eee7f1f92dcb408e561909bbd4bdf4a4948c4d57c467d21aa238c34ba43be050398be963191fa2b49828bc1e4eeed224b40dbe9dc3e570890a71a974a2f4527edb1b07105071755105edcb2af2f269facfb89180903a572a99b46456e80d4a01685a80b233278805f2c876678e731f4ec4f52075aeef6b2b023efbb8a3637ef507c4c37c27e428152ec1817fcba640ad601cb09f72f0fbe2d274a2410203010001a321301f301d0603551d0e04160414c28bf33dd5a9a17338e5b1d1a6edd8c7d141ed0b300d06092a864886f70d01010b0500038202010084e20458b2aafd7fc27146b0986f9324f4260f244920417a77c9bf15e2e2d22d2725bdd8093ec261c3779c3ca03312516506f9410075b90595b41345956d8eb2786fb5994f195611382c2b99dba13381b0100a30bc9e6e47248bf4325e2f6eec9d789216dc7536e753bf1f4be603d9fa2e6f5e192b4eb988b8cdb0bb1e8668a9225426f7d4636479f73ed24ad1d2657c31e63c93d9679b9080171b3bd1bf10a3b92b80bd790fbf62d3644900cd08eae8b9bf9c2567be98dc8cdd2ae19a8d57a3e3e2de899f81f1279f578989e6af906f80c8c2b67651730ee7e568c1af5bcb845b6d685dc55332a9984aeceaea3b7e883447edf1c76b155d95253e39b9710eaa22efa6c81468829702b5dce7126538f3ca70c2f0ad9a5795435fdb1f715f20d60359ef9a9926c7050116e802df651727447848827815f70bd82af3cedd08783156102d2d8ce995c4c43b8e47e91a3e6927f3505a5d395e6bebb84542c570903eeab4382a1c2151f1471c7a06a34dc4d268d8fa72e93bdcd2dccc4302ecac47b9e7e3d8bc9b46d21cd097874a24d529548018dc190ff568c6aa428f0a5eedff1a347730931c74f19277538e49647a4ad7254f4c1ec7d4da12cce9e1fad9607534e66ab40a56b473d9d7e3d563fd03cad2052bad365c5a29f8ae54f09b60dbca3ea768d7767cbe1c133ca08ce725c1c1370f4aab8e5b6e286f52dc0be8d0982b5a" timestamp="1480431575" url="https://MyFirstFDroidRepo.org/fdroid/repo" version="17">
|
||||
<description>This is a repository of apps to be used with F-Droid. Applications in this repository are either official binaries built by the original application developers, or are binaries built from source by the admin of f-droid.org using the tools on https://gitlab.com/u/fdroid. </description>
|
||||
<mirror>http://foobarfoobarfoobar.onion/fdroid/repo</mirror>
|
||||
<mirror>https://foo.bar/fdroid/repo</mirror>
|
||||
</repo>
|
||||
<install packageName="org.adaway"/>
|
||||
<uninstall packageName="com.android.vending"/>
|
||||
<uninstall packageName="com.facebook.orca"/>
|
||||
<application id="obb.main.oldversion">
|
||||
<id>obb.main.oldversion</id>
|
||||
<added>2013-12-31</added>
|
||||
<lastupdated>2013-12-31</lastupdated>
|
||||
<name>OBB Main Old Version</name>
|
||||
<summary></summary>
|
||||
<icon>obb.main.oldversion.1444412523.png</icon>
|
||||
<desc><p>No description available</p></desc>
|
||||
<license>GPLv3</license>
|
||||
<categories>Development</categories>
|
||||
<category>Development</category>
|
||||
<web></web>
|
||||
<source>https://github.com/eighthave/urzip</source>
|
||||
<tracker></tracker>
|
||||
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
||||
<marketversion></marketversion>
|
||||
<marketvercode>99999999</marketvercode>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>1444412523</versioncode>
|
||||
<apkname>obb.main.oldversion_1444412523.apk</apkname>
|
||||
<hash type="sha256">7562a36c9e2b38013b96663cf41f0f290dc7a248a81befa8d89e14f390c94c7f</hash>
|
||||
<size>11470</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<obbMainFile>main.1434483388.obb.main.oldversion.obb</obbMainFile>
|
||||
<obbMainFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbMainFileSha256>
|
||||
<added>2013-12-31</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
</application>
|
||||
<application id="obb.main.twoversions">
|
||||
<id>obb.main.twoversions</id>
|
||||
<added>2015-10-12</added>
|
||||
<lastupdated>2016-06-20</lastupdated>
|
||||
<name>OBB Main Two Versions</name>
|
||||
<summary></summary>
|
||||
<icon>obb.main.twoversions.1101617.png</icon>
|
||||
<desc><p>No description available</p></desc>
|
||||
<license>GPLv3</license>
|
||||
<categories>Development</categories>
|
||||
<category>Development</category>
|
||||
<web></web>
|
||||
<source>https://github.com/eighthave/urzip</source>
|
||||
<tracker></tracker>
|
||||
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
||||
<marketversion></marketversion>
|
||||
<marketvercode>99999999</marketvercode>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>1101617</versioncode>
|
||||
<apkname>obb.main.twoversions_1101617.apk</apkname>
|
||||
<srcname>obb.main.twoversions_1101617_src.tar.gz</srcname>
|
||||
<hash type="sha256">9bc74566f089ef030ac33e7fbd99d92f1a38f363fb499fed138d9e7b774e821c</hash>
|
||||
<size>11481</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<obbMainFile>main.1101615.obb.main.twoversions.obb</obbMainFile>
|
||||
<obbMainFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbMainFileSha256>
|
||||
<added>2016-06-20</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>1101615</versioncode>
|
||||
<apkname>obb.main.twoversions_1101615.apk</apkname>
|
||||
<hash type="sha256">7b0b7b9ba248e15751a16e3a0e01e1e24cbb673686c38422030cb75d5c33f0bb</hash>
|
||||
<size>11480</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<obbMainFile>main.1101615.obb.main.twoversions.obb</obbMainFile>
|
||||
<obbMainFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbMainFileSha256>
|
||||
<added>2016-01-01</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>1101613</versioncode>
|
||||
<apkname>obb.main.twoversions_1101613.apk</apkname>
|
||||
<hash type="sha256">cce97a52ff18d843185be7f22ecb1a557c36b7a9f8ba07a8be94e328e00b35dc</hash>
|
||||
<size>11477</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<obbMainFile>main.1101613.obb.main.twoversions.obb</obbMainFile>
|
||||
<obbMainFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbMainFileSha256>
|
||||
<added>2015-10-12</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
</application>
|
||||
<application id="obb.mainpatch.current">
|
||||
<id>obb.mainpatch.current</id>
|
||||
<added>2016-04-23</added>
|
||||
<lastupdated>2016-04-23</lastupdated>
|
||||
<name>OBB Main/Patch Current</name>
|
||||
<summary></summary>
|
||||
<icon>obb.mainpatch.current.1619.png</icon>
|
||||
<desc><p>No description available</p></desc>
|
||||
<license>GPLv3</license>
|
||||
<categories>Development</categories>
|
||||
<category>Development</category>
|
||||
<web></web>
|
||||
<source>https://github.com/eighthave/urzip</source>
|
||||
<tracker></tracker>
|
||||
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
||||
<marketversion></marketversion>
|
||||
<marketvercode>99999999</marketvercode>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>1619</versioncode>
|
||||
<apkname>obb.mainpatch.current_1619.apk</apkname>
|
||||
<hash type="sha256">eda5fc3ecfdac3252717e36bdbc9820865baeef162264af9ba5db7364f0e7a0c</hash>
|
||||
<size>11479</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<obbMainFile>main.1619.obb.mainpatch.current.obb</obbMainFile>
|
||||
<obbMainFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbMainFileSha256>
|
||||
<obbPatchFile>patch.1619.obb.mainpatch.current.obb</obbPatchFile>
|
||||
<obbPatchFileSha256>d3eb539a556352f3f47881d71fb0e5777b2f3e9a4251d283c18c67ce996774b7</obbPatchFileSha256>
|
||||
<added>2016-04-23</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
</application>
|
||||
<application id="info.guardianproject.urzip">
|
||||
<id>info.guardianproject.urzip</id>
|
||||
<added>2016-06-23</added>
|
||||
<lastupdated>2016-06-23</lastupdated>
|
||||
<name>urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234</name>
|
||||
<summary>一个实用工具,获取已安装在您的设备上的应用的有关信息</summary>
|
||||
<icon>info.guardianproject.urzip.100.png</icon>
|
||||
<desc><p>It’s Urzip 是一个获得已安装 APK 相关信息的实用工具。它从您的设备上已安装的所有应用开始,一键触摸即可显示 APK 的指纹,并且提供到达 virustotal.com 和 androidobservatory.org 的快捷链接,让您方便地了解特定 APK 的档案。它还可以让您导出签名证书和生成 ApkSignaturePin Pin 文件供 TrustedIntents 库使用。</p><p>★ Urzip 支持下列语言: Deutsch, English, español, suomi, 日本語, 한국어, Norsk, português (Portugal), Русский, Slovenščina, Türkçe 没看到您的语言?帮忙翻译本应用吧: https://www.transifex.com/projects/p/urzip</p><p>★ 致用户:我们还缺少你喜欢的功能?发现了一个 bug?请告诉我们!我们乐于听取您的意见。请发送电子邮件至: support@guardianproject.info 或者加入我们的聊天室 https://guardianproject.info/contact</p></desc>
|
||||
<license>GPLv3</license>
|
||||
<categories>Development,GuardianProject</categories>
|
||||
<category>Development</category>
|
||||
<web>https://dev.guardianproject.info/projects/urzip</web>
|
||||
<source>https://github.com/guardianproject/urzip</source>
|
||||
<tracker>https://dev.guardianproject.info/projects/urzip/issues</tracker>
|
||||
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
||||
<marketversion></marketversion>
|
||||
<marketvercode>9999999</marketvercode>
|
||||
<package>
|
||||
<version>0.1</version>
|
||||
<versioncode>100</versioncode>
|
||||
<apkname>urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234.apk</apkname>
|
||||
<hash type="sha256">15c0ec72c74a3791f42cdb43c57df0fb11a4dbb656851bbb8cf05b26a8372789</hash>
|
||||
<size>11471</size>
|
||||
<sdkver>4</sdkver>
|
||||
<targetSdkVersion>18</targetSdkVersion>
|
||||
<added>2016-06-23</added>
|
||||
<sig>b4964fd759edaa54e65bb476d0276880</sig>
|
||||
</package>
|
||||
</application>
|
||||
</fdroid>
|
|
@ -131,7 +131,7 @@ cd $REPOROOT
|
|||
|
||||
$fdroid init
|
||||
sed -i.tmp 's,^ *repo_description.*,repo_description = """获取已安装在您的设备上的应用的,' config.py
|
||||
echo "mirrors = {'https://foo.bar/fdroid', 'http://secret.onion/fdroid'}" >> config.py
|
||||
echo "mirrors = ('https://foo.bar/fdroid', 'http://secret.onion/fdroid')" >> config.py
|
||||
mkdir metadata
|
||||
cp $WORKSPACE/tests/urzip.apk repo/
|
||||
cp $WORKSPACE/tests/metadata/info.guardianproject.urzip.txt metadata/
|
||||
|
@ -144,6 +144,10 @@ $fdroid update
|
|||
echo_header 'run `fdroid build` in fresh git checkout from import.TestCase'
|
||||
|
||||
cd $WORKSPACE/tests/tmp/importer
|
||||
git remote update -p
|
||||
git clean -fdx
|
||||
# stick with known working commit, in case future commits break things for this code
|
||||
git reset --hard cecf00c08aec56ae7a5eba444150c4d1ae868814
|
||||
if [ -d $ANDROID_HOME/platforms/android-23 ]; then
|
||||
echo "build_tools = '`ls -1 $ANDROID_HOME/build-tools/ | sort -n | tail -1`'" > config.py
|
||||
echo "force_build_tools = True" >> config.py
|
||||
|
@ -158,17 +162,21 @@ echo_header "copy tests/repo, generate java/gpg keys, update, and gpgsign"
|
|||
|
||||
REPOROOT=`create_test_dir`
|
||||
GNUPGHOME=$REPOROOT/gnupghome
|
||||
KEYSTORE=$WORKSPACE/tests/keystore.jks
|
||||
cd $REPOROOT
|
||||
$fdroid init
|
||||
cp -a $WORKSPACE/tests/metadata $WORKSPACE/tests/repo $REPOROOT/
|
||||
$fdroid init --keystore $KEYSTORE --repo-keyalias=sova
|
||||
echo 'keystorepass = "r9aquRHYoI8+dYz6jKrLntQ5/NJNASFBacJh7Jv2BlI="' >> config.py
|
||||
echo 'keypass = "r9aquRHYoI8+dYz6jKrLntQ5/NJNASFBacJh7Jv2BlI="' >> config.py
|
||||
cp -a $WORKSPACE/tests/metadata $WORKSPACE/tests/repo $WORKSPACE/tests/stats $REPOROOT/
|
||||
cp -a $WORKSPACE/tests/gnupghome $GNUPGHOME
|
||||
chmod 0700 $GNUPGHOME
|
||||
echo "accepted_formats = ['json', 'txt', 'yml']" >> config.py
|
||||
echo "install_list = 'org.adaway'" >> config.py
|
||||
echo "uninstall_list = {'com.android.vending', 'com.facebook.orca',}" >> config.py
|
||||
echo "uninstall_list = ('com.android.vending', 'com.facebook.orca',)" >> config.py
|
||||
echo "gpghome = '$GNUPGHOME'" >> config.py
|
||||
echo "gpgkey = 'CE71F7FB'" >> config.py
|
||||
$fdroid update --verbose
|
||||
echo "mirrors = ('http://foobarfoobarfoobar.onion/fdroid','https://foo.bar/fdroid',)" >> config.py
|
||||
$fdroid update --verbose --pretty
|
||||
test -e repo/index.xml
|
||||
test -e repo/index.jar
|
||||
grep -F '<application id=' repo/index.xml > /dev/null
|
||||
|
@ -182,6 +190,9 @@ test -e repo/obb.main.twoversions_1101617_src.tar.gz.asc
|
|||
! test -e repo/obb.main.twoversions_1101617_src.tar.gz.asc.asc
|
||||
! test -e repo/index.xml.asc
|
||||
|
||||
# we can't easily reproduce the timestamps for things, so just hardcode them
|
||||
sed -i --expression='s,timestamp="[0-9]*",timestamp="1480431575",' repo/index.xml
|
||||
diff $WORKSPACE/tests/repo/index.xml repo/index.xml
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
echo_header "test metadata checks"
|
||||
|
|
6
tests/stats/known_apks.txt
Normal file
6
tests/stats/known_apks.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
obb.main.oldversion_1444412523.apk obb.main.oldversion 2013-12-31
|
||||
obb.main.twoversions_1101613.apk obb.main.twoversions 2015-10-12
|
||||
obb.main.twoversions_1101615.apk obb.main.twoversions 2016-01-01
|
||||
obb.main.twoversions_1101617.apk obb.main.twoversions 2016-06-20
|
||||
obb.mainpatch.current_1619.apk obb.mainpatch.current 2016-04-23
|
||||
urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234.apk info.guardianproject.urzip 2016-06-23
|
Loading…
Add table
Add a link
Reference in a new issue