mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 14:32:28 +03:00
define "string map" type for new Anti-Features explanations
closes #683
This commit is contained in:
parent
6e62ea3614
commit
061ca38afd
27 changed files with 1188 additions and 194 deletions
|
@ -1,5 +1,5 @@
|
|||
AntiFeatures:
|
||||
- UpstreamNonFree
|
||||
UpstreamNonFree: {}
|
||||
Categories:
|
||||
- System
|
||||
License: GPL-3.0-only
|
||||
|
@ -77,6 +77,9 @@ Builds:
|
|||
maven: yes@..
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
antifeatures:
|
||||
Tracking:
|
||||
en-US: Uses the Facebook SDK.
|
||||
|
||||
- versionName: 2.1.1-c
|
||||
versionCode: 50
|
||||
|
|
|
@ -26,6 +26,7 @@ if localmodule not in sys.path:
|
|||
import fdroidserver
|
||||
from fdroidserver import metadata
|
||||
from fdroidserver.exception import MetaDataException
|
||||
from fdroidserver.common import DEFAULT_LOCALE
|
||||
|
||||
|
||||
def _get_mock_mf(s):
|
||||
|
@ -216,6 +217,7 @@ class MetadataTest(unittest.TestCase):
|
|||
yaml = ruamel.yaml.YAML(typ='safe')
|
||||
apps = fdroidserver.metadata.read_metadata()
|
||||
for appid in (
|
||||
'app.with.special.build.params',
|
||||
'org.smssecure.smssecure',
|
||||
'org.adaway',
|
||||
'org.videolan.vlc',
|
||||
|
@ -300,24 +302,24 @@ class MetadataTest(unittest.TestCase):
|
|||
|
||||
@mock.patch('git.Repo')
|
||||
def test_rewrite_yaml_special_build_params(self, git_Repo):
|
||||
with tempfile.TemporaryDirectory() as testdir:
|
||||
testdir = Path(testdir)
|
||||
"""Test rewriting a plain YAML metadata file without localized files."""
|
||||
os.chdir(self.testdir)
|
||||
os.mkdir('metadata')
|
||||
appid = 'app.with.special.build.params'
|
||||
file_name = Path('metadata/%s.yml' % appid)
|
||||
shutil.copy(self.basedir / file_name, file_name)
|
||||
|
||||
# rewrite metadata
|
||||
allapps = fdroidserver.metadata.read_metadata()
|
||||
for appid, app in allapps.items():
|
||||
if appid == 'app.with.special.build.params':
|
||||
fdroidserver.metadata.write_metadata(
|
||||
testdir / (appid + '.yml'), app
|
||||
)
|
||||
# rewrite metadata
|
||||
allapps = fdroidserver.metadata.read_metadata({appid: -1})
|
||||
for appid, app in allapps.items():
|
||||
metadata.write_metadata(file_name, app)
|
||||
|
||||
# assert rewrite result
|
||||
self.maxDiff = None
|
||||
file_name = 'app.with.special.build.params.yml'
|
||||
self.assertEqual(
|
||||
(testdir / file_name).read_text(encoding='utf-8'),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(encoding='utf-8'),
|
||||
)
|
||||
# assert rewrite result
|
||||
self.maxDiff = None
|
||||
self.assertEqual(
|
||||
file_name.read_text(),
|
||||
(self.basedir / 'metadata-rewrite-yml' / file_name.name).read_text(),
|
||||
)
|
||||
|
||||
def test_normalize_type_string(self):
|
||||
"""TYPE_STRING currently has some quirky behavior."""
|
||||
|
@ -331,6 +333,18 @@ class MetadataTest(unittest.TestCase):
|
|||
self.assertEqual('false', metadata._normalize_type_string(False))
|
||||
self.assertEqual('true', metadata._normalize_type_string(True))
|
||||
|
||||
def test_normalize_type_stringmap_none(self):
|
||||
self.assertEqual(dict(), metadata._normalize_type_stringmap('key', None))
|
||||
|
||||
def test_normalize_type_stringmap_empty_list(self):
|
||||
self.assertEqual(dict(), metadata._normalize_type_stringmap('AntiFeatures', []))
|
||||
|
||||
def test_normalize_type_stringmap_simple_list_format(self):
|
||||
self.assertEqual(
|
||||
{'Ads': {}, 'Tracking': {}},
|
||||
metadata._normalize_type_stringmap('AntiFeatures', ['Ads', 'Tracking']),
|
||||
)
|
||||
|
||||
def test_post_parse_yaml_metadata(self):
|
||||
yamldata = dict()
|
||||
metadata.post_parse_yaml_metadata(yamldata)
|
||||
|
@ -507,6 +521,96 @@ class MetadataTest(unittest.TestCase):
|
|||
_warning.assert_called_once()
|
||||
_error.assert_called_once()
|
||||
|
||||
def test_parse_localized_antifeatures(self):
|
||||
"""Unit test based on reading files included in the test repo."""
|
||||
app = dict()
|
||||
app['id'] = 'app.with.special.build.params'
|
||||
metadata.parse_localized_antifeatures(app)
|
||||
self.maxDiff = None
|
||||
self.assertEqual(
|
||||
app,
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'Ads': {'en-US': 'please no'},
|
||||
'NoSourceSince': {'en-US': 'no activity\n'},
|
||||
},
|
||||
'Builds': [
|
||||
{
|
||||
'versionCode': 50,
|
||||
'antifeatures': {
|
||||
'Ads': {
|
||||
'en-US': 'includes ad lib\n',
|
||||
'zh-CN': '包括广告图书馆\n',
|
||||
},
|
||||
'Tracking': {'en-US': 'standard suspects\n'},
|
||||
},
|
||||
},
|
||||
{
|
||||
'versionCode': 49,
|
||||
'antifeatures': {
|
||||
'Tracking': {'zh-CN': 'Text from zh-CN/49_Tracking.txt'},
|
||||
},
|
||||
},
|
||||
],
|
||||
'id': app['id'],
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_localized_antifeatures_passthrough(self):
|
||||
"""Test app values are cleanly passed through if no localized files."""
|
||||
before = {
|
||||
'id': 'placeholder',
|
||||
'AntiFeatures': {'NonFreeDep': {}},
|
||||
'Builds': [{'versionCode': 999, 'antifeatures': {'zero': {}, 'one': {}}}],
|
||||
}
|
||||
after = copy.deepcopy(before)
|
||||
with tempfile.TemporaryDirectory() as testdir:
|
||||
os.chdir(testdir)
|
||||
os.mkdir('metadata')
|
||||
os.mkdir(os.path.join('metadata', after['id']))
|
||||
metadata.parse_localized_antifeatures(after)
|
||||
self.assertEqual(before, after)
|
||||
|
||||
def test_parse_metadata_antifeatures_NoSourceSince(self):
|
||||
"""Test that NoSourceSince gets added as an Anti-Feature."""
|
||||
os.chdir(self.testdir)
|
||||
yml = Path('metadata/test.yml')
|
||||
yml.parent.mkdir()
|
||||
with yml.open('w') as fp:
|
||||
fp.write('AntiFeatures: Ads\nNoSourceSince: gone\n')
|
||||
app = metadata.parse_metadata(yml)
|
||||
self.assertEqual(
|
||||
app['AntiFeatures'], {'Ads': {}, 'NoSourceSince': {DEFAULT_LOCALE: 'gone'}}
|
||||
)
|
||||
|
||||
@mock.patch('logging.error')
|
||||
def test_yml_overrides_localized_antifeatures(self, logging_error):
|
||||
"""Definitions in .yml files should override the localized versions."""
|
||||
app = metadata.parse_metadata('metadata/app.with.special.build.params.yml')
|
||||
|
||||
self.assertEqual(app['AntiFeatures'], {'UpstreamNonFree': {}})
|
||||
|
||||
self.assertEqual(49, app['Builds'][-3]['versionCode'])
|
||||
self.assertEqual(
|
||||
app['Builds'][-3]['antifeatures'],
|
||||
{'Tracking': {DEFAULT_LOCALE: 'Uses the Facebook SDK.'}},
|
||||
)
|
||||
|
||||
self.assertEqual(50, app['Builds'][-2]['versionCode'])
|
||||
self.assertEqual(
|
||||
app['Builds'][-2]['antifeatures'],
|
||||
{
|
||||
'Ads': {
|
||||
'en-US': 'includes ad lib\n',
|
||||
'zh-CN': '包括广告图书馆\n',
|
||||
},
|
||||
'Tracking': {'en-US': 'standard suspects\n'},
|
||||
},
|
||||
)
|
||||
# errors are printed when .yml overrides localized
|
||||
logging_error.assert_called()
|
||||
self.assertEqual(3, len(logging_error.call_args_list))
|
||||
|
||||
def test_parse_yaml_srclib_corrupt_file(self):
|
||||
with tempfile.TemporaryDirectory() as testdir:
|
||||
testdir = Path(testdir)
|
||||
|
@ -741,6 +845,257 @@ class MetadataTest(unittest.TestCase):
|
|||
self.assertNotIn('Provides', result)
|
||||
self.assertNotIn('provides', result)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_dict(self):
|
||||
nonfreenet = 'free it!'
|
||||
tracking = 'so many'
|
||||
mf = io.StringIO(
|
||||
textwrap.dedent(
|
||||
f"""
|
||||
AntiFeatures:
|
||||
Tracking: {tracking}
|
||||
NonFreeNet: {nonfreenet}
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'NonFreeNet': {DEFAULT_LOCALE: nonfreenet},
|
||||
'Tracking': {DEFAULT_LOCALE: tracking},
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_yaml_metadata_build_antifeatures_old_style(self):
|
||||
mf = _get_mock_mf(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
AntiFeatures:
|
||||
- Ads
|
||||
Builds:
|
||||
- versionCode: 123
|
||||
antifeatures:
|
||||
- KnownVuln
|
||||
- UpstreamNonFree
|
||||
- NonFreeAssets
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{
|
||||
'AntiFeatures': {'Ads': {}},
|
||||
'Builds': [
|
||||
{
|
||||
'antifeatures': {
|
||||
'KnownVuln': {},
|
||||
'NonFreeAssets': {},
|
||||
'UpstreamNonFree': {},
|
||||
},
|
||||
'versionCode': 123,
|
||||
}
|
||||
],
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_yaml_metadata_antifeatures_sort(self):
|
||||
"""All data should end up sorted, to minimize diffs in the index files."""
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(
|
||||
_get_mock_mf(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
Builds:
|
||||
- versionCode: 123
|
||||
antifeatures:
|
||||
KnownVuln:
|
||||
es: 2nd
|
||||
az: zero
|
||||
en-US: first
|
||||
UpstreamNonFree:
|
||||
NonFreeAssets:
|
||||
AntiFeatures:
|
||||
NonFreeDep:
|
||||
Ads:
|
||||
sw: 2nd
|
||||
zh-CN: 3rd
|
||||
de: 1st
|
||||
"""
|
||||
)
|
||||
)
|
||||
),
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'Ads': {'de': '1st', 'sw': '2nd', 'zh-CN': '3rd'},
|
||||
'NonFreeDep': {},
|
||||
},
|
||||
'Builds': [
|
||||
{
|
||||
'antifeatures': {
|
||||
'KnownVuln': {'az': 'zero', 'en-US': 'first', 'es': '2nd'},
|
||||
'NonFreeAssets': {},
|
||||
'UpstreamNonFree': {},
|
||||
},
|
||||
'versionCode': 123,
|
||||
}
|
||||
],
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_str(self):
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: Tracking')),
|
||||
{'AntiFeatures': {'Tracking': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_bool(self):
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: true')),
|
||||
{'AntiFeatures': {'true': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_int(self):
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: 1')),
|
||||
{'AntiFeatures': {'1': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_float(self):
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: 1.0')),
|
||||
{'AntiFeatures': {'1.0': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_list_float(self):
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures:\n - 1.0\n')),
|
||||
{'AntiFeatures': {'1.0': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_dict_float(self):
|
||||
mf = io.StringIO('AntiFeatures:\n 0.0: too early\n')
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{'AntiFeatures': {'0.0': {'en-US': 'too early'}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_dict_float_fail_value(self):
|
||||
mf = io.StringIO('AntiFeatures:\n NoSourceSince: 1.0\n')
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{'AntiFeatures': {'NoSourceSince': {'en-US': '1.0'}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_metadata_type_stringmap_old_list(self):
|
||||
mf = _get_mock_mf(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
AntiFeatures:
|
||||
- Ads
|
||||
- Tracking
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
{'AntiFeatures': {'Ads': {}, 'Tracking': {}}},
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_dict_no_value(self):
|
||||
mf = io.StringIO(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
AntiFeatures:
|
||||
Tracking:
|
||||
NonFreeNet:
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{'AntiFeatures': {'NonFreeNet': {}, 'Tracking': {}}},
|
||||
)
|
||||
|
||||
def test_parse_yaml_metadata_type_stringmap_transitional(self):
|
||||
"""Support a transitional format, where users just append a text"""
|
||||
ads = 'Has ad lib in it.'
|
||||
tracking = 'opt-out reports with ACRA'
|
||||
mf = _get_mock_mf(
|
||||
textwrap.dedent(
|
||||
f"""
|
||||
AntiFeatures:
|
||||
- Ads: {ads}
|
||||
- Tracking: {tracking}
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'Ads': {DEFAULT_LOCALE: ads},
|
||||
'Tracking': {DEFAULT_LOCALE: tracking},
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_dict_mixed_values(self):
|
||||
ads = 'true'
|
||||
tracking = 'many'
|
||||
nonfreenet = '1'
|
||||
mf = io.StringIO(
|
||||
textwrap.dedent(
|
||||
f"""
|
||||
AntiFeatures:
|
||||
Ads: {ads}
|
||||
Tracking: {tracking}
|
||||
NonFreeNet: {nonfreenet}
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'Ads': {DEFAULT_LOCALE: ads},
|
||||
'NonFreeNet': {DEFAULT_LOCALE: nonfreenet},
|
||||
'Tracking': {DEFAULT_LOCALE: tracking},
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
def test_parse_yaml_app_antifeatures_stringmap_full(self):
|
||||
ads = 'watching'
|
||||
tracking = 'many'
|
||||
nonfreenet = 'pipes'
|
||||
nonfreenet_zh = '非免费网络'
|
||||
self.maxDiff = None
|
||||
mf = io.StringIO(
|
||||
textwrap.dedent(
|
||||
f"""
|
||||
AntiFeatures:
|
||||
Ads:
|
||||
{DEFAULT_LOCALE}: {ads}
|
||||
Tracking:
|
||||
{DEFAULT_LOCALE}: {tracking}
|
||||
NonFreeNet:
|
||||
{DEFAULT_LOCALE}: {nonfreenet}
|
||||
zh-CN: {nonfreenet_zh}
|
||||
"""
|
||||
)
|
||||
)
|
||||
self.assertEqual(
|
||||
metadata.parse_yaml_metadata(mf),
|
||||
{
|
||||
'AntiFeatures': {
|
||||
'Ads': {DEFAULT_LOCALE: ads},
|
||||
'NonFreeNet': {DEFAULT_LOCALE: nonfreenet, 'zh-CN': nonfreenet_zh},
|
||||
'Tracking': {DEFAULT_LOCALE: tracking},
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
def test_write_yaml_1_line_scripts_as_string(self):
|
||||
mf = io.StringIO()
|
||||
app = fdroidserver.metadata.App()
|
||||
|
@ -1263,9 +1618,9 @@ class PostMetadataParseTest(unittest.TestCase):
|
|||
fdroidserver.metadata.warnings_action = 'error'
|
||||
|
||||
def _post_metadata_parse_app_list(self, from_yaml, expected):
|
||||
app = {'AntiFeatures': from_yaml}
|
||||
app = {'AllowedAPKSigningKeys': from_yaml}
|
||||
metadata.post_parse_yaml_metadata(app)
|
||||
return {'AntiFeatures': expected}, app
|
||||
return {'AllowedAPKSigningKeys': expected}, app
|
||||
|
||||
def _post_metadata_parse_app_string(self, from_yaml, expected):
|
||||
app = {'Repo': from_yaml}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
antiFeatures: !!set {}
|
||||
antiFeatures: {}
|
||||
features: []
|
||||
hash: abfb3adb7496611749e7abfb014c5c789e3a02489e48a5c3665110d1b1acd931
|
||||
hashType: sha256
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
antiFeatures: !!set {}
|
||||
antiFeatures: {}
|
||||
features: []
|
||||
hash: 897486e1f857c6c0ee32ccbad0e1b8cd82f6d0e65a44a23f13f852d2b63a18c8
|
||||
hashType: sha256
|
||||
|
|
|
@ -77,6 +77,8 @@ Builds:
|
|||
maven: yes@..
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
antifeatures:
|
||||
Tracking: Uses the Facebook SDK.
|
||||
|
||||
- versionName: 2.1.1-c
|
||||
versionCode: 50
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
includes ad lib
|
|
@ -0,0 +1 @@
|
|||
standard suspects
|
|
@ -0,0 +1 @@
|
|||
please no
|
|
@ -0,0 +1 @@
|
|||
no activity
|
|
@ -0,0 +1 @@
|
|||
Text from zh-CN/49_Tracking.txt
|
|
@ -0,0 +1 @@
|
|||
包括广告图书馆
|
373
tests/metadata/dump/app.with.special.build.params.yaml
Normal file
373
tests/metadata/dump/app.with.special.build.params.yaml
Normal file
|
@ -0,0 +1,373 @@
|
|||
AllowedAPKSigningKeys: []
|
||||
AntiFeatures:
|
||||
UpstreamNonFree: {}
|
||||
ArchivePolicy: 0 versions
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
AuthorWebSite: null
|
||||
AutoName: UberSync for Facebook
|
||||
AutoUpdateMode: None
|
||||
Binaries: null
|
||||
Bitcoin: null
|
||||
Builds:
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: b3879c973e7cac3a3319
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: null
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch: []
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs: []
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 32
|
||||
versionName: 1.0.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 252c8dd4c9
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: null
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch: []
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs: []
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 33
|
||||
versionName: 1.0.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v1.2.0
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: null
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch:
|
||||
- appbrain.patch
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild:
|
||||
- sed -i 's@\(reference.1=\).*@\1$$FacebookSDK$$@' project.properties
|
||||
- sed -i 's/Class\[\]/Class\<?\>\[\]/g' $$FacebookSDK$$/src/com/facebook/model/GraphObject.java
|
||||
rm:
|
||||
- libs/appbrain-sdk-android.jar
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.1
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 39
|
||||
versionName: 1.2.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: v1.2.2
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs:
|
||||
- android/android-support-v4.jar
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: null
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch:
|
||||
- appbrain.patch
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild:
|
||||
- mv libs/android-support-v4.jar $$FacebookSDK$$/libs/
|
||||
- sed -i 's@\(reference.1=\).*@\1$$FacebookSDK$$@' project.properties
|
||||
- sed -i 's/Class\[\]/Class\<?\>\[\]/g' $$FacebookSDK$$/src/com/facebook/model/GraphObject.java
|
||||
rm:
|
||||
- libs/appbrain-sdk-android.jar
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 42
|
||||
versionName: 1.2.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 2.1.1
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: yes
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch:
|
||||
- manifest-ads.patch
|
||||
- mobilecore.patch
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 48
|
||||
versionName: 2.1.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures:
|
||||
Tracking:
|
||||
en-US: Uses the Facebook SDK.
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 2.1.1
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: yes@..
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch:
|
||||
- manifest-ads.patch
|
||||
- mobilecore.patch
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 49
|
||||
versionName: 2.1.1-b
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures:
|
||||
Ads:
|
||||
en-US: 'includes ad lib
|
||||
|
||||
'
|
||||
zh-CN: '包括广告图书馆
|
||||
|
||||
'
|
||||
Tracking:
|
||||
en-US: 'standard suspects
|
||||
|
||||
'
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: 2.1.1
|
||||
disable: ''
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: '2'
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch:
|
||||
- manifest-ads.patch
|
||||
- mobilecore.patch
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs:
|
||||
- FacebookSDK@sdk-version-3.0.2
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 50
|
||||
versionName: 2.1.1-c
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
commit: null
|
||||
disable: Labelled as pre-release, so skipped
|
||||
encoding: null
|
||||
extlibs: []
|
||||
forcevercode: false
|
||||
forceversion: false
|
||||
gradle: []
|
||||
gradleprops: []
|
||||
init: ''
|
||||
maven: null
|
||||
ndk: null
|
||||
novcheck: false
|
||||
oldsdkloc: false
|
||||
output: null
|
||||
patch: []
|
||||
postbuild: ''
|
||||
preassemble: []
|
||||
prebuild: ''
|
||||
rm: []
|
||||
scandelete: []
|
||||
scanignore: []
|
||||
srclibs: []
|
||||
subdir: null
|
||||
submodules: false
|
||||
sudo: ''
|
||||
target: null
|
||||
timeout: null
|
||||
versionCode: 51
|
||||
versionName: 2.1.2
|
||||
Categories:
|
||||
- System
|
||||
Changelog: ''
|
||||
CurrentVersion: 2.1.2
|
||||
CurrentVersionCode: 49
|
||||
Description: 'To configure, go to "Settings => Accounts & Sync => Add Account". Depending
|
||||
on
|
||||
|
||||
how many friends you have, the first import might take a while, so be patient.
|
||||
|
||||
|
||||
* Facebook does not allow to export phone numbers or emails: only names, pictures
|
||||
and statuses are synced.
|
||||
|
||||
* Facebook users have the option to block one or all apps: if they opt for that,
|
||||
they will be EXCLUDED from your friends list.
|
||||
|
||||
|
||||
Appbrain SDK was removed before building.'
|
||||
Disabled: null
|
||||
Donate: null
|
||||
FlattrID: null
|
||||
IssueTracker: https://github.com/loadrunner/Facebook-Contact-Sync/issues
|
||||
Liberapay: null
|
||||
License: GPL-3.0-only
|
||||
Litecoin: null
|
||||
MaintainerNotes: ''
|
||||
Name: null
|
||||
NoSourceSince: ''
|
||||
OpenCollective: null
|
||||
Provides: null
|
||||
Repo: https://github.com/loadrunner/Facebook-Contact-Sync.git
|
||||
RepoType: git
|
||||
RequiresRoot: false
|
||||
SourceCode: https://github.com/loadrunner/Facebook-Contact-Sync
|
||||
Summary: Sync your Facebook Contacts
|
||||
Translation: ''
|
||||
UpdateCheckData: null
|
||||
UpdateCheckIgnore: null
|
||||
UpdateCheckMode: None
|
||||
UpdateCheckName: null
|
||||
VercodeOperation: []
|
||||
WebSite: ''
|
||||
added: null
|
||||
id: app.with.special.build.params
|
||||
lastUpdated: null
|
||||
metadatapath: metadata/app.with.special.build.params.yml
|
|
@ -1,6 +1,8 @@
|
|||
AllowedAPKSigningKeys: []
|
||||
AntiFeatures:
|
||||
- NonFreeNet
|
||||
NoSourceSince:
|
||||
en-US: '1.5'
|
||||
NonFreeNet: {}
|
||||
ArchivePolicy: 4 versions
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
|
@ -13,9 +15,9 @@ Builds:
|
|||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures:
|
||||
- KnownVuln
|
||||
- UpstreamNonFree
|
||||
- NonFreeAssets
|
||||
KnownVuln: {}
|
||||
NonFreeAssets: {}
|
||||
UpstreamNonFree: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -50,7 +52,7 @@ Builds:
|
|||
versionName: '1.2'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -85,7 +87,7 @@ Builds:
|
|||
versionName: '1.3'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -120,7 +122,7 @@ Builds:
|
|||
versionName: '1.4'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
AllowedAPKSigningKeys: []
|
||||
AntiFeatures: []
|
||||
AntiFeatures: {}
|
||||
ArchivePolicy: null
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
|
@ -11,7 +11,7 @@ Bitcoin: null
|
|||
Builds:
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -47,7 +47,7 @@ Builds:
|
|||
versionName: '1.12'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -84,7 +84,7 @@ Builds:
|
|||
versionName: '1.15'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -121,7 +121,7 @@ Builds:
|
|||
versionName: '1.18'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -158,7 +158,7 @@ Builds:
|
|||
versionName: '1.19'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -195,7 +195,7 @@ Builds:
|
|||
versionName: '1.20'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -232,7 +232,7 @@ Builds:
|
|||
versionName: '1.21'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -267,7 +267,7 @@ Builds:
|
|||
versionName: '1.23'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -304,7 +304,7 @@ Builds:
|
|||
versionName: '1.24'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -341,7 +341,7 @@ Builds:
|
|||
versionName: '1.25'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -378,7 +378,7 @@ Builds:
|
|||
versionName: '1.26'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -415,7 +415,7 @@ Builds:
|
|||
versionName: '1.27'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -453,7 +453,7 @@ Builds:
|
|||
versionName: '1.29'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -491,7 +491,7 @@ Builds:
|
|||
versionName: '1.32'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -528,7 +528,7 @@ Builds:
|
|||
versionName: '1.33'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -566,7 +566,7 @@ Builds:
|
|||
versionName: '1.34'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -604,7 +604,7 @@ Builds:
|
|||
versionName: '1.35'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -642,7 +642,7 @@ Builds:
|
|||
versionName: '1.36'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -684,7 +684,7 @@ Builds:
|
|||
- android-libs/ActionBarSherlock
|
||||
- android-libs/HtmlSpanner/htmlspanner
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -734,7 +734,7 @@ Builds:
|
|||
- android-libs/ActionBarSherlock
|
||||
- android-libs/HtmlSpanner/htmlspanner
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -780,7 +780,7 @@ Builds:
|
|||
versionName: '2.3'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -818,7 +818,7 @@ Builds:
|
|||
versionName: '2.6'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -856,7 +856,7 @@ Builds:
|
|||
versionName: '2.7'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -894,7 +894,7 @@ Builds:
|
|||
versionName: '2.8'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -932,7 +932,7 @@ Builds:
|
|||
versionName: 2.8.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -970,7 +970,7 @@ Builds:
|
|||
versionName: '2.9'
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -1008,7 +1008,7 @@ Builds:
|
|||
versionName: 2.9.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
@ -1046,7 +1046,7 @@ Builds:
|
|||
versionName: 2.9.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
AllowedAPKSigningKeys: []
|
||||
AntiFeatures: []
|
||||
AntiFeatures: {}
|
||||
ArchivePolicy: null
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
|
@ -11,7 +11,7 @@ Bitcoin: null
|
|||
Builds:
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -72,7 +72,7 @@ Builds:
|
|||
versionName: 0.3.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -115,7 +115,7 @@ Builds:
|
|||
versionName: 0.3.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -156,7 +156,7 @@ Builds:
|
|||
versionName: 0.4.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -197,7 +197,7 @@ Builds:
|
|||
versionName: 0.5.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -237,7 +237,7 @@ Builds:
|
|||
versionName: 0.5.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -277,7 +277,7 @@ Builds:
|
|||
versionName: 0.5.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
@ -317,7 +317,7 @@ Builds:
|
|||
versionName: 0.5.4
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build: ''
|
||||
buildjni: []
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
AllowedAPKSigningKeys: []
|
||||
AntiFeatures: []
|
||||
AntiFeatures: {}
|
||||
ArchivePolicy: 9 versions
|
||||
AuthorEmail: null
|
||||
AuthorName: null
|
||||
|
@ -14,7 +14,7 @@ Builds:
|
|||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -54,7 +54,7 @@ Builds:
|
|||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -94,7 +94,7 @@ Builds:
|
|||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -134,7 +134,7 @@ Builds:
|
|||
- ../java-libs/SlidingMenu
|
||||
- ../java-libs/ActionBarSherlock
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=mips ./compile.sh release
|
||||
|
@ -171,7 +171,7 @@ Builds:
|
|||
versionName: 0.0.11-mips
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=mips ./compile.sh release
|
||||
|
@ -210,7 +210,7 @@ Builds:
|
|||
versionName: 0.1.3-MIPS
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -249,7 +249,7 @@ Builds:
|
|||
versionName: 0.1.3-x86
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -288,7 +288,7 @@ Builds:
|
|||
versionName: 0.1.3-ARM
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -327,7 +327,7 @@ Builds:
|
|||
versionName: 0.1.3-ARMv7
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -365,7 +365,7 @@ Builds:
|
|||
versionName: 0.9.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -403,7 +403,7 @@ Builds:
|
|||
versionName: 0.9.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -441,7 +441,7 @@ Builds:
|
|||
versionName: 0.9.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -479,7 +479,7 @@ Builds:
|
|||
versionName: 0.9.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -517,7 +517,7 @@ Builds:
|
|||
versionName: 0.9.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -555,7 +555,7 @@ Builds:
|
|||
versionName: 0.9.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -593,7 +593,7 @@ Builds:
|
|||
versionName: 0.9.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -631,7 +631,7 @@ Builds:
|
|||
versionName: 0.9.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -669,7 +669,7 @@ Builds:
|
|||
versionName: 0.9.7
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -707,7 +707,7 @@ Builds:
|
|||
versionName: 0.9.7
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=mips ./compile.sh release
|
||||
|
@ -745,7 +745,7 @@ Builds:
|
|||
versionName: 0.9.7.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -783,7 +783,7 @@ Builds:
|
|||
versionName: 0.9.7.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -821,7 +821,7 @@ Builds:
|
|||
versionName: 0.9.7.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -859,7 +859,7 @@ Builds:
|
|||
versionName: 0.9.8
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -897,7 +897,7 @@ Builds:
|
|||
versionName: 0.9.8
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -935,7 +935,7 @@ Builds:
|
|||
versionName: 0.9.8
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -973,7 +973,7 @@ Builds:
|
|||
versionName: 0.9.9
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -1011,7 +1011,7 @@ Builds:
|
|||
versionName: 0.9.9
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -1049,7 +1049,7 @@ Builds:
|
|||
versionName: 0.9.9
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -1087,7 +1087,7 @@ Builds:
|
|||
versionName: 0.9.10
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -1125,7 +1125,7 @@ Builds:
|
|||
versionName: 0.9.10
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -1163,7 +1163,7 @@ Builds:
|
|||
versionName: 0.9.10
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -1201,7 +1201,7 @@ Builds:
|
|||
versionName: 1.0.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -1239,7 +1239,7 @@ Builds:
|
|||
versionName: 1.0.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -1277,7 +1277,7 @@ Builds:
|
|||
versionName: 1.0.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=x86 ./compile.sh release
|
||||
|
@ -1315,7 +1315,7 @@ Builds:
|
|||
versionName: 1.0.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi ./compile.sh release
|
||||
|
@ -1353,7 +1353,7 @@ Builds:
|
|||
versionName: 1.0.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
|
||||
|
@ -1391,7 +1391,7 @@ Builds:
|
|||
versionName: 1.0.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -1431,7 +1431,7 @@ Builds:
|
|||
versionName: 1.1.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -1471,7 +1471,7 @@ Builds:
|
|||
versionName: 1.1.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -1511,7 +1511,7 @@ Builds:
|
|||
versionName: 1.1.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -1551,7 +1551,7 @@ Builds:
|
|||
versionName: 1.1.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -1591,7 +1591,7 @@ Builds:
|
|||
versionName: 1.1.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -1631,7 +1631,7 @@ Builds:
|
|||
versionName: 1.1.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -1671,7 +1671,7 @@ Builds:
|
|||
versionName: 1.1.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -1711,7 +1711,7 @@ Builds:
|
|||
versionName: 1.1.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -1751,7 +1751,7 @@ Builds:
|
|||
versionName: 1.1.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -1791,7 +1791,7 @@ Builds:
|
|||
versionName: 1.2.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -1831,7 +1831,7 @@ Builds:
|
|||
versionName: 1.2.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -1871,7 +1871,7 @@ Builds:
|
|||
versionName: 1.2.0
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -1911,7 +1911,7 @@ Builds:
|
|||
versionName: 1.2.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -1951,7 +1951,7 @@ Builds:
|
|||
versionName: 1.2.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -1991,7 +1991,7 @@ Builds:
|
|||
versionName: 1.2.1
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -2031,7 +2031,7 @@ Builds:
|
|||
versionName: 1.2.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -2071,7 +2071,7 @@ Builds:
|
|||
versionName: 1.2.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -2111,7 +2111,7 @@ Builds:
|
|||
versionName: 1.2.2
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -2151,7 +2151,7 @@ Builds:
|
|||
versionName: 1.2.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -2191,7 +2191,7 @@ Builds:
|
|||
versionName: 1.2.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -2231,7 +2231,7 @@ Builds:
|
|||
versionName: 1.2.3
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -2271,7 +2271,7 @@ Builds:
|
|||
versionName: 1.2.4
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -2311,7 +2311,7 @@ Builds:
|
|||
versionName: 1.2.4
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -2351,7 +2351,7 @@ Builds:
|
|||
versionName: 1.2.4
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -2391,7 +2391,7 @@ Builds:
|
|||
versionName: 1.2.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -2431,7 +2431,7 @@ Builds:
|
|||
versionName: 1.2.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
@ -2471,7 +2471,7 @@ Builds:
|
|||
versionName: 1.2.5
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi" --release
|
||||
|
@ -2511,7 +2511,7 @@ Builds:
|
|||
versionName: 1.2.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "armeabi-v7a" --release
|
||||
|
@ -2551,7 +2551,7 @@ Builds:
|
|||
versionName: 1.2.6
|
||||
- androidupdate: []
|
||||
antcommands: []
|
||||
antifeatures: []
|
||||
antifeatures: {}
|
||||
binary: null
|
||||
build:
|
||||
- cd ../ && ./compile.sh -a "x86" --release
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
"version": 20002,
|
||||
"index": {
|
||||
"name": "/index-v2.json",
|
||||
"sha256": "a3c7e88a522a7228937e5c3d760fc239e3578e292035d88478d32fec9ff5eb54",
|
||||
"size": 52314,
|
||||
"sha256": "f4979b9db840cb51a99e80c20da676ba42b13133dbaa4819673bc43ed2ffc3f3",
|
||||
"size": 52481,
|
||||
"numPackages": 10
|
||||
},
|
||||
"diffs": {}
|
||||
|
|
|
@ -568,7 +568,9 @@
|
|||
]
|
||||
},
|
||||
"antiFeatures": {
|
||||
"NoSourceSince": {},
|
||||
"NoSourceSince": {
|
||||
"en-US": "1.5"
|
||||
},
|
||||
"NonFreeNet": {}
|
||||
}
|
||||
},
|
||||
|
@ -602,7 +604,9 @@
|
|||
]
|
||||
},
|
||||
"antiFeatures": {
|
||||
"NoSourceSince": {},
|
||||
"NoSourceSince": {
|
||||
"en-US": "1.5"
|
||||
},
|
||||
"NonFreeNet": {}
|
||||
}
|
||||
},
|
||||
|
@ -645,7 +649,9 @@
|
|||
]
|
||||
},
|
||||
"antiFeatures": {
|
||||
"NoSourceSince": {},
|
||||
"NoSourceSince": {
|
||||
"en-US": "1.5"
|
||||
},
|
||||
"NonFreeNet": {}
|
||||
}
|
||||
},
|
||||
|
@ -689,7 +695,9 @@
|
|||
},
|
||||
"antiFeatures": {
|
||||
"KnownVuln": {},
|
||||
"NoSourceSince": {},
|
||||
"NoSourceSince": {
|
||||
"en-US": "1.5"
|
||||
},
|
||||
"NonFreeAssets": {},
|
||||
"NonFreeNet": {},
|
||||
"UpstreamNonFree": {}
|
||||
|
@ -1395,4 +1403,4 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -45,11 +45,11 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
'versionCode': 3,
|
||||
'commit': '6a548e4b19',
|
||||
'target': 'android-10',
|
||||
'antifeatures': [
|
||||
'KnownVuln',
|
||||
'UpstreamNonFree',
|
||||
'NonFreeAssets',
|
||||
],
|
||||
'antifeatures': {
|
||||
'KnownVuln': {},
|
||||
'UpstreamNonFree': {},
|
||||
'NonFreeAssets': {},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -68,6 +68,24 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
},
|
||||
)
|
||||
|
||||
def test_remove_blank_flags_from_builds_org_adaway_52(self):
|
||||
"""Unset fields in Builds: entries should be removed."""
|
||||
appid = 'org.adaway'
|
||||
app = metadata.read_metadata({appid: -1})[appid]
|
||||
builds = rewritemeta.remove_blank_flags_from_builds(app.get('Builds'))
|
||||
self.assertEqual(
|
||||
builds[-1],
|
||||
{
|
||||
'buildjni': ['yes'],
|
||||
'commit': 'v3.0',
|
||||
'gradle': ['yes'],
|
||||
'preassemble': ['renameExecutables'],
|
||||
'subdir': 'AdAway',
|
||||
'versionCode': 52,
|
||||
'versionName': '3.0',
|
||||
},
|
||||
)
|
||||
|
||||
def test_remove_blank_flags_from_builds_no_builds(self):
|
||||
"""Unset fields in Builds: entries should be removed."""
|
||||
self.assertEqual(
|
||||
|
@ -78,6 +96,24 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
rewritemeta.remove_blank_flags_from_builds(dict()),
|
||||
list(),
|
||||
)
|
||||
self.assertEqual(
|
||||
rewritemeta.remove_blank_flags_from_builds(list()),
|
||||
list(),
|
||||
)
|
||||
self.assertEqual(
|
||||
rewritemeta.remove_blank_flags_from_builds(set()),
|
||||
list(),
|
||||
)
|
||||
self.assertEqual(
|
||||
rewritemeta.remove_blank_flags_from_builds(tuple()),
|
||||
list(),
|
||||
)
|
||||
|
||||
def test_remove_blank_flags_from_builds_0_is_a_value(self):
|
||||
self.assertEqual(
|
||||
rewritemeta.remove_blank_flags_from_builds([{'versionCode': 0}]),
|
||||
[{'versionCode': 0}],
|
||||
)
|
||||
|
||||
def test_rewrite_no_builds(self):
|
||||
os.chdir(self.testdir)
|
||||
|
|
|
@ -768,7 +768,7 @@ class UpdateTest(unittest.TestCase):
|
|||
'-1': 'res/drawable-mdpi-v4/icon_launcher.png'})
|
||||
self.assertEqual(apk_info['icons'], {})
|
||||
self.assertEqual(apk_info['features'], [])
|
||||
self.assertEqual(apk_info['antiFeatures'], set())
|
||||
self.assertEqual(apk_info['antiFeatures'], dict())
|
||||
self.assertEqual(apk_info['versionName'], 'v1.6pre2')
|
||||
self.assertEqual(apk_info['hash'],
|
||||
'897486e1f857c6c0ee32ccbad0e1b8cd82f6d0e65a44a23f13f852d2b63a18c8')
|
||||
|
@ -819,7 +819,7 @@ class UpdateTest(unittest.TestCase):
|
|||
'hashType': 'sha256',
|
||||
'packageName': 'no.min.target.sdk',
|
||||
'features': [],
|
||||
'antiFeatures': set(),
|
||||
'antiFeatures': dict(),
|
||||
'size': 14102,
|
||||
'sig': 'b4964fd759edaa54e65bb476d0276880',
|
||||
'versionName': '1.2-fake',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue