我的担忧是,把继承(甚至多重继承)的复杂性引入到原本简单的配置中。我从多年的Java经验中学到的一点是避免这些方法,而使用组合,这提供了更大的灵活性。
使用tools.build来解决这个问题是否会更简单一些?
在原始问题中提到的示例中,是否会有一种机制来防止或至少警告:dev/project1
包含:dev/all-projects
或其他包含别名的别名组的情况?这种分组可以有多少层级?
是否有明确的优先级规则?
是否会有工具来诊断冲突所在——Stree可能足够了,但我不确定
别名分组是否仅限于在项目的deps.edn中定义的别名,用户级别的deps.edn也包含在内(我假设排除用户级配置会增加更多复杂性)
也许有一种方法可以避免这种情况,那就是有一个类似于:meta-aliases
的东西,它只能包含别名而不能包含其他:meta-aliases
,但这样似乎还是在增加复杂性。
我希望能解决针对mono-repls的具体问题,而不需要在deps.edn配置中增加复杂性(特别是避免继承甚至多重继承)。