我对 Ivy、Maven 和 Archiva 感到困惑——他们似乎都在试图解决类似的问题。
我认为我认为 Ivy 将类似 Maven 的功能改进为 Ant(即 Ant + Ivy ~= Maven)是正确的?但我不清楚 Archiva 向 Ant + Ivy 和/或 Maven 添加了什么(如果有的话)。我什么时候会使用(比如说)Ivy,我什么时候会使用 Archiva,什么时候组合才有意义(如果有的话)?
背景:我们需要进行某种依赖管理并建立人工制品档案。我们的源代码是跨语言的(C++、Java、Scala、Ruby 和 Python 的混合体),我们的构建过程是跨平台的(Linux、Windows、OSX、Android、iOS、QNX)。我们有一个现有的基于 scons 的构建系统,它有些复杂。理想情况下,我们希望为此添加依赖管理和人工制品存档,而不是(比如说)将批发迁移到 Maven。