diff options
| author | ruki <[email protected]> | 2023-06-26 23:33:00 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-06-26 23:33:00 +0800 |
| commit | 649faaf87d7cb1eab632d89be89fc12ebfe4e3a2 (patch) | |
| tree | e7f152d0eeab200568488d283c515ee563de6eda | |
| parent | 85d99167743dd858b846509dd579ea06852bc76e (diff) | |
fix proto depfiles #3885
| -rw-r--r-- | xmake/rules/protobuf/module_parser.lua | 8 |
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 |
