chiark / gitweb /
add test case for JSON parsing, based on parsed .txt metadata
authorHans-Christoph Steiner <hans@eds.org>
Wed, 22 Jul 2015 18:08:35 +0000 (11:08 -0700)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 1 Sep 2015 09:39:51 +0000 (11:39 +0200)
The .pickle was created by dumping the output from parsing the current .txt
metadata for org.adaway.  The JSON started from that pickle dump, but was
then hand edited to be more proper JSON, e.g. using boolean values.

tests/metadata/org.adaway.json [new file with mode: 0644]
tests/metadata/org.adaway.pickle [new file with mode: 0644]

diff --git a/tests/metadata/org.adaway.json b/tests/metadata/org.adaway.json
new file mode 100644 (file)
index 0000000..ee9df7e
--- /dev/null
@@ -0,0 +1,284 @@
+{
+    "Auto Name": "AdAway",
+    "Auto Update Mode": "Version v%v",
+    "Categories": ["System", "Security"],
+    "Current Version": "3.0",
+    "Current Version Code": "52",
+    "Description": [
+        "An ad blocker that uses the hosts file. The hosts file",
+        "contains a list of mappings between hostnames and IP addresses. When",
+        "an app requests an ad, that request is directed to 127.0.0.1 which does",
+        "nothing. There are options to run a web server",
+        "to respond to blocked hostnames and to direct requests to the IP",
+        "address of your choosing. You can download hosts files from the",
+        "app but it is possible to use your own and to add certain sites",
+        "to the white- and black-lists.",
+        "",
+        "[https://github.com/dschuermann/ad-away/raw/HEAD/CHANGELOG Changelog]",
+        "",
+        "Requires root: Yes. The hosts files is located in /system which is normally",
+        "read-only."
+    ],
+    "Donate": "http://sufficientlysecure.org/index.php/adaway",
+    "FlattrID": "369138",
+    "Issue Tracker": "https://github.com/dschuermann/ad-away/issues",
+    "License": "GPLv3",
+    "Provides": "org.sufficientlysecure.adaway",
+    "Repo": "https://github.com/dschuermann/ad-away.git",
+    "Repo Type": "git",
+    "Requires Root": true,
+    "Source Code": "https://github.com/dschuermann/ad-away",
+    "Summary": "Block advertisements",
+    "Update Check Mode": "Tags",
+    "Web Site": "http://sufficientlysecure.org/index.php/adaway",
+
+    "builds": [
+        {
+            "buildjni": true,
+            "commit": "ea5378a94ee0dc1d99d2cec95fae7e6d81afb2b9",
+            "subdir": "org_adaway/",
+            "versionCode": "13",
+            "versionName": "1.12"
+        },
+        {
+            "buildjni": true,
+            "commit": "4128e59da2eac5c2904c7c7568d298ca51e79540",
+            "patch": ["defprop.patch"],
+            "subdir": "org_adaway/",
+            "versionCode": "16",
+            "versionName": "1.15"
+        },
+        {
+            "buildjni": true,
+            "commit": "0b9985398b9eef7baf6aadd0dbb12002bc199d2e",
+            "patch": ["defprop.patch"],
+            "subdir": "org_adaway/",
+            "versionCode": "19",
+            "versionName": "1.18"
+        },
+        {
+            "buildjni": true,
+            "commit": "ab27f4dab5f3ea5e228cfb4a6b0e1fbf53695f22",
+            "patch": ["defprop.patch"],
+            "subdir": "org_adaway/",
+            "versionCode": "20",
+            "versionName": "1.19"
+        },
+        {
+            "buildjni": true,
+            "commit": "695e3801e4081026c8f7213a2345fc451d5eb89c",
+            "patch": ["defprop.patch"],
+            "subdir": "org_adaway/",
+            "versionCode": "21",
+            "versionName": "1.20"
+        },
+        {
+            "buildjni": true,
+            "commit": "65138c11cc8b6affd28b68e125fbc1dff0886a4e",
+            "patch": ["defprop.patch"],
+            "subdir": "org_adaway/",
+            "versionCode": "22",
+            "versionName": "1.21"
+        },
+        {
+            "commit": "unknown - see disabled",
+            "disable": "no source in repo",
+            "versionCode": "24",
+            "versionName": "1.23"
+        },
+        {
+            "buildjni": true,
+            "commit": "f811e53e1e1d2ee047b18715fd7d2072b90ae76b",
+            "prebuild": "android update project -p ../com_actionbarsherlock",
+            "subdir": "org_adaway/",
+            "versionCode": "25",
+            "versionName": "1.24"
+        },
+        {
+            "buildjni": true,
+            "commit": "ff97932761cdee68638dc2550751a64b2cbe18e7",
+            "prebuild": "android update project -p ../com_actionbarsherlock",
+            "subdir": "org_adaway/",
+            "versionCode": "26",
+            "versionName": "1.25"
+        },
+        {
+            "buildjni": true,
+            "commit": "33d4d80998f30bafc88c04c80cbae00b03916f99",
+            "prebuild": "android update project -p ../com_actionbarsherlock",
+            "subdir": "org_adaway/",
+            "versionCode": "27",
+            "versionName": "1.26"
+        },
+        {
+            "buildjni": true,
+            "commit": "743d25a7e287505461f33f4b8e57e4cf988fffea",
+            "prebuild": "android update project -p ../com_actionbarsherlock",
+            "subdir": "org_adaway/",
+            "versionCode": "28",
+            "versionName": "1.27"
+        },
+        {
+            "buildjni": true,
+            "commit": "eaa07f4",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*",
+            "subdir": "org_adaway/",
+            "versionCode": "30",
+            "versionName": "1.29"
+        },
+        {
+            "buildjni": false,
+            "commit": "71ced3f",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && rm libs/android-support-v4.jar",
+            "subdir": "org_adaway/",
+            "versionCode": "33",
+            "versionName": "1.32"
+        },
+        {
+            "buildjni": false,
+            "commit": "9d63c18",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*",
+            "subdir": "org_adaway/",
+            "versionCode": "34",
+            "versionName": "1.33"
+        },
+        {
+            "buildjni": false,
+            "commit": "f2568b1",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+            "subdir": "org_adaway/",
+            "versionCode": "35",
+            "versionName": "1.34"
+        },
+        {
+            "buildjni": false,
+            "commit": "7442d5d",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+            "subdir": "org_adaway/",
+            "versionCode": "36",
+            "versionName": "1.35"
+        },
+        {
+            "buildjni": false,
+            "commit": "83fc713",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+            "subdir": "org_adaway/",
+            "versionCode": "37",
+            "versionName": "1.36"
+        },
+        {
+            "buildjni": false,
+            "commit": "70da32b567122b701cdcb1609b780eb85732028f",
+            "prebuild": "android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations",
+            "subdir": "org_adaway/",
+            "versionCode": "38",
+            "versionName": "1.37"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.1",
+            "extlibs": ["htmlcleaner/htmlcleaner-2.2.jar"],
+            "init": "rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner",
+            "prebuild": "rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo \"android.library.reference.3=$$RootCommands$$\" >> project.properties && echo \"android.library.reference.4=android-libs/HtmlSpanner/htmlspanner\" >> project.properties && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/",
+            "srclibs": ["RootCommands@c940b0e503"],
+            "subdir": "AdAway",
+            "update": [".",
+                       "android-libs/Donations",
+                       "android-libs/ActionBarSherlock",
+                       "android-libs/HtmlSpanner/htmlspanner"],
+            "versionCode": "40",
+            "versionName": "2.1"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.3",
+            "extlibs": ["htmlcleaner/htmlcleaner-2.2.jar"],
+            "init": "rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner",
+            "prebuild": "rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo \"android.library.reference.3=$$RootCommands$$\" >> project.properties && echo \"android.library.reference.4=android-libs/HtmlSpanner/htmlspanner\" >> project.properties && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/",
+            "srclibs": ["RootCommands@c940b0e503"],
+            "subdir": "AdAway",
+            "update": [".",
+                       "android-libs/Donations",
+                       "android-libs/ActionBarSherlock",
+                       "android-libs/HtmlSpanner/htmlspanner"],
+            "versionCode": "42",
+            "versionName": "2.3"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.6",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "45",
+            "versionName": "2.6"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.7",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "46",
+            "versionName": "2.7"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.8",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "47",
+            "versionName": "2.8"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.8.1",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "48",
+            "versionName": "2.8.1"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.9",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "49",
+            "versionName": "2.9"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.9.1",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "50",
+            "versionName": "2.9.1"
+        },
+        {
+            "buildjni": true,
+            "commit": "v2.9.2",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "51",
+            "versionName": "2.9.2"
+        },
+        {
+            "buildjni": true,
+            "commit": "v3.0",
+            "gradle": true,
+            "preassemble": ["renameExecutables"],
+            "subdir": "AdAway",
+            "versionCode": "52",
+            "versionName": "3.0"
+        }
+    ],
+    "comments": [
+        ["build:40", "#RootCommands srclib needs changing on fdroidserver"],
+        ["build:42", "#RootCommands srclib needs changing on fdroidserver"]
+    ]
+}
diff --git a/tests/metadata/org.adaway.pickle b/tests/metadata/org.adaway.pickle
new file mode 100644 (file)
index 0000000..d6165f4
--- /dev/null
@@ -0,0 +1,2260 @@
+(dp0
+S'Update Check Data'
+p1
+NsS'Bitcoin'
+p2
+NsS'AntiFeatures'
+p3
+NsS'Web Site'
+p4
+S'http://sufficientlysecure.org/index.php/adaway'
+p5
+sS'Auto Update Mode'
+p6
+S'Version v%v'
+p7
+sS'Provides'
+p8
+S'org.sufficientlysecure.adaway'
+p9
+sS'Issue Tracker'
+p10
+S'https://github.com/dschuermann/ad-away/issues'
+p11
+sS'Donate'
+p12
+S'http://sufficientlysecure.org/index.php/adaway'
+p13
+sS'Repo Type'
+p14
+S'git'
+p15
+sS'Description'
+p16
+(lp17
+S'An ad blocker that uses the hosts file. The hosts file'
+p18
+aS'contains a list of mappings between hostnames and IP addresses. When'
+p19
+aS'an app requests an ad, that request is directed to 127.0.0.1 which does'
+p20
+aS'nothing. There are options to run a web server'
+p21
+aS'to respond to blocked hostnames and to direct requests to the IP'
+p22
+aS'address of your choosing. You can download hosts files from the'
+p23
+aS'app but it is possible to use your own and to add certain sites'
+p24
+aS'to the white- and black-lists.'
+p25
+aS''
+p26
+aS'[https://github.com/dschuermann/ad-away/raw/HEAD/CHANGELOG Changelog]'
+p27
+ag26
+aS'Requires root: Yes. The hosts files is located in /system which is normally'
+p28
+aS'read-only.'
+p29
+asS'Requires Root'
+p30
+S'Yes'
+p31
+sS'comments'
+p32
+(lp33
+(lp34
+S'build:40'
+p35
+aS'#RootCommands srclib needs changing on fdroidserver'
+p36
+aa(lp37
+S'build:42'
+p38
+aS'#RootCommands srclib needs changing on fdroidserver'
+p39
+aasS'id'
+p40
+S'org.adaway'
+p41
+sS'Repo'
+p42
+S'https://github.com/dschuermann/ad-away.git'
+p43
+sS'No Source Since'
+p44
+g26
+sS'Auto Name'
+p45
+S'AdAway'
+p46
+sS'Categories'
+p47
+(lp48
+S'System'
+p49
+aS'Security'
+p50
+asS'Source Code'
+p51
+S'https://github.com/dschuermann/ad-away'
+p52
+sS'Litecoin'
+p53
+NsS'Update Check Ignore'
+p54
+NsS'Name'
+p55
+NsS'License'
+p56
+S'GPLv3'
+p57
+sS'Changelog'
+p58
+g26
+sS'Update Check Mode'
+p59
+S'Tags'
+p60
+sS'Summary'
+p61
+S'Block advertisements'
+p62
+sS'Dogecoin'
+p63
+NsS'Maintainer Notes'
+p64
+(lp65
+sS'Current Version Code'
+p66
+S'52'
+p67
+sS'Binaries'
+p68
+NsS'Archive Policy'
+p69
+NsS'builds'
+p70
+(lp71
+(dp72
+S'submodules'
+p73
+I00
+sS'vercode'
+p74
+S'13'
+p75
+sS'forceversion'
+p76
+I00
+sS'oldsdkloc'
+p77
+I00
+sS'kivy'
+p78
+I00
+sS'gradle'
+p79
+I00
+sS'scanignore'
+p80
+(lp81
+sS'srclibs'
+p82
+(lp83
+sS'encoding'
+p84
+NsS'extlibs'
+p85
+(lp86
+sS'init'
+p87
+g26
+sS'version'
+p88
+S'1.12'
+p89
+sS'subdir'
+p90
+S'org_adaway/'
+p91
+sS'rm'
+p92
+(lp93
+sS'type'
+p94
+S'ant'
+p95
+sS'build'
+p96
+g26
+sS'ndk_path'
+p97
+g26
+sS'forcevercode'
+p98
+I00
+sS'preassemble'
+p99
+(lp100
+sS'update'
+p101
+(lp102
+S'auto'
+p103
+asS'maven'
+p104
+I00
+sS'disable'
+p105
+I00
+sS'commit'
+p106
+S'ea5378a94ee0dc1d99d2cec95fae7e6d81afb2b9'
+p107
+sS'scandelete'
+p108
+(lp109
+sS'buildjni'
+p110
+(lp111
+S'yes'
+p112
+asS'ndk'
+p113
+S'r10e'
+p114
+sS'target'
+p115
+NsS'antcommands'
+p116
+NsS'patch'
+p117
+(lp118
+sS'prebuild'
+p119
+g26
+sS'novcheck'
+p120
+I00
+sS'output'
+p121
+Nsa(dp122
+g73
+I00
+sg74
+S'16'
+p123
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.15'
+p124
+sS'subdir'
+p125
+S'org_adaway/'
+p126
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p127
+S'4128e59da2eac5c2904c7c7568d298ca51e79540'
+p128
+sg108
+g109
+sS'buildjni'
+p129
+(lp130
+S'yes'
+p131
+asg113
+g114
+sg115
+Nsg116
+NsS'patch'
+p132
+(lp133
+S'defprop.patch'
+p134
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp135
+g73
+I00
+sg74
+S'19'
+p136
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.18'
+p137
+sS'subdir'
+p138
+S'org_adaway/'
+p139
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p140
+S'0b9985398b9eef7baf6aadd0dbb12002bc199d2e'
+p141
+sg108
+g109
+sS'buildjni'
+p142
+(lp143
+S'yes'
+p144
+asg113
+g114
+sg115
+Nsg116
+NsS'patch'
+p145
+(lp146
+S'defprop.patch'
+p147
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp148
+g73
+I00
+sg74
+S'20'
+p149
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.19'
+p150
+sS'subdir'
+p151
+S'org_adaway/'
+p152
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p153
+S'ab27f4dab5f3ea5e228cfb4a6b0e1fbf53695f22'
+p154
+sg108
+g109
+sS'buildjni'
+p155
+(lp156
+S'yes'
+p157
+asg113
+g114
+sg115
+Nsg116
+NsS'patch'
+p158
+(lp159
+S'defprop.patch'
+p160
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp161
+g73
+I00
+sg74
+S'21'
+p162
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.20'
+p163
+sS'subdir'
+p164
+S'org_adaway/'
+p165
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p166
+S'695e3801e4081026c8f7213a2345fc451d5eb89c'
+p167
+sg108
+g109
+sS'buildjni'
+p168
+(lp169
+S'yes'
+p170
+asg113
+g114
+sg115
+Nsg116
+NsS'patch'
+p171
+(lp172
+S'defprop.patch'
+p173
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp174
+g73
+I00
+sg74
+S'22'
+p175
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.21'
+p176
+sS'subdir'
+p177
+S'org_adaway/'
+p178
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p179
+S'65138c11cc8b6affd28b68e125fbc1dff0886a4e'
+p180
+sg108
+g109
+sS'buildjni'
+p181
+(lp182
+S'yes'
+p183
+asg113
+g114
+sg115
+Nsg116
+NsS'patch'
+p184
+(lp185
+S'defprop.patch'
+p186
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp187
+g73
+I00
+sg74
+S'24'
+p188
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.23'
+p189
+sS'subdir'
+p190
+Nsg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sS'disable'
+p191
+S'no source in repo'
+p192
+sS'commit'
+p193
+S'unknown - see disabled'
+p194
+sg108
+g109
+sS'buildjni'
+p195
+(lp196
+sg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sg119
+g26
+sg120
+I00
+sg121
+Nsa(dp197
+g73
+I00
+sg74
+S'25'
+p198
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.24'
+p199
+sS'subdir'
+p200
+S'org_adaway/'
+p201
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p202
+S'f811e53e1e1d2ee047b18715fd7d2072b90ae76b'
+p203
+sg108
+g109
+sS'buildjni'
+p204
+(lp205
+S'yes'
+p206
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p207
+S'android update project -p ../com_actionbarsherlock'
+p208
+sg120
+I00
+sg121
+Nsa(dp209
+g73
+I00
+sg74
+S'26'
+p210
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.25'
+p211
+sS'subdir'
+p212
+S'org_adaway/'
+p213
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p214
+S'ff97932761cdee68638dc2550751a64b2cbe18e7'
+p215
+sg108
+g109
+sS'buildjni'
+p216
+(lp217
+S'yes'
+p218
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p219
+S'android update project -p ../com_actionbarsherlock'
+p220
+sg120
+I00
+sg121
+Nsa(dp221
+g73
+I00
+sg74
+S'27'
+p222
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.26'
+p223
+sS'subdir'
+p224
+S'org_adaway/'
+p225
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p226
+S'33d4d80998f30bafc88c04c80cbae00b03916f99'
+p227
+sg108
+g109
+sS'buildjni'
+p228
+(lp229
+S'yes'
+p230
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p231
+S'android update project -p ../com_actionbarsherlock'
+p232
+sg120
+I00
+sg121
+Nsa(dp233
+g73
+I00
+sg74
+S'28'
+p234
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.27'
+p235
+sS'subdir'
+p236
+S'org_adaway/'
+p237
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p238
+S'743d25a7e287505461f33f4b8e57e4cf988fffea'
+p239
+sg108
+g109
+sS'buildjni'
+p240
+(lp241
+S'yes'
+p242
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p243
+S'android update project -p ../com_actionbarsherlock'
+p244
+sg120
+I00
+sg121
+Nsa(dp245
+g73
+I00
+sg74
+S'30'
+p246
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.29'
+p247
+sS'subdir'
+p248
+S'org_adaway/'
+p249
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p250
+S'eaa07f4'
+p251
+sg108
+g109
+sS'buildjni'
+p252
+(lp253
+S'yes'
+p254
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p255
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*'
+p256
+sg120
+I00
+sg121
+Nsa(dp257
+g73
+I00
+sg74
+S'33'
+p258
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.32'
+p259
+sS'subdir'
+p260
+S'org_adaway/'
+p261
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p262
+S'71ced3f'
+p263
+sg108
+g109
+sS'buildjni'
+p264
+(lp265
+S'no'
+p266
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p267
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && rm libs/android-support-v4.jar'
+p268
+sg120
+I00
+sg121
+Nsa(dp269
+g73
+I00
+sg74
+S'34'
+p270
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.33'
+p271
+sS'subdir'
+p272
+S'org_adaway/'
+p273
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p274
+S'9d63c18'
+p275
+sg108
+g109
+sS'buildjni'
+p276
+(lp277
+S'no'
+p278
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p279
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*'
+p280
+sg120
+I00
+sg121
+Nsa(dp281
+g73
+I00
+sg74
+S'35'
+p282
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.34'
+p283
+sS'subdir'
+p284
+S'org_adaway/'
+p285
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p286
+S'f2568b1'
+p287
+sg108
+g109
+sS'buildjni'
+p288
+(lp289
+S'no'
+p290
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p291
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p292
+sg120
+I00
+sg121
+Nsa(dp293
+g73
+I00
+sg74
+S'36'
+p294
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.35'
+p295
+sS'subdir'
+p296
+S'org_adaway/'
+p297
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p298
+S'7442d5d'
+p299
+sg108
+g109
+sS'buildjni'
+p300
+(lp301
+S'no'
+p302
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p303
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p304
+sg120
+I00
+sg121
+Nsa(dp305
+g73
+I00
+sg74
+S'37'
+p306
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.36'
+p307
+sS'subdir'
+p308
+S'org_adaway/'
+p309
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p310
+S'83fc713'
+p311
+sg108
+g109
+sS'buildjni'
+p312
+(lp313
+S'no'
+p314
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p315
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p316
+sg120
+I00
+sg121
+Nsa(dp317
+g73
+I00
+sg74
+S'38'
+p318
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'1.37'
+p319
+sS'subdir'
+p320
+S'org_adaway/'
+p321
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p322
+S'70da32b567122b701cdcb1609b780eb85732028f'
+p323
+sg108
+g109
+sS'buildjni'
+p324
+(lp325
+S'no'
+p326
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p327
+S'android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/* && android update project -p ../org_donations'
+p328
+sg120
+I00
+sg121
+Nsa(dp329
+g73
+I00
+sg74
+S'40'
+p330
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sS'srclibs'
+p331
+(lp332
+S'RootCommands@c940b0e503'
+p333
+asg84
+NsS'extlibs'
+p334
+(lp335
+S'htmlcleaner/htmlcleaner-2.2.jar'
+p336
+asS'init'
+p337
+S'rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner'
+p338
+sg88
+S'2.1'
+p339
+sS'subdir'
+p340
+S'AdAway'
+p341
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sS'update'
+p342
+(lp343
+S'.'
+p344
+aS'android-libs/Donations'
+p345
+aS'android-libs/ActionBarSherlock'
+p346
+aS'android-libs/HtmlSpanner/htmlspanner'
+p347
+asg104
+I00
+sg105
+I00
+sS'commit'
+p348
+S'v2.1'
+p349
+sg108
+g109
+sS'buildjni'
+p350
+(lp351
+S'yes'
+p352
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p353
+S'rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties && find . -type f -print0 | xargs -0 sed -i \'s/org.rootcommands/org.sufficientlysecure.rootcommands/g\' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/'
+p354
+sg120
+I00
+sg121
+Nsa(dp355
+g73
+I00
+sg74
+S'42'
+p356
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg79
+I00
+sg80
+g81
+sS'srclibs'
+p357
+(lp358
+S'RootCommands@c940b0e503'
+p359
+asg84
+NsS'extlibs'
+p360
+(lp361
+S'htmlcleaner/htmlcleaner-2.2.jar'
+p362
+asS'init'
+p363
+S'rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner'
+p364
+sg88
+S'2.3'
+p365
+sS'subdir'
+p366
+S'AdAway'
+p367
+sg92
+g93
+sg94
+g95
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sg99
+g100
+sS'update'
+p368
+(lp369
+g344
+aS'android-libs/Donations'
+p370
+aS'android-libs/ActionBarSherlock'
+p371
+aS'android-libs/HtmlSpanner/htmlspanner'
+p372
+asg104
+I00
+sg105
+I00
+sS'commit'
+p373
+S'v2.3'
+p374
+sg108
+g109
+sS'buildjni'
+p375
+(lp376
+S'yes'
+p377
+asg113
+g114
+sg115
+Nsg116
+Nsg117
+g118
+sS'prebuild'
+p378
+S'rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ && echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties && find . -type f -print0 | xargs -0 sed -i \'s/org.rootcommands/org.sufficientlysecure.rootcommands/g\' && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/'
+p379
+sg120
+I00
+sg121
+Nsa(dp380
+g73
+I00
+sg74
+S'45'
+p381
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.6'
+p382
+sS'subdir'
+p383
+S'AdAway'
+p384
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p385
+(lp386
+S'renameExecutables'
+p387
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p388
+S'v2.6'
+p389
+sg108
+g109
+sS'buildjni'
+p390
+(lp391
+S'yes'
+p392
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p393
+(lp394
+S'yes'
+p395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp396
+g73
+I00
+sg74
+S'46'
+p397
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.7'
+p398
+sS'subdir'
+p399
+S'AdAway'
+p400
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p401
+(lp402
+S'renameExecutables'
+p403
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p404
+S'v2.7'
+p405
+sg108
+g109
+sS'buildjni'
+p406
+(lp407
+S'yes'
+p408
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p409
+(lp410
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp411
+g73
+I00
+sg74
+S'47'
+p412
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.8'
+p413
+sS'subdir'
+p414
+S'AdAway'
+p415
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p416
+(lp417
+S'renameExecutables'
+p418
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p419
+S'v2.8'
+p420
+sg108
+g109
+sS'buildjni'
+p421
+(lp422
+S'yes'
+p423
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p424
+(lp425
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp426
+g73
+I00
+sg74
+S'48'
+p427
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.8.1'
+p428
+sS'subdir'
+p429
+S'AdAway'
+p430
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p431
+(lp432
+S'renameExecutables'
+p433
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p434
+S'v2.8.1'
+p435
+sg108
+g109
+sS'buildjni'
+p436
+(lp437
+S'yes'
+p438
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p439
+(lp440
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp441
+g73
+I00
+sg74
+S'49'
+p442
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.9'
+p443
+sS'subdir'
+p444
+S'AdAway'
+p445
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p446
+(lp447
+S'renameExecutables'
+p448
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p449
+S'v2.9'
+p450
+sg108
+g109
+sS'buildjni'
+p451
+(lp452
+S'yes'
+p453
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p454
+(lp455
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp456
+g73
+I00
+sg74
+S'50'
+p457
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.9.1'
+p458
+sS'subdir'
+p459
+S'AdAway'
+p460
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p461
+(lp462
+S'renameExecutables'
+p463
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p464
+S'v2.9.1'
+p465
+sg108
+g109
+sS'buildjni'
+p466
+(lp467
+S'yes'
+p468
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p469
+(lp470
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp471
+g73
+I00
+sg74
+S'51'
+p472
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'2.9.2'
+p473
+sS'subdir'
+p474
+S'AdAway'
+p475
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p476
+(lp477
+S'renameExecutables'
+p478
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p479
+S'v2.9.2'
+p480
+sg108
+g109
+sS'buildjni'
+p481
+(lp482
+S'yes'
+p483
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p484
+(lp485
+g395
+asg119
+g26
+sg120
+I00
+sg121
+Nsa(dp486
+g73
+I00
+sg74
+S'52'
+p487
+sg76
+I00
+sg77
+I00
+sg78
+I00
+sg117
+g118
+sg80
+g81
+sg82
+g83
+sg84
+Nsg85
+g86
+sg87
+g26
+sg88
+S'3.0'
+p488
+sS'subdir'
+p489
+S'AdAway'
+p490
+sg92
+g93
+sg94
+g79
+sg96
+g26
+sg97
+g26
+sg98
+I00
+sS'preassemble'
+p491
+(lp492
+S'renameExecutables'
+p493
+asg101
+g102
+sg104
+I00
+sg105
+I00
+sS'commit'
+p494
+S'v3.0'
+p495
+sg108
+g109
+sS'buildjni'
+p496
+(lp497
+S'yes'
+p498
+asg113
+g114
+sg115
+Nsg116
+NsS'gradle'
+p499
+(lp500
+g395
+asg119
+g26
+sg120
+I00
+sg121
+NsasS'FlattrID'
+p501
+S'369138'
+p502
+sS'Disabled'
+p503
+NsS'Update Check Name'
+p504
+NsS'Vercode Operation'
+p505
+NsS'Current Version'
+p506
+S'3.0'
+p507
+s.
\ No newline at end of file