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 | |
| 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.
| -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 | ||
