@@ -143,7 +143,7 @@ def class_file(self) -> P:
143143 def defaults_file (self ) -> P :
144144 return self .alias_defaults_file (self .name )
145145
146- def alias_directory (self , alias : str ) -> P :
146+ def _alias_path (self , alias : str ) -> P :
147147 if alias not in self ._aliases :
148148 raise ValueError (
149149 f"alias { alias } for component { self .name } has not been registered"
@@ -154,6 +154,10 @@ def alias_directory(self, alias: str) -> P:
154154 # alias's multi-dependency. The assert makes mypy happy. We disable bandit's
155155 # "assert_used" lint, since we don't rely on this assertion for correctness.
156156 assert apath # nosec B101
157+ return apath
158+
159+ def alias_directory (self , alias : str ) -> P :
160+ apath = self ._alias_path (alias )
157161 return apath / self ._aliases [alias ][1 ]
158162
159163 def alias_class_file (self , alias : str ) -> P :
@@ -165,6 +169,17 @@ def alias_defaults_file(self, alias: str) -> P:
165169 def has_alias (self , alias : str ):
166170 return alias in self ._aliases
167171
172+ def alias_info (self , alias : str ) -> tuple [str , str , MultiDependency ]:
173+ if alias not in self ._aliases :
174+ raise ValueError (
175+ f"alias { alias } for component { self .name } has not been registered"
176+ )
177+ return self ._aliases [alias ]
178+
179+ def alias_repo (self , alias : str ) -> GitRepo :
180+ apath = self ._alias_path (alias )
181+ return GitRepo (None , apath )
182+
168183 @property
169184 def lib_files (self ) -> Iterable [P ]:
170185 # NOTE(sg): Usage of yield makes the whole function return a generator.
0 commit comments