summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/actions/require/info.lua34
-rw-r--r--xmake/actions/require/search.lua31
2 files changed, 51 insertions, 14 deletions
diff --git a/xmake/actions/require/info.lua b/xmake/actions/require/info.lua
index bbeff3ea0..85ceab31b 100644
--- a/xmake/actions/require/info.lua
+++ b/xmake/actions/require/info.lua
@@ -46,7 +46,7 @@ function main(requires)
end
-- show title
- print("The package info:")
+ print("The package infos:")
-- list all packages
for _, instance in ipairs(package.load_packages(requires)) do
@@ -68,21 +68,33 @@ function main(requires)
end
-- show urls
- cprint(" -> ${magenta}urls${clear}:")
- for _, url in ipairs(instance:urls()) do
- print(" -> %s", filter.handle(url, instance))
- local sha256 = instance:sha256(instance:url_alias(url))
- if sha256 then
- cprint(" -> ${yellow}%s${clear}", sha256)
+ local urls = instance:urls()
+ if urls and #urls > 0 then
+ cprint(" -> ${magenta}urls${clear}:")
+ for _, url in ipairs(urls) do
+ print(" -> %s", filter.handle(url, instance))
+ local sha256 = instance:sha256(instance:url_alias(url))
+ if sha256 then
+ cprint(" -> ${yellow}%s${clear}", sha256)
+ end
end
end
-- show deps
- cprint(" -> ${magenta}deps${clear}:")
- for _, dep in ipairs(instance:orderdeps()) do
- requireinfo = dep:requireinfo() or {}
- cprint(" -> %s", requireinfo.originstr)
+ local deps = instance:orderdeps()
+ if deps and #deps > 0 then
+ cprint(" -> ${magenta}deps${clear}:")
+ for _, dep in ipairs(deps) do
+ requireinfo = dep:requireinfo() or {}
+ cprint(" -> %s", requireinfo.originstr)
+ end
end
+
+ -- show cache directory
+ cprint(" -> ${magenta}cachedir${clear}: %s", instance:cachedir())
+
+ -- show install directory
+ cprint(" -> ${magenta}installdir${clear}: %s", instance:installdir())
end
-- leave environment
diff --git a/xmake/actions/require/search.lua b/xmake/actions/require/search.lua
index 11e5a6225..b9ea3b1c3 100644
--- a/xmake/actions/require/search.lua
+++ b/xmake/actions/require/search.lua
@@ -22,8 +22,33 @@
-- @file search.lua
--
--- search for the given packages from repositories
-function main(packages)
- -- TODO
+-- imports
+import("core.base.task")
+import("action.filter")
+import("package")
+import("repository")
+import("environment")
+
+-- search the given packages
+function main(names)
+
+ -- no names?
+ if not names then
+ return
+ end
+
+ -- enter environment
+ environment.enter()
+
+ -- pull all repositories first if not exists
+ if not repository.pulled() then
+ task.run("repo", {update = true})
+ end
+
+ -- show title
+ print("The package names:")
+
+ -- leave environment
+ environment.leave()
end