summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-03-15 22:50:53 +0800
committerruki <[email protected]>2020-03-15 22:50:53 +0800
commitc3bbcd2de662ea62483ccd3f2ce6a40a16f5bf15 (patch)
tree3d77eba7461f7b8f860cb58ad802bf2ae018c7ff
parentf2c56de12bd1ec026bdff931d30815d181d79643 (diff)
fix require --info
-rw-r--r--xmake/actions/require/info.lua28
1 files changed, 6 insertions, 22 deletions
diff --git a/xmake/actions/require/info.lua b/xmake/actions/require/info.lua
index 96582c328..b9411c109 100644
--- a/xmake/actions/require/info.lua
+++ b/xmake/actions/require/info.lua
@@ -26,6 +26,7 @@ import("impl.utils.filter")
import("impl.package")
import("impl.repository")
import("impl.environment")
+import("impl.utils.get_requires")
-- from xmake/system/remote?
function _from(instance)
@@ -56,10 +57,12 @@ function _info(instance)
end
-- show the given package info
-function main(package_names)
+function main(requires_raw)
- -- no package names?
- if not package_names then
+ -- get requires and extra config
+ local requires_extra = nil
+ local requires, requires_extra = get_requires(requires_raw)
+ if not requires or #requires == 0 then
return
end
@@ -74,25 +77,6 @@ function main(package_names)
-- show title
print("The package info of project:")
- -- get project requires
- local project_requires, requires_extra = project.requires_str()
- if not project_requires then
- raise("requires(%s) not found in project!", table.concat(requires, " "))
- end
-
- -- find required package in project
- local requires = {}
- for _, name in ipairs(package_names) do
- for _, require_str in ipairs(project_requires) do
- if require_str:split(' ')[1]:lower():find(name:lower()) then
- table.insert(requires, require_str)
- end
- end
- end
- if #requires == 0 then
- raise("%s not found in project!", table.concat(package_names, " "))
- end
-
-- list all packages
for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do