From 649faaf87d7cb1eab632d89be89fc12ebfe4e3a2 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 26 Jun 2023 23:33:00 +0800 Subject: fix proto depfiles #3885 --- xmake/rules/protobuf/module_parser.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'xmake/rules/protobuf/module_parser.lua') diff --git a/xmake/rules/protobuf/module_parser.lua b/xmake/rules/protobuf/module_parser.lua index d4e3091f7..163d36df2 100644 --- a/xmake/rules/protobuf/module_parser.lua +++ b/xmake/rules/protobuf/module_parser.lua @@ -132,20 +132,22 @@ end -- build batch jobs function build_batchjobs(moduledeps, batchjobs, rootjob) local depset = hashset.new() - for _, moduleinfo in pairs(moduledeps) do + local moduleinfos = {} + for _, moduleinfo in table.orderpairs(moduledeps) do assert(moduleinfo.job) for _, depname in ipairs(moduleinfo.deps) do depset:insert(depname) end + table.insert(moduleinfos, moduleinfo) end local moduledeps_root = {} - for _, moduleinfo in pairs(moduledeps) do + for _, moduleinfo in ipairs(moduleinfos) do if not depset:has(moduleinfo.name) then table.insert(moduledeps_root, moduleinfo) end end local jobrefs = {} - for _, moduleinfo in pairs(moduledeps_root) do + for _, moduleinfo in ipairs(moduledeps_root) do _build_batchjobs_with_deps(moduledeps, batchjobs, rootjob, jobrefs, moduleinfo) end end -- cgit v1.3.1