【发布时间】:2022-08-17 00:51:01
【问题描述】:
我想写一个mill 实用工具(可能是build.sc 里面的一个函数或模块),用于汇总和后处理各种目标的结果。与其对所有已处理的目标进行硬编码,我更喜欢一种能够以某种方式迭代build.sc 内容并生成找到的目标列表的解决方案,然后我可以从中过滤掉例如除了ScalaModules 等。
实现这种迭代器最优雅的方法是什么?
该实用工具还需要找到每个目标的dest 目录。在目标内部我可以使用T.dest,但是如何从“外部”(不运行目标)获取目标目录?
完成此类功能的一种方法是递归浏览./out 下的目录结构,但该信息缺少目标类型信息,并且如果目标out 目录已清理或根本未运行,则该目录也将丢失。所以不可能报告目标Foo 存在但目前没有结果。