summaryrefslogtreecommitdiff
path: root/xmake
diff options
context:
space:
mode:
authorruki <[email protected]>2023-06-26 23:33:00 +0800
committerruki <[email protected]>2023-06-26 23:33:00 +0800
commit649faaf87d7cb1eab632d89be89fc12ebfe4e3a2 (patch)
treee7f152d0eeab200568488d283c515ee563de6eda /xmake
parent85d99167743dd858b846509dd579ea06852bc76e (diff)
fix proto depfiles #3885
Diffstat (limited to 'xmake')
-rw-r--r--xmake/rules/protobuf/module_parser.lua8
1 files changed, 5 insertions, 3 deletions
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