eclipse - 非jar SVN依赖管理

标签 eclipse svn maven-2 gradle

假设有两家软件公司 A 和 B。这两家公司都有大约几百个 Eclipse 项目。两者都有一些应用最终产品。每个最终产品项目都具有不同于其他项目的依赖性。

A 依赖 Maven 进行依赖管理。它实行代码卡住,因此将项目彼此解耦,从而能够 mavenize 依赖关系。

B 依赖于 Eclipse Subversive 插件。对于任何特定的最终产品项目,它所依赖的所有项目都将从 SVN 中 check out 并包含在 Eclipse 项目构建路径中。如果一个项目依赖了50个项目,那么这50个项目都会修改源码,所以不使用Maven。

两家公司合并为AB。我们的愿望是拥有一个像 Maven 一样的依赖管理,也可以在 SVN 存储库上工作。也就是说,假设的 POM 应该能够指定 jar 依赖项(公司 A 风格)或 SVN 源代码依赖项(公司 B 风格)。如果依赖项是一个 jar,它应该将依赖项从存储库拉到开发人员工作站的 Maven 缓存中。如果依赖项是 SVN 中的源代码,则应将其 check out 到 SVN 工作目录中。

AB 公司应如何在技术上实现将两种构建态度统一起来的愿景?我指定“技术上”是为了避免涉及微观管理或修改合并公司开发人员的哲学态度的答案。

Gradle 有什么帮助吗?如果是这样,如何以及为什么?还有什么其他选择?

最佳答案

大概 B 公司创建的项目创建打包(jar)产品作为其交付/构建的一部分。如果是这种情况,那么公司 AB 可以创建自己的工件存储库(我的公司使用 Artifactory),并且公司 B 的项目可以手动(或自动)作为版本化版本或快照添加到该存储库。然后A公司项目可以将其依赖项指定为jar依赖项并从artifactory中拉取。

对于深度依赖且经常同时编辑的项目,我建议将它们作为一个根项目的子项目。

我上面的建议都不需要使用 Gradle,但 Gradle 使这一切变得很容易实现。

关于eclipse - 非jar SVN依赖管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935834/

相关文章:

java - 为什么后退按钮在此 Android webview 中不起作用?

eclipse - 如何在 Eclipse 中设置 ${user} 以获得正确的 @author 标签?

Eclipse 生命周期

svn - 奇怪的 Apache2.2 SVN 错误, "Expected repository format ' 3' or ' 5'; found format ' 9'"

svn - FSFS 代表什么与颠覆有关?

Maven项目中的java.lang.NoSuchMethodError : org. w3c.tidy.Tidy.setHideComments错误

java - 我在另一个 'for loop' 中的 'for loop' 不工作

svn 客户端超时并破坏 WC 状态

java - Netbeans 和 Maven : different compilation behavior

exception - quartz 的 slf4j 异常