Suggested by Collin Funk.
* pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively):
Return a set of GLModule.
* pygnulib/main.py (main): Convert the result to a string here.
+2024-08-03 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Small refactoring.
+ Suggested by Collin Funk.
+ * pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively):
+ Return a set of GLModule.
+ * pygnulib/main.py (main): Convert the result to a string here.
+
2024-08-02 Collin Funk <collin.funk1@gmail.com>
gnulib-tool.py: Correct type hint and doc string.
self.cache['dependenciesWithCond'] = result
return self.cache['dependenciesWithCond']
- def getDependenciesRecursively(self) -> str:
- '''Return a list of recursive dependencies of this module separated
- by a newline.'''
+ def getDependenciesRecursively(self) -> set[GLModule]:
+ '''Return a list of recursive dependencies of this module,
+ as a set of GLModule objects.'''
handledmodules = set()
inmodules = set()
outmodules = set()
# Remove handledmodules from inmodules.
inmodules = inmodules.difference(handledmodules)
- module_names = sorted([ module.name
- for module in outmodules ])
- return lines_to_multiline(module_names)
+ return outmodules
def getDependents(self) -> list[GLModule]:
'''Return list of dependents (a.k.a. "reverse dependencies"),
for name in modules:
module = modulesystem.find(name)
if module:
- sys.stdout.write(module.getDependenciesRecursively())
+ dependencies = module.getDependenciesRecursively()
+ dependencies_names = sorted([ m.name
+ for m in dependencies ])
+ sys.stdout.write(lines_to_multiline(dependencies_names))
elif mode == 'extract-dependents':
if avoids: