From 4d6918bd273cb476b596dd0e11d87beb62b86504 Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Tue, 10 Jan 2017 14:50:57 -0600 Subject: [PATCH 1/3] Alphabetize UVision groups --- tools/export/uvision/__init__.py | 4 ++-- tools/export/uvision/uvision.tmpl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/export/uvision/__init__.py b/tools/export/uvision/__init__.py index dd5a8cbe7c..1a6eba9d50 100644 --- a/tools/export/uvision/__init__.py +++ b/tools/export/uvision/__init__.py @@ -181,7 +181,7 @@ class Uvision(Exporter): def format_src(self, srcs): """Make sources into the named tuple for use in the template""" grouped = self.group_project_files(srcs) - for group, files in grouped.items(): + for group, files in sorted(grouped.items()): grouped[group] = self.uv_files(files) return grouped @@ -198,7 +198,7 @@ class Uvision(Exporter): 'name': self.project_name, # project_files => dict of generators - file group to generator of # UVFile tuples defined above - 'project_files': self.format_src(srcs), + 'project_files': sorted(list(self.format_src(srcs).iteritems())), 'linker_script':self.resources.linker_script, 'include_paths': '; '.join(self.resources.inc_dirs).encode('utf-8'), 'device': DeviceUvision(self.target), diff --git a/tools/export/uvision/uvision.tmpl b/tools/export/uvision/uvision.tmpl index 74f4ee9c28..9093703ca6 100644 --- a/tools/export/uvision/uvision.tmpl +++ b/tools/export/uvision/uvision.tmpl @@ -417,7 +417,7 @@ - {% for group, files in project_files.iteritems() %} + {% for group, files in project_files %} {{group}} From 36e5fbf136612d8413da68b6d9a3883ab66c989d Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Tue, 10 Jan 2017 15:18:42 -0600 Subject: [PATCH 2/3] Asciiabetize the files within a group --- tools/export/uvision/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/export/uvision/__init__.py b/tools/export/uvision/__init__.py index 1a6eba9d50..27e12f4aee 100644 --- a/tools/export/uvision/__init__.py +++ b/tools/export/uvision/__init__.py @@ -182,7 +182,7 @@ class Uvision(Exporter): """Make sources into the named tuple for use in the template""" grouped = self.group_project_files(srcs) for group, files in sorted(grouped.items()): - grouped[group] = self.uv_files(files) + grouped[group] = sorted(list(self.uv_files(files))) return grouped def generate(self): From 27e4e7d8a8d9c4ef70d498a139fb17374175c295 Mon Sep 17 00:00:00 2001 From: Jimmy Brisson Date: Tue, 10 Jan 2017 15:24:20 -0600 Subject: [PATCH 3/3] Change sorting to ignore case --- tools/export/uvision/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/export/uvision/__init__.py b/tools/export/uvision/__init__.py index 27e12f4aee..a6dd2ef395 100644 --- a/tools/export/uvision/__init__.py +++ b/tools/export/uvision/__init__.py @@ -181,8 +181,9 @@ class Uvision(Exporter): def format_src(self, srcs): """Make sources into the named tuple for use in the template""" grouped = self.group_project_files(srcs) - for group, files in sorted(grouped.items()): - grouped[group] = sorted(list(self.uv_files(files))) + for group, files in grouped.items(): + grouped[group] = sorted(list(self.uv_files(files)), + key=lambda (_, __, name): name.lower()) return grouped def generate(self): @@ -198,7 +199,8 @@ class Uvision(Exporter): 'name': self.project_name, # project_files => dict of generators - file group to generator of # UVFile tuples defined above - 'project_files': sorted(list(self.format_src(srcs).iteritems())), + 'project_files': sorted(list(self.format_src(srcs).iteritems()), + key=lambda (group, _): group.lower()), 'linker_script':self.resources.linker_script, 'include_paths': '; '.join(self.resources.inc_dirs).encode('utf-8'), 'device': DeviceUvision(self.target),