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