diff options
| author | ruki <[email protected]> | 2017-09-29 00:54:12 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-09-28 23:25:14 +0800 |
| commit | 80ae3ad93ee0de27eb3ba9eb42e5d711079e5ad5 (patch) | |
| tree | 96da8ea33deba00532fa6456c4cb0e842641f1c2 | |
| parent | 371b4a11894b2f784f03f805d35683469614f213 (diff) | |
improve require info
| -rw-r--r-- | xmake/actions/require/info.lua | 34 | ||||
| -rw-r--r-- | xmake/actions/require/search.lua | 31 |
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 |
