summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2023-02-01 00:53:04 +0800
committerruki <[email protected]>2023-02-01 00:53:04 +0800
commit8fcfa349daf5add9d1be7ab5091eab4c5b89ea76 (patch)
tree7dd4a72e1e7d24539d26ec43269f4c62cb649771
parent93aa9ca807fd263059df50406abe033f24846b31 (diff)
do check
-rw-r--r--xmake/plugins/check/checker.lua2
-rw-r--r--xmake/plugins/check/checkers/api/target/languages.lua1
-rw-r--r--xmake/plugins/check/checkers/api/target/packages.lua1
-rw-r--r--xmake/plugins/check/main.lua27
4 files changed, 28 insertions, 3 deletions
diff --git a/xmake/plugins/check/checker.lua b/xmake/plugins/check/checker.lua
index 148c21059..025b4bde8 100644
--- a/xmake/plugins/check/checker.lua
+++ b/xmake/plugins/check/checker.lua
@@ -50,7 +50,7 @@ function complete(complete, opt)
else
table.insert(list, "...")
end
- elseif k:startswith(complete) then
+ elseif name:startswith(complete) then
table.insert(list, name)
end
end
diff --git a/xmake/plugins/check/checkers/api/target/languages.lua b/xmake/plugins/check/checkers/api/target/languages.lua
index 5a0b8122e..c401f5584 100644
--- a/xmake/plugins/check/checkers/api/target/languages.lua
+++ b/xmake/plugins/check/checkers/api/target/languages.lua
@@ -19,4 +19,5 @@
--
function main()
+ print("check languages ..")
end
diff --git a/xmake/plugins/check/checkers/api/target/packages.lua b/xmake/plugins/check/checkers/api/target/packages.lua
index fe3de2f01..900948e3d 100644
--- a/xmake/plugins/check/checkers/api/target/packages.lua
+++ b/xmake/plugins/check/checkers/api/target/packages.lua
@@ -19,4 +19,5 @@
--
function main()
+ print("check packages ..")
end
diff --git a/xmake/plugins/check/main.lua b/xmake/plugins/check/main.lua
index 3e411ff54..e2479526d 100644
--- a/xmake/plugins/check/main.lua
+++ b/xmake/plugins/check/main.lua
@@ -23,6 +23,7 @@ import("core.base.option")
import("core.base.text")
import("checker")
+-- show checkers list
function _show_list()
local tbl = {align = 'l', sep = " "}
local checkers = checker.checkers()
@@ -39,6 +40,7 @@ function _show_list()
cprint(text.table(tbl))
end
+-- show checker information
function _show_info(name)
local checkers = checker.checkers()
local info = checkers[name]
@@ -50,10 +52,31 @@ function _show_info(name)
end
end
+-- do check
+function _check(group_or_name, arguments)
+ local checked_checkers = {}
+ local checkers = checker.checkers()
+ if checkers[group_or_name] then
+ table.insert(checked_checkers, group_or_name)
+ else
+ for name, _ in table.orderpairs(checkers) do
+ if name:startswith(group_or_name .. ".") then
+ table.insert(checked_checkers, name)
+ end
+ end
+ end
+ assert(#checked_checkers > 0, "checker(%s) not found!", group_or_name)
+ for _, name in ipairs(checked_checkers) do
+ import("checkers." .. name, {anonymous = true})(arguments)
+ end
+end
+
function main()
if option.get("list") then
- return _show_list()
+ _show_list()
elseif option.get("info") then
- return _show_info(option.get("info"))
+ _show_info(option.get("info"))
+ elseif option.get("checkers") then
+ _check(option.get("checkers"), option.get("arguments"))
end
end