summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-09-29 00:54:12 +0800
committerruki <[email protected]>2017-09-28 23:25:14 +0800
commit80ae3ad93ee0de27eb3ba9eb42e5d711079e5ad5 (patch)
tree96da8ea33deba00532fa6456c4cb0e842641f1c2
parent371b4a11894b2f784f03f805d35683469614f213 (diff)
improve require info
-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