aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Melnichenko <mpeterval@gmail.com>2016-10-28 17:32:43 +0300
committerPeter Melnichenko <mpeterval@gmail.com>2016-10-28 22:38:19 +0300
commit6a6d4e1c2f97b11caf826641b7dc1640effe283e (patch)
tree5ff845ea7bec68ab9c3ff255351a8636932478f9 /src
parent0574fb3c6d015b80c1f0330e2bf5a630c5ec306a (diff)
downloadluarocks-6a6d4e1c2f97b11caf826641b7dc1640effe283e.tar.gz
luarocks-6a6d4e1c2f97b11caf826641b7dc1640effe283e.tar.bz2
luarocks-6a6d4e1c2f97b11caf826641b7dc1640effe283e.zip
Refactor store_results in luarocks.manif (2)
Do not accept a hook function to call after storing results. Simply call it on the outside after calling store_results.
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/manif.lua29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua
index 15a27c48..4122364a 100644
--- a/src/luarocks/manif.lua
+++ b/src/luarocks/manif.lua
@@ -318,12 +318,10 @@ end
318-- @param results table: The search results as returned by search.disk_search. 318-- @param results table: The search results as returned by search.disk_search.
319-- @param manifest table: A manifest table (must contain repository, modules, commands tables). 319-- @param manifest table: A manifest table (must contain repository, modules, commands tables).
320-- It will be altered to include the search results. 320-- It will be altered to include the search results.
321-- @param dep_handler: dependency handler function
322-- @return boolean or (nil, string): true in case of success, or nil followed by an error message. 321-- @return boolean or (nil, string): true in case of success, or nil followed by an error message.
323local function store_results(results, manifest, dep_handler) 322local function store_results(results, manifest)
324 assert(type(results) == "table") 323 assert(type(results) == "table")
325 assert(type(manifest) == "table") 324 assert(type(manifest) == "table")
326 assert((not dep_handler) or type(dep_handler) == "function")
327 325
328 for name, versions in pairs(results) do 326 for name, versions in pairs(results) do
329 local pkgtable = manifest.repository[name] or {} 327 local pkgtable = manifest.repository[name] or {}
@@ -349,9 +347,6 @@ local function store_results(results, manifest, dep_handler)
349 end 347 end
350 manifest.repository[name] = pkgtable 348 manifest.repository[name] = pkgtable
351 end 349 end
352 if dep_handler then
353 dep_handler(manifest)
354 end
355 sort_package_matching_table(manifest.modules) 350 sort_package_matching_table(manifest.modules)
356 sort_package_matching_table(manifest.commands) 351 sort_package_matching_table(manifest.commands)
357 return true 352 return true
@@ -385,25 +380,19 @@ function manif.make_manifest(repo, deps_mode, remote)
385 380
386 manif_core.cache_manifest(repo, nil, manifest) 381 manif_core.cache_manifest(repo, nil, manifest)
387 382
388 local dep_handler = nil 383 local ok, err = store_results(results, manifest)
389 if not remote then
390 dep_handler = function(manifest)
391 update_dependencies(manifest, deps_mode)
392 end
393 end
394 local ok, err = store_results(results, manifest, dep_handler)
395 if not ok then return nil, err end 384 if not ok then return nil, err end
396 385
397 if remote then 386 if remote then
398 local cache = {} 387 local cache = {}
399 for luaver in util.lua_versions() do 388 for luaver in util.lua_versions() do
400 local vmanifest = { repository = {}, modules = {}, commands = {} } 389 local vmanifest = { repository = {}, modules = {}, commands = {} }
401 local dep_handler = function(manifest) 390 local ok, err = store_results(results, vmanifest)
402 filter_by_lua_version(manifest, luaver, repo, cache) 391 filter_by_lua_version(vmanifest, luaver, repo, cache)
403 end
404 local ok, err = store_results(results, vmanifest, dep_handler)
405 save_table(repo, "manifest-"..luaver, vmanifest) 392 save_table(repo, "manifest-"..luaver, vmanifest)
406 end 393 end
394 else
395 update_dependencies(manifest, deps_mode)
407 end 396 end
408 397
409 return save_table(repo, "manifest", manifest) 398 return save_table(repo, "manifest", manifest)
@@ -445,12 +434,10 @@ function manif.update_manifest(name, version, repo, deps_mode)
445 434
446 local results = {[name] = {[version] = {{arch = "installed", repo = repo}}}} 435 local results = {[name] = {[version] = {{arch = "installed", repo = repo}}}}
447 436
448 local dep_handler = function(manifest) 437 local ok, err = store_results(results, manifest)
449 update_dependencies(manifest, deps_mode)
450 end
451 local ok, err = store_results(results, manifest, dep_handler)
452 if not ok then return nil, err end 438 if not ok then return nil, err end
453 439
440 update_dependencies(manifest, deps_mode)
454 return save_table(repo, "manifest", manifest) 441 return save_table(repo, "manifest", manifest)
455end 442end
456 443