summaryrefslogtreecommitdiff
path: root/xmake/modules/private/service/clean_files.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2022-05-15 22:49:17 +0800
committerruki <[email protected]>2022-05-15 22:49:17 +0800
commit03929cccff7008ff6a86177ff128ec525aa0dcbf (patch)
tree9172cafc311b083cef8880fca7d76a703f3efbdb /xmake/modules/private/service/clean_files.lua
parent041c077d21b47bd5b6ce5bab60f36c44d71d355b (diff)
clean files in distcc server
Diffstat (limited to 'xmake/modules/private/service/clean_files.lua')
-rw-r--r--xmake/modules/private/service/clean_files.lua27
1 files changed, 25 insertions, 2 deletions
diff --git a/xmake/modules/private/service/clean_files.lua b/xmake/modules/private/service/clean_files.lua
index 2e70c6c64..7660065c9 100644
--- a/xmake/modules/private/service/clean_files.lua
+++ b/xmake/modules/private/service/clean_files.lua
@@ -20,10 +20,33 @@
-- imports
import("core.base.option")
+import("core.base.scheduler")
+import("private.service.client_config", {alias = "config"})
import("private.service.remote_build.client", {alias = "remote_build_client"})
+import("private.service.distcc_build.client", {alias = "distcc_build_client"})
-function main()
- remote_build_client():clean()
+function _clean_remote_build_server(...)
+ remote_build_client(...):clean()
+end
+
+function _clean_distcc_build_server(...)
+ distcc_build_client(...):clean()
+end
+
+function main(...)
+ local cleaners = {}
+ if option.get("remote") then
+ table.insert(cleaners, _clean_remote_build_server)
+ elseif option.get("distcc") then
+ table.insert(cleaners, _clean_distcc_build_server)
+ else
+ if config.get("remote_build") then
+ table.insert(cleaners, _clean_remote_build_server)
+ end
+ end
+ for _, clean_server in ipairs(cleaners) do
+ scheduler.co_start(clean_server, ...)
+ end
end