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