Rework build into a class

This simplifies usage, goes from

    build['flag']
to
    build.flag

Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.

As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.

While at it, unify "build", "thisbuild", "info", "thisinfo", etc into
just "build".
This commit is contained in:
Daniel Martí 2015-11-28 17:55:27 +01:00
parent 2c12485aeb
commit bf8518ee8f
15 changed files with 6997 additions and 8636 deletions

View file

@ -10,87 +10,87 @@ S'Tracking'
p5
aS'NonFreeNet'
p6
asS'Web Site'
asS'Litecoin'
p7
S'http://osmand.net'
NsS'comments'
p8
sS'Auto Update Mode'
p9
S'None'
p10
(dp9
sS'Provides'
p11
p10
NsS'Issue Tracker'
p12
p11
S'https://github.com/osmandapp/Osmand/issues'
p13
p12
sS'Donate'
p14
p13
S'https://code.google.com/p/osmand/#Please_support_the_project'
p14
sS'Archive Policy'
p15
sS'id'
NsS'Description'
p16
S'net.osmand.plus'
p17
sS'Description'
p18
(lp19
(lp17
S"Osmand~'s features can be extended by enabling the plugins via the settings,"
p20
p18
aS'which include online maps from many sources, tracking, OpenStreetMap (OSM) editing and'
p21
p19
aS'accessibility enhancements.'
p22
p20
aS''
p23
p21
aS'Map data of both vector and raster types can be stored on the phone memory'
p24
p22
aS'card for offline usage, and navigation by default uses offline methods. Map'
p25
p23
aS'data packages for many territories can be downloaded from within the app and'
p26
p24
aS'there is a desktop program available on the website as well for creating your'
p27
p25
aS'own.'
p28
ag23
p26
ag21
aS'Anti-Features: Tracking - It will send your device and application specs to an'
p29
p27
aS'Analytics server upon downloading the list of maps you can download.'
p30
ag23
p28
ag21
aS'[https://osmandapp.github.io/changes.html Changelog]'
p31
p29
asS'Requires Root'
p32
p30
I00
sS'comments'
sS'lastupdated'
p31
NsS'id'
p32
S'net.osmand.plus'
p33
(dp34
sS'Repo Type'
p35
S'git'
p36
sS'Repo'
p37
p34
S'https://github.com/mvdan/OsmAnd-submodules'
p38
p35
sS'No Source Since'
p39
g23
p36
g21
sS'Repo Type'
p37
S'git'
p38
sS'Auto Name'
p40
g23
p39
g21
sS'Categories'
p41
(lp42
S'Navigation'
p40
(lp41
S'None'
p42
aS'Navigation'
p43
asS'Source Code'
p44
S'https://github.com/osmandapp/Osmand'
p45
sS'Litecoin'
sS'added'
p46
NsS'Update Check Ignore'
p47
@ -104,7 +104,7 @@ S'GPLv3'
p51
sS'Changelog'
p52
g23
g21
sS'Update Check Mode'
p53
S'None'
@ -113,394 +113,344 @@ sS'Summary'
p55
S'Offline/online maps and navigation'
p56
sS'Maintainer Notes'
sS'Current Version'
p57
(lp58
S'No UCMs apply because git never contains actual releases, only pre-releses.'
S'1.9.5'
p58
sS'Maintainer Notes'
p59
ag23
aS'The build instructions have been moved to a script in the root of the repo,'
p60
aS"'build'. This way it can be updated along with the submodules."
(lp60
S'No UCMs apply because git never contains actual releases, only pre-releses.'
p61
asS'Current Version Code'
ag21
aS'The build instructions have been moved to a script in the root of the repo,'
p62
S'197'
aS"'build'. This way it can be updated along with the submodules."
p63
sS'Binaries'
asS'Current Version Code'
p64
NsS'Archive Policy'
S'197'
p65
NsS'builds'
sS'Binaries'
p66
(lp67
(dp68
NsS'builds'
p67
(lp68
(dp69
S'submodules'
p69
I01
sS'vercode'
p70
S'182'
S'true'
p71
sS'forceversion'
sS'kivy'
p72
I00
sS'oldsdkloc'
sS'forceversion'
p73
I00
sS'gradleprops'
sS'oldsdkloc'
p74
(lp75
sS'scanignore'
I00
sS'antcommands'
p75
NsS'scanignore'
p76
(lp77
sS'patch'
sS'gradle'
p78
(lp79
sS'srclibs'
p80
(lp81
sS'output'
p82
S'bin/OsmAnd-release-unsigned.apk'
p83
sS'encoding'
p84
NsS'extlibs'
p85
(lp86
sS'init'
p87
g23
sS'version'
p88
S'1.8.2'
p89
sS'build'
p90
S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
p91
sS'rm'
p92
(lp93
sS'kivy'
p94
I00
sS'srclibs'
p79
(lp80
sS'encoding'
p81
NsS'extlibs'
p82
(lp83
sS'init'
p84
g21
sS'version'
p85
S'1.8.2'
p86
sS'subdir'
p95
p87
S'android/OsmAnd'
p96
p88
sS'rm'
p89
(lp90
sS'build'
p91
S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
p92
sS'vercode'
p93
S'182'
p94
sS'forcevercode'
p97
p95
I00
sS'preassemble'
p98
(lp99
p96
(lp97
sS'update'
p100
(lp101
S'auto'
p102
asS'maven'
p103
p98
NsS'maven'
p99
I00
sS'disable'
p104
I00
sS'ndk_path'
p105
g23
sS'scandelete'
p106
(lp107
sS'buildjni'
p108
(lp109
S'no'
p110
asS'ndk'
p111
S'r10e'
p112
sS'target'
p113
NsS'type'
p114
S'raw'
p115
sS'antcommands'
p116
NsS'gradle'
p117
I00
sS'prebuild'
p118
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p119
sS'novcheck'
p120
p100
I00
sS'commit'
p121
p101
S'76ada6c8a08afe69acb755503373ac36328ef665'
p122
sa(dp123
S'submodules'
p124
I01
sg70
S'183'
p125
p102
sS'scandelete'
p103
(lp104
sS'buildjni'
p105
S'no'
p106
sS'ndk'
p107
NsS'target'
p108
NsS'gradleprops'
p109
(lp110
sS'patch'
p111
(lp112
sS'prebuild'
p113
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p114
sS'novcheck'
p115
I00
sS'output'
p116
S'bin/OsmAnd-release-unsigned.apk'
p117
sa(dp118
g70
g71
sg72
I00
sg73
I00
sg74
(lp126
sg76
g77
I00
sg75
Nsg76
(lp119
sg78
g79
sg80
g81
sS'output'
p127
S'bin/OsmAnd-release-unsigned.apk'
p128
I00
sg79
(lp120
sg81
Nsg82
(lp121
sg84
Nsg85
g86
g21
sg85
S'1.8.3'
p122
sg87
g23
sg88
S'1.8.3'
p129
sS'subdir'
p130
S'android/OsmAnd'
p131
sg92
g93
sg94
I00
sS'build'
p132
p123
sg89
(lp124
sg91
S'../../build'
p133
sg97
p125
sg93
S'183'
p126
sg95
I00
sg96
(lp127
sg98
g99
Nsg99
I00
sg100
g101
sg103
I00
sg104
I00
sg105
g23
sg106
g107
sS'buildjni'
p134
(lp135
S'no'
p136
asg111
g112
sg113
Nsg114
g115
sg116
Nsg117
I00
sS'prebuild'
p137
g23
sg120
I00
sS'commit'
p138
sg101
S'1.8.3'
p128
sg103
(lp129
sg105
S'no'
p130
sg107
Nsg108
Nsg109
(lp131
sg111
(lp132
sg113
g21
sg115
I00
sg116
S'bin/OsmAnd-release-unsigned.apk'
p133
sa(dp134
g70
g71
sg72
I00
sg73
I00
sg74
I00
sg75
Nsg76
(lp135
sg78
I00
sg79
(lp136
sg81
Nsg82
(lp137
sg84
g21
sg85
S'1.9.4'
p138
sg87
S'android/OsmAnd'
p139
sa(dp140
S'submodules'
sg89
(lp140
sg91
S'../../build'
p141
I01
sg70
sg93
S'196'
p142
sg72
sg95
I00
sg73
I00
sg74
sg96
(lp143
sg76
g77
sg78
g79
sg80
g81
sS'output'
p144
S'bin/OsmAnd-release-unsigned.apk'
p145
sg84
Nsg85
g86
sg87
g23
sg88
S'1.9.4'
p146
sS'subdir'
p147
S'android/OsmAnd'
p148
sg92
g93
sg94
I00
sS'build'
p149
S'../../build'
p150
sg97
I00
sg98
g99
Nsg99
I00
sg100
g101
sg103
I00
sg104
I00
sg105
g23
sg106
g107
sS'buildjni'
p151
(lp152
S'no'
p153
asS'ndk'
p154
S'r10d'
p155
sg113
Nsg114
g115
sg116
Nsg117
I00
sg137
g23
sg120
I00
sS'commit'
p156
sg101
S'1.9.4'
p157
sa(dp158
S'submodules'
p159
I01
sg70
S'197'
p160
p144
sg103
(lp145
sg105
S'no'
p146
sg107
S'r10d'
p147
sg108
Nsg109
(lp148
sg111
(lp149
sg113
g21
sg115
I00
sg116
S'bin/OsmAnd-release-unsigned.apk'
p150
sa(dp151
g70
g71
sg72
I00
sg73
I00
sg74
(lp161
sg76
g77
I00
sg75
Nsg76
(lp152
sg78
g79
sg80
g81
sS'output'
p162
S'bin/OsmAnd-release-unsigned.apk'
p163
I00
sg79
(lp153
sg81
Nsg82
(lp154
sg84
Nsg85
g86
g21
sg85
S'1.9.5'
p155
sg87
g23
sg88
S'1.9.5'
p164
sS'subdir'
p165
S'android/OsmAnd'
p166
sg92
g93
sg94
I00
sS'build'
p167
p156
sg89
(lp157
sg91
S'../../build'
p168
sg97
p158
sg93
S'197'
p159
sg95
I00
sg96
(lp160
sg98
g99
Nsg99
I00
sg100
g101
I00
sg101
S'1.9.5'
p161
sg103
I00
sg104
I00
(lp162
sg105
g23
sg106
g107
sS'buildjni'
p169
(lp170
S'no'
p171
asS'ndk'
p172
p163
sg107
S'r10d'
p173
p164
sg108
Nsg109
(lp165
sg111
(lp166
sg113
Nsg114
g115
g21
sg115
I00
sg116
Nsg117
I00
sg137
g23
sg120
I00
sS'commit'
p174
S'1.9.5'
p175
S'bin/OsmAnd-release-unsigned.apk'
p167
sasS'FlattrID'
p176
p168
NsS'metadatapath'
p177
p169
S'metadata/net.osmand.plus.xml'
p178
p170
sS'Disabled'
p179
NsS'added'
p180
NsS'lastupdated'
p181
NsS'Update Check Name'
p182
p171
NsS'Web Site'
p172
S'http://osmand.net'
p173
sS'Update Check Name'
p174
NsS'Vercode Operation'
p183
NsS'Current Version'
p184
S'1.9.5'
p185
s.
p175
NsS'Auto Update Mode'
p176
S'None'
p177
s.