Sort file list before writing to project file

Now using the built-in Python `list.sort` method to sort files.
This should ensure consistent behavior on all systems and prevent
unnecessary merge conflicts.
This commit is contained in:
Leon Richardt 2019-09-12 16:36:52 +02:00
parent 720e5aa25f
commit 754f5c968a

View file

@ -10,12 +10,16 @@ data = ""
with open(filename, 'r') as project: with open(filename, 'r') as project:
data = project.read() data = project.read()
sources = subprocess.getoutput("find ./src -type f -regex '.*\.cpp' | sed 's_\./_ _g'") sources_list = subprocess.getoutput("find ./src -type f -regex '.*\.cpp' | sed 's_\./_ _g'").splitlines()
sources_list.sort(key=str.lower)
sources = "\n".join(sources_list)
sources = re.sub(r'$', r' \\\\', sources, flags=re.MULTILINE) sources = re.sub(r'$', r' \\\\', sources, flags=re.MULTILINE)
sources += "\n" sources += "\n"
data = re.sub(r'^SOURCES(.|\r|\n)*?^$', 'SOURCES += \\\n' + sources, data, flags=re.MULTILINE) data = re.sub(r'^SOURCES(.|\r|\n)*?^$', 'SOURCES += \\\n' + sources, data, flags=re.MULTILINE)
headers = subprocess.getoutput("find ./src -type f -regex '.*\.hpp' | sed 's_\./_ _g'") headers_list = subprocess.getoutput("find ./src -type f -regex '.*\.hpp' | sed 's_\./_ _g'").splitlines()
headers_list.sort(key=str.lower)
headers = "\n".join(headers_list)
headers = re.sub(r'$', r' \\\\', headers, flags=re.MULTILINE) headers = re.sub(r'$', r' \\\\', headers, flags=re.MULTILINE)
headers += "\n" headers += "\n"
data = re.sub(r'^HEADERS(.|\r|\n)*?^$', 'HEADERS += \\\n' + headers, data, flags=re.MULTILINE) data = re.sub(r'^HEADERS(.|\r|\n)*?^$', 'HEADERS += \\\n' + headers, data, flags=re.MULTILINE)