Rewrite readme
This commit is contained in:
49
xmake/actions/listdeps.lua
Normal file
49
xmake/actions/listdeps.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
task("list-deps")
|
||||
|
||||
set_menu({
|
||||
-- Settings menu usage
|
||||
usage = "xmake list-deps [target]",
|
||||
description = "List dependencies used by the engine or a specific target",
|
||||
options =
|
||||
{
|
||||
{'t', "target", "v", nil, "Target name" }
|
||||
}
|
||||
})
|
||||
|
||||
on_run(function ()
|
||||
import("core.base.option")
|
||||
import("core.project.project")
|
||||
import("private.action.require.impl.package")
|
||||
|
||||
local requires, requires_extra = project.requires_str()
|
||||
if not requires or #requires == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local usedpackages
|
||||
|
||||
local targetname = option.get("target")
|
||||
if targetname then
|
||||
local target = project.target(targetname)
|
||||
usedpackages = target:pkgs()
|
||||
else
|
||||
usedpackages = project.required_packages()
|
||||
end
|
||||
|
||||
local projectdeps = {}
|
||||
for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do
|
||||
if usedpackages[instance:name()] then
|
||||
table.insert(projectdeps, {
|
||||
name = instance:name(),
|
||||
desc = instance:description(),
|
||||
homepage = instance:get("homepage")
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
table.sort(projectdeps, function (a, b) return a.name < b.name end)
|
||||
|
||||
for _, dep in pairs(projectdeps) do
|
||||
print(string.format("- [%s](%s): %s", dep.name, dep.homepage, dep.desc))
|
||||
end
|
||||
end)
|
||||
Reference in New Issue
Block a user