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