wonko_the_sane 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/bin/wonko_the_sane +91 -0
  3. data/data/minecraft.json +668 -0
  4. data/data/mods.json +2475 -0
  5. data/data/sources.json +427 -0
  6. data/data/timestamps.json +13 -0
  7. data/lib/wonko_the_sane.rb +66 -0
  8. data/lib/wonko_the_sane/input/base_input.rb +55 -0
  9. data/lib/wonko_the_sane/input/forge_installer_profile_input.rb +134 -0
  10. data/lib/wonko_the_sane/input/forgefiles_mods_input.rb +30 -0
  11. data/lib/wonko_the_sane/input/jenkins_input.rb +46 -0
  12. data/lib/wonko_the_sane/input/mojang_input.rb +214 -0
  13. data/lib/wonko_the_sane/reader_writer.rb +163 -0
  14. data/lib/wonko_the_sane/registry.rb +61 -0
  15. data/lib/wonko_the_sane/rules.rb +69 -0
  16. data/lib/wonko_the_sane/timestamps.rb +30 -0
  17. data/lib/wonko_the_sane/tools/update_nem.rb +85 -0
  18. data/lib/wonko_the_sane/util/configuration.rb +35 -0
  19. data/lib/wonko_the_sane/util/deep_storage_cache.rb +65 -0
  20. data/lib/wonko_the_sane/util/extraction_cache.rb +30 -0
  21. data/lib/wonko_the_sane/util/file_hash_cache.rb +42 -0
  22. data/lib/wonko_the_sane/util/http_cache.rb +143 -0
  23. data/lib/wonko_the_sane/util/maven_identifier.rb +39 -0
  24. data/lib/wonko_the_sane/util/task_stack.rb +21 -0
  25. data/lib/wonko_the_sane/version.rb +3 -0
  26. data/lib/wonko_the_sane/version_index.rb +33 -0
  27. data/lib/wonko_the_sane/version_parser.rb +115 -0
  28. data/lib/wonko_the_sane/versionlists/base_version_list.rb +103 -0
  29. data/lib/wonko_the_sane/versionlists/curse_version_list.rb +52 -0
  30. data/lib/wonko_the_sane/versionlists/forge_version_list.rb +142 -0
  31. data/lib/wonko_the_sane/versionlists/forgefiles_mods_list.rb +24 -0
  32. data/lib/wonko_the_sane/versionlists/jenkins_version_list.rb +29 -0
  33. data/lib/wonko_the_sane/versionlists/liteloader_version_list.rb +66 -0
  34. data/lib/wonko_the_sane/versionlists/vanilla_legacy_version_list.rb +39 -0
  35. data/lib/wonko_the_sane/versionlists/vanilla_version_list.rb +35 -0
  36. data/lib/wonko_the_sane/wonko_version.rb +184 -0
  37. metadata +324 -0
data/data/sources.json ADDED
@@ -0,0 +1,427 @@
1
+ {
2
+ "forgefiles": {
3
+ "ironchests": "IronChests2",
4
+ "biomesoplenty": "BiomesOPlenty",
5
+ "codechicken.lib": "CodeChickenLib",
6
+ "forgeessentials": "ForgeEssentials",
7
+ "forgemultipart": "ForgeMultipart",
8
+ "secretroomsmod": "SecretRoomsMod",
9
+ "worldcore": "WorldCore",
10
+ "compactsolars": "CompactSolars"
11
+ },
12
+ "jenkins": [
13
+ {
14
+ "uid": "ic2",
15
+ "url": "http://jenkins.ic2.player.to",
16
+ "artifact": "IC2_experimental"
17
+ },
18
+ {
19
+ "uid": "dimdoors",
20
+ "url": "http://build.technicpack.net",
21
+ "artifact": "DimDoors"
22
+ },
23
+ {
24
+ "uid": "enderore",
25
+ "url": "http://build.technicpack.net",
26
+ "artifact": "EnderOre"
27
+ },
28
+ {
29
+ "uid": "flatbedrock",
30
+ "url": "http://build.technicpack.net",
31
+ "artifact": "FlatBedrock"
32
+ },
33
+ {
34
+ "uid": "gregslighting",
35
+ "url": "http://build.technicpack.net",
36
+ "artifact": "GregsLighting"
37
+ },
38
+ {
39
+ "uid": "hexxitgear",
40
+ "url": "http://build.technicpack.net",
41
+ "artifact": "HexxitGear"
42
+ },
43
+ {
44
+ "uid": "inventorytweaks",
45
+ "url": "http://build.technicpack.net",
46
+ "artifact": "Inventory-Tweaks"
47
+ },
48
+ {
49
+ "uid": "minefactoryreloaded",
50
+ "url": "http://build.technicpack.net",
51
+ "artifact": "MineFactoryReloaded"
52
+ },
53
+ {
54
+ "uid": "modularpowersuits",
55
+ "url": "http://build.technicpack.net",
56
+ "artifact": "ModularPowersuits",
57
+ "fileRegex": "ModularPowersuits-[\\.\\d\\-]*\\.jar"
58
+ },
59
+ {
60
+ "uid": "numina",
61
+ "url": "http://build.technicpack.net",
62
+ "artifact": "Numina"
63
+ },
64
+ {
65
+ "uid": "buildcraft",
66
+ "url": "http://nallar.me/buildservice",
67
+ "artifact": "Buildcraft"
68
+ },
69
+ {
70
+ "uid": "equivalentexchange3",
71
+ "url": "http://nallar.me/buildservice",
72
+ "artifact": "Equivalent%20Exchange%203"
73
+ },
74
+ {
75
+ "uid": "openblocks",
76
+ "url": "http://openmods.info:8080",
77
+ "artifact": "OpenBlocks"
78
+ },
79
+ {
80
+ "uid": "openeye",
81
+ "url": "http://openmods.info:8080",
82
+ "artifact": "OpenEye"
83
+ },
84
+ {
85
+ "uid": "openmodslib",
86
+ "url": "http://openmods.info:8080",
87
+ "artifact": "OpenModsLib"
88
+ },
89
+ {
90
+ "uid": "openperipheralsaddons",
91
+ "url": "http://openmods.info:8080",
92
+ "artifact": "OpenPeripheralAddons"
93
+ },
94
+ {
95
+ "uid": "openperipheralscore",
96
+ "url": "http://openmods.info:8080",
97
+ "artifact": "OpenPeripheralCore"
98
+ },
99
+ {
100
+ "uid": "openperipheralintegration",
101
+ "url": "http://openmods.info:8080",
102
+ "artifact": "OpenPeripheralIntegration"
103
+ },
104
+ {
105
+ "uid": "logisticspipes",
106
+ "url": "http://ci.thezorro266.com",
107
+ "artifact": "LogisticsPipesMC1.2.5"
108
+ },
109
+ {
110
+ "uid": "logisticspipes",
111
+ "url": "http://ci.thezorro266.com",
112
+ "artifact": "LogisticsPipesMC1.3.2"
113
+ },
114
+ {
115
+ "uid": "logisticspipes",
116
+ "url": "http://ci.thezorro266.com",
117
+ "artifact": "LogisticsPipesMC1.4.7"
118
+ },
119
+ {
120
+ "uid": "logisticspipes",
121
+ "url": "http://ci.thezorro266.com",
122
+ "artifact": "LogisticsPipesMC1.5.2"
123
+ },
124
+ {
125
+ "uid": "logisticspipes",
126
+ "url": "http://ci.thezorro266.com",
127
+ "artifact": "LogisticsPipes1.7"
128
+ },
129
+ {
130
+ "uid": "bdlib",
131
+ "url": "http://jenkins.bdew.net",
132
+ "artifact": "bdlib-1.7.10"
133
+ },
134
+ {
135
+ "uid": "bdlib",
136
+ "url": "http://jenkins.bdew.net",
137
+ "artifact": "bdlib-1.7.10"
138
+ },
139
+ {
140
+ "uid": "gendustry",
141
+ "url": "http://jenkins.bdew.net",
142
+ "artifact": "gendustry-1.7.10"
143
+ },
144
+ {
145
+ "uid": "bdew.generators",
146
+ "url": "http://jenkins.bdew.net",
147
+ "artifact": "generators-1.7.10"
148
+ },
149
+ {
150
+ "uid": "neiaddons",
151
+ "url": "http://jenkins.bdew.net",
152
+ "artifact": "neiaddons-1.7.10"
153
+ },
154
+ {
155
+ "uid": "bdew.pressure",
156
+ "url": "http://jenkins.bdew.net",
157
+ "artifact": "pressure-1.7.10"
158
+ },
159
+ {
160
+ "uid": "modularpowersuits.addons",
161
+ "url": "http://build.technicpack.net",
162
+ "artifact": "ModularPowersuitsAddons"
163
+ },
164
+ {
165
+ "uid": "powercrystals.core",
166
+ "url": "http://build.technicpack.net",
167
+ "artifact": "PowerCrystalsCore"
168
+ },
169
+ {
170
+ "uid": "powerconverters",
171
+ "url": "http://jamesmckay.id.au:8080",
172
+ "artifact": "Power%20Converters"
173
+ },
174
+ {
175
+ "uid": "galacticraft",
176
+ "url": "http://ci.micdoodle8.com:8080",
177
+ "artifact": "Galacticraft-1.7"
178
+ },
179
+ {
180
+ "uid": "artifice",
181
+ "url": "http://76.72.175.100:8080",
182
+ "artifact": "Artifice"
183
+ },
184
+ {
185
+ "uid": "mekanism",
186
+ "url": "http://ci.indiewikis.com:8080",
187
+ "artifact": "Mekanism"
188
+ },
189
+ {
190
+ "uid": "enderio",
191
+ "url": "http://ci.tterrag.com",
192
+ "artifact": "EnderIO"
193
+ },
194
+ {
195
+ "uid": "extracells",
196
+ "url": "http://shadowcity.net:8080",
197
+ "artifact": "ecrv1"
198
+ },
199
+ {
200
+ "uid": "supermassivetech",
201
+ "url": "http://ci.tterrag.com",
202
+ "artifact": "Super%20Massive%20Tech"
203
+ },
204
+ {
205
+ "uid": "forestry",
206
+ "url": "http://jenkins.ic2.player.to",
207
+ "artifact": "Forestry"
208
+ },
209
+ {
210
+ "uid": "projectred",
211
+ "url": "http://ci.indiewikis.com:8080",
212
+ "artifact": "Project%20Red"
213
+ },
214
+ {
215
+ "uid": "morpheus",
216
+ "url": "http://jenkins.qmunity.co.uk",
217
+ "artifact": "Morpheus%201.7.x"
218
+ },
219
+ {
220
+ "uid": "pay2spawn",
221
+ "url": "http://jenkins.dries007.net",
222
+ "artifact": "Pay2Spawn"
223
+ },
224
+ {
225
+ "uid": "holoinventory",
226
+ "url": "http://jenkins.dries007.net",
227
+ "artifact": "HoloInventory"
228
+ },
229
+ {
230
+ "uid": "placeabletools",
231
+ "url": "http://jenkins.dries007.net",
232
+ "artifact": "PlaceableTools"
233
+ },
234
+ {
235
+ "uid": "torchtools",
236
+ "url": "http://jenkins.dries007.net",
237
+ "artifact": "TorchTools"
238
+ },
239
+ {
240
+ "uid": "opencomputers",
241
+ "url": "http://ci.cil.li",
242
+ "artifact": "OpenComputers-1.5-MC1.7.10"
243
+ },
244
+ {
245
+ "uid": "autocrafter2000",
246
+ "url": "http://jenkins.dries007.net",
247
+ "artifact": "AutoCrafter2000"
248
+ },
249
+ {
250
+ "uid": "craycrafting",
251
+ "url": "http://jenkins.dries007.net",
252
+ "artifact": "CrayCrafting"
253
+ },
254
+ {
255
+ "uid": "d3core",
256
+ "url": "http://jenkins.dries007.net",
257
+ "artifact": "D3Core"
258
+ },
259
+ {
260
+ "uid": "greenthumb",
261
+ "url": "http://jenkins.dries007.net",
262
+ "artifact": "GreenThumb"
263
+ },
264
+ {
265
+ "uid": "letitburn",
266
+ "url": "http://jenkins.dries007.net",
267
+ "artifact": "Let-it-Burn"
268
+ },
269
+ {
270
+ "uid": "lumberjack",
271
+ "url": "http://jenkins.dries007.net",
272
+ "artifact": "Lumberjack"
273
+ },
274
+ {
275
+ "uid": "hexwool",
276
+ "url": "http://server.techjargaming.com:8080",
277
+ "artifact": "HexWool"
278
+ },
279
+ {
280
+ "uid": "madscience",
281
+ "url": "http://madsciencemod.com:8080",
282
+ "artifact": "Mad%20Science"
283
+ },
284
+ {
285
+ "uid": "minechem",
286
+ "url": "http://jenkins.jakimfett.com",
287
+ "artifact": "Minechem%201.7%20v5"
288
+ },
289
+ {
290
+ "uid": "alchemyplusplus",
291
+ "url": "http://jenkins.jakimfett.com",
292
+ "artifact": "AlchemyPlusPlus%201.7"
293
+ },
294
+ {
295
+ "uid": "betterstorage",
296
+ "url": "http://jenkins.rx14.co.uk/job/copygirl",
297
+ "artifact": "BetterStorage"
298
+ },
299
+ {
300
+ "uid": "launchgui",
301
+ "url": "http://tehnut.info/jenkins",
302
+ "artifact": "LaunchGUI-1.7.10"
303
+ },
304
+ {
305
+ "uid": "loaderlist",
306
+ "url": "http://tehnut.info/jenkins",
307
+ "artifact": "LoaderList"
308
+ },
309
+ {
310
+ "uid": "sunstroke",
311
+ "url": "http://tehnut.info/jenkins",
312
+ "artifact": "SunStroke"
313
+ },
314
+ {
315
+ "uid": "morechisels",
316
+ "url": "http://tehnut.info/jenkins",
317
+ "artifact": "MoreChisels"
318
+ },
319
+ {
320
+ "uid": "chiseltones",
321
+ "url": "http://tehnut.info/jenkins",
322
+ "artifact": "ChiselTones"
323
+ },
324
+ {
325
+ "uid": "cookiecore",
326
+ "url": "http://tehnut.info/jenkins",
327
+ "artifact": "CookieCore"
328
+ },
329
+ {
330
+ "uid": "modulararmour",
331
+ "url": "http://tehnut.info/jenkins",
332
+ "artifact": "ModularArmour"
333
+ },
334
+ {
335
+ "uid": "sanguimancy",
336
+ "url": "http://tehnut.info/jenkins",
337
+ "artifact": "Sanguimancy"
338
+ },
339
+ {
340
+ "uid": "tinkerssteelworks.ephys",
341
+ "url": "http://tehnut.info/jenkins",
342
+ "artifact": "TSteelworks"
343
+ },
344
+ {
345
+ "uid": "enderzoo",
346
+ "url": "http://ci.tterrag.com",
347
+ "artifact": "Ender%20Zoo"
348
+ },
349
+ {
350
+ "uid": "extracells",
351
+ "url": "http://shadowcity.net:8080",
352
+ "artifact": "ecrv2"
353
+ },
354
+ {
355
+ "uid": "forestry",
356
+ "url": "http://jenkins.ic2.player.to",
357
+ "artifact": "Forestry_Dev"
358
+ },
359
+ {
360
+ "uid": "morpheus",
361
+ "url": "http://jenkins.qmunity.co.uk",
362
+ "artifact": "Morpheus"
363
+ },
364
+ {
365
+ "uid": "opencomputers",
366
+ "url": "http://ci.cil.li",
367
+ "artifact": "OpenComputers-dev-MC1.7.10"
368
+ },
369
+ {
370
+ "uid": "launchgui",
371
+ "url": "http://tehnut.info/jenkins",
372
+ "artifact": "LaunchGUI-1.8"
373
+ }
374
+ ],
375
+ "curse": [
376
+ {
377
+ "uid": "compactmachines",
378
+ "id": "224218",
379
+ "fileregex": "compactmachines-(?P<mc>.+?)-(?P<version>.+?).jar$"
380
+ },
381
+ {
382
+ "uid": "minefactoryreloaded",
383
+ "id": "66672",
384
+ "fileregex": "MineFactoryReloaded-\\[(?P<mc>.+?)\\](?P<version>.+?).jar"
385
+ },
386
+ {
387
+ "uid": "lanteacraft",
388
+ "id": "77342",
389
+ "fileregex": "LanteaCraft-(?P<mc>.+?)-(?P<version>.+?).jar$"
390
+ },
391
+ {
392
+ "uid": "tinkersconstruct",
393
+ "id": "74072",
394
+ "fileregex": "TConstruct-(?P<mc>.+?)-(?P<version>.+?).jar"
395
+ },
396
+ {
397
+ "uid": "tinkersmechworks",
398
+ "id": "78057",
399
+ "fileregex": "TMechworks-(?P<mc>.+?)-(?P<version>.+?).jar"
400
+ },
401
+ {
402
+ "uid": "endertech",
403
+ "id": "223428",
404
+ "fileregex": "EnderTech-(?P<mc>.+?)-(?P<version>.+?).jar"
405
+ },
406
+ {
407
+ "uid": "bloodmagic",
408
+ "id": "224791",
409
+ "fileregex": "BloodMagic-(?P<mc>.+?)-(?P<version>.+?)-.+?.jar"
410
+ },
411
+ {
412
+ "uid": "creepercollateral",
413
+ "id": "223801",
414
+ "fileregex": "CreeperCollateral-\\[(?P<mc>.+?)\\](?P<version>.+?).jar"
415
+ },
416
+ {
417
+ "uid": "inpurecore",
418
+ "id": "223792",
419
+ "fileregex": "INpureCore-\\[(?P<mc>.+?)\\](?P<version>.+?).jar"
420
+ },
421
+ {
422
+ "uid": "enderio",
423
+ "id": "64578",
424
+ "fileregex": "EnderIO-(?P<mc>.+?)-(?P<version>.+?).jar"
425
+ }
426
+ ]
427
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "__comment": "Put timestamp corrections in here",
3
+ "org.lwjgl": {
4
+ "2.9.4-nightly-20150209" : 1424440809,
5
+ "2.9.3": 1421539200,
6
+ "2.9.2-nightly-20140822": 1408665600,
7
+ "2.9.1": 1385942400,
8
+ "2.9.1-nightly-20131120": 1384905600,
9
+ "2.9.1-nightly-20131017": 1381968000,
10
+ "2.9.1-nightly-20130708-debug3": 1373241600,
11
+ "2.9.0": 1366502400
12
+ }
13
+ }
@@ -0,0 +1,66 @@
1
+ require 'logging'
2
+ require 'colorize'
3
+ require 'yajl/json_gem'
4
+ require 'fileutils'
5
+ require 'zip'
6
+ require 'set'
7
+
8
+ require 'wonko_the_sane/version'
9
+ require 'wonko_the_sane/tools/update_nem'
10
+ require 'wonko_the_sane/util/configuration'
11
+ require 'wonko_the_sane/util/extraction_cache'
12
+ require 'wonko_the_sane/util/deep_storage_cache'
13
+ require 'wonko_the_sane/util/file_hash_cache'
14
+ require 'wonko_the_sane/util/http_cache'
15
+ require 'wonko_the_sane/util/maven_identifier'
16
+ require 'wonko_the_sane/util/task_stack'
17
+
18
+ require 'wonko_the_sane/input/base_input'
19
+ require 'wonko_the_sane/input/forge_installer_profile_input'
20
+ require 'wonko_the_sane/input/forgefiles_mods_input'
21
+ require 'wonko_the_sane/input/jenkins_input'
22
+ require 'wonko_the_sane/input/mojang_input'
23
+
24
+ require 'wonko_the_sane/versionlists/base_version_list'
25
+ require 'wonko_the_sane/versionlists/curse_version_list'
26
+ require 'wonko_the_sane/versionlists/forge_version_list'
27
+ require 'wonko_the_sane/versionlists/forgefiles_mods_list'
28
+ require 'wonko_the_sane/versionlists/jenkins_version_list'
29
+ require 'wonko_the_sane/versionlists/liteloader_version_list'
30
+ require 'wonko_the_sane/versionlists/vanilla_legacy_version_list'
31
+ require 'wonko_the_sane/versionlists/vanilla_version_list'
32
+
33
+ require 'wonko_the_sane/reader_writer'
34
+ require 'wonko_the_sane/registry'
35
+ require 'wonko_the_sane/rules'
36
+ require 'wonko_the_sane/timestamps'
37
+ require 'wonko_the_sane/version_index'
38
+ require 'wonko_the_sane/version_parser'
39
+ require 'wonko_the_sane/wonko_version'
40
+
41
+ module WonkoTheSane
42
+ def self.lists
43
+ configuration.lists
44
+ end
45
+
46
+ def self.data(file)
47
+ configuration.data_path + '/' + file
48
+ end
49
+
50
+ def self.data_json(file)
51
+ JSON.parse File.open(data(file), 'r'), symbolize_keys: true
52
+ end
53
+
54
+ def self.set_data_json(file, obj)
55
+ File.write data(file), JSON.pretty_generate(obj)
56
+ end
57
+
58
+ def self.configure(&block)
59
+ yield configuration
60
+ end
61
+
62
+ def self.configuration
63
+ @configuration ||= Util::Configuration.new
64
+ end
65
+ private_class_method :configuration
66
+ end