diff --git a/src/python/jw/pkg/App.py b/src/python/jw/pkg/App.py index 10d4f8be..df92bc7c 100644 --- a/src/python/jw/pkg/App.py +++ b/src/python/jw/pkg/App.py @@ -188,33 +188,34 @@ class App(Base): buf.append(spec) return visited.add(spec) - deps = self.get_value(name, section, key) + vals = self.get_value(name, section, key) log( DEBUG, ( - f'name={name}, section={section}, key={key}, deps={deps}, ' + f'name={name}, section={section}, key={key}, deps={vals}, ' f'scope={scope.name}, visited={visited}' ), ) - if deps and scope != Scope.Self: - if scope == Scope.One: - subscope = Scope.Self - else: - subscope = Scope.Subtree - for dep in deps.split(','): - dep = dep.strip() - if not (len(dep)): - continue - self.__get_project_refs_cached( - buf, - visited, - dep, - section, - key, - add_self = True, - scope = subscope, - names_only = names_only, - ) + vals_list = vals.split(',') if vals else [] + match scope: + case Scope.Self: + buf += vals_list + case Scope.One | Scope.Subtree: + subscope = scope.Self if scope == Scope.One else scope + for val in vals_list: + val = val.strip() + if not (len(val)): + continue + self.__get_project_refs_cached( + buf, + visited, + val, + section, + key, + add_self = True, + scope = subscope, + names_only = names_only, + ) if add_self: buf.append(spec)