diff options
author | Peter Melnichenko <mpeterval@gmail.com> | 2016-10-28 17:32:43 +0300 |
---|---|---|
committer | Peter Melnichenko <mpeterval@gmail.com> | 2016-10-28 22:38:19 +0300 |
commit | 6a6d4e1c2f97b11caf826641b7dc1640effe283e (patch) | |
tree | 5ff845ea7bec68ab9c3ff255351a8636932478f9 /src | |
parent | 0574fb3c6d015b80c1f0330e2bf5a630c5ec306a (diff) | |
download | luarocks-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.lua | 29 |
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. |
323 | local function store_results(results, manifest, dep_handler) | 322 | local 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) |
455 | end | 442 | end |
456 | 443 | ||