dependencyClosure method
The modules id depends on, directly or not, or none if id is not
in the app.
Implementation
Set<ModuleId> dependencyClosure(ModuleId id) {
final closure = <ModuleId>{};
void visit(ModuleId current) {
final module = this.module(current);
if (module == null) return;
for (final dependency in module.descriptor.dependsOn) {
if (closure.add(dependency)) visit(dependency);
}
}
visit(id);
return closure;
}