Mercurial > repo
view share/lua/5.2/luarocks/purge.lua @ 7407:e0e71cf09064
<b_jonas> slashlearn Ravnica: City of Guilds/Ravnica: City of Guilds is a city of guilds. \xe2\x80\x9cCity of Guilds\xe2\x80\x9d is part of its name. The Wizards of the Coast Marketing Department: We Sell Anything thought players might not notice it was a City of Guilds unless they put the tagline into the name.
author | HackBot |
---|---|
date | Sun, 17 Apr 2016 19:29:46 +0000 |
parents | d137f631bad5 |
children |
line wrap: on
line source
--- Module implementing the LuaRocks "purge" command. -- Remove all rocks from a given tree. module("luarocks.purge", package.seeall) local util = require("luarocks.util") local fs = require("luarocks.fs") local path = require("luarocks.path") local search = require("luarocks.search") local deps = require("luarocks.deps") local repos = require("luarocks.repos") local manif = require("luarocks.manif") local cfg = require("luarocks.cfg") help_summary = "Remove all installed rocks from a tree." help_arguments = "--tree=<tree>" help = [[ This command removes all rocks from a given tree. The --tree argument is mandatory: luarocks purge does not assume a default tree. ]] function run(...) local flags = util.parse_flags(...) local tree = flags["tree"] if type(tree) ~= "string" then return nil, "The --tree argument is mandatory, see help." end local results = {} local query = search.make_query("") query.exact_name = false search.manifest_search(results, path.rocks_dir(tree), query) for package, versions in util.sortedpairs(results) do for version, repositories in util.sortedpairs(versions, function(a,b) return deps.compare_versions(b,a) end) do util.printout("Removing "..package.." "..version.."...") local ok, err = repos.delete_version(package, version, true) if not ok then util.printerr(err) end end end return manif.make_manifest(cfg.rocks_dir, "one") end