Merge pull request #39121 from Xrayez/py-modules-order

[3.2] SCons: use `OrderedDict` to ensure insertion order of modules
This commit is contained in:
Rémi Verschelde 2020-05-28 17:26:51 +02:00 committed by GitHub
commit fc65b0c10d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View file

@ -7,6 +7,7 @@ import glob
import os
import pickle
import sys
from collections import OrderedDict
# Local
import methods
@ -177,7 +178,7 @@ for k in platform_opts.keys():
opts.Add(o)
# Detect modules.
modules_detected = {}
modules_detected = OrderedDict()
module_search_paths = ["modules"] # Built-in path.
if ARGUMENTS.get("custom_modules"):
@ -450,11 +451,11 @@ if selected_platform in platform_list:
sys.path.remove(tmppath)
sys.modules.pop('detect')
modules_enabled = {}
modules_enabled = OrderedDict()
env.module_icons_paths = []
env.doc_class_path = {}
for name, path in sorted(modules_detected.items()):
for name, path in modules_detected.items():
if not env["module_" + name + "_enabled"]:
continue
sys.path.insert(0, path)

View file

@ -2,6 +2,7 @@ import os
import re
import glob
import subprocess
from collections import OrderedDict
from compat import iteritems, isbasestring, decode_utf8
@ -131,7 +132,7 @@ def parse_cg_file(fname, uniforms, sizes, conditionals):
def detect_modules(at_path):
module_list = {} # name : path
module_list = OrderedDict() # name : path
modules_glob = os.path.join(at_path, "*")
files = glob.glob(modules_glob)