Skip to content

Commit

Permalink
Merge pull request #32904 from fwyzard/edmConfigSplit_sort_imports_111x
Browse files Browse the repository at this point in the history
Sort the imports in the split configuration
  • Loading branch information
cmsbuild committed Feb 16, 2021
2 parents d7e5468 + 1c38631 commit cdab7e4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
7 changes: 5 additions & 2 deletions FWCore/ParameterSet/python/Config.py
Expand Up @@ -1034,7 +1034,10 @@ def splitPython(self, options = PrintOptions()):
sub = options.targetDirectory + '/' + sub
files[sub + '/__init__.py'] = ''

for (name, (subfolder, code)) in six.iteritems(parts):
# case insensitive sort by subfolder and module name
parts = sorted(parts.items(), key = lambda nsc: (nsc[1][0].lower() if nsc[1][0] else '', nsc[0].lower()))

for (name, (subfolder, code)) in parts:
filename = name + '_cfi'
if options.useSubdirectories and subfolder:
filename = subfolder + '/' + filename
Expand All @@ -1045,7 +1048,7 @@ def splitPython(self, options = PrintOptions()):

if self.schedule_() is not None:
options.isCfg = True
result += 'process.schedule = ' + self.schedule.dumpPython(options)
result += '\nprocess.schedule = ' + self.schedule.dumpPython(options)

imports = specialImportRegistry.getSpecialImports()
if len(imports) > 0:
Expand Down
14 changes: 7 additions & 7 deletions FWCore/ParameterSet/python/SequenceTypes.py
Expand Up @@ -211,7 +211,7 @@ def _replaceIfHeldDirectly(self,original,replacement):


def findDirectDependencies(element, collection):
dependencies = []
dependencies = set()
for item in collection:
# skip null items
if item is None:
Expand All @@ -223,23 +223,23 @@ def findDirectDependencies(element, collection):
# cms.ignore(module), ~(module)
elif isinstance(item, (_SequenceIgnore, _SequenceNegation)):
if isinstance(item._operand, _SequenceCollection):
dependencies += item.directDependencies()
dependencies.update(item.directDependencies())
continue
t = 'modules'
# _SequenceCollection
elif isinstance(item, _SequenceCollection):
dependencies += item.directDependencies()
dependencies.update(item.directDependencies())
continue
# cms.Sequence
elif isinstance(item, Sequence):
if not item.hasLabel_():
dependencies += item.directDependencies()
dependencies.update(item.directDependencies())
continue
t = 'sequences'
# cms.Task
elif isinstance(item, Task):
if not item.hasLabel_():
dependencies += item.directDependencies()
dependencies.update(item.directDependencies())
continue
t = 'tasks'
# SequencePlaceholder and TaskPlaceholder do not add an explicit dependency
Expand All @@ -249,8 +249,8 @@ def findDirectDependencies(element, collection):
else:
sys.stderr.write("Warning: unsupported element '%s' in %s '%s'\n" % (str(item), type(element).__name__, element.label_()))
continue
dependencies.append((t, item.label_()))
return dependencies
dependencies.add((t, item.label_()))
return sorted(dependencies, key = lambda t_item: (t_item[0].lower(), t_item[1].lower().replace('_cfi', '')))


class _ModuleSequenceType(_ConfigureComponent, _Labelable):
Expand Down

0 comments on commit cdab7e4

Please sign in to comment.