1

我目前正在考虑从 maven2 迁移到 buildr,我担心如何让构建脚本保持干燥。

目前,我们的 maven 项目是使用包含所有常见构建代码的父 pom 文件定义的,并且像任何其他依赖项一样被拾取:

<parent>
    <groupId>com.companyname</groupid>
    <artifactId>parent</artifactId>
    <version>1.0.0</artifactId>
</parent>

现在我正在查看 buildr,我注意到它确实有一个类似的概念,但它需要将 buildfile 放置一个级别,例如:

/svnrepo/buildfile
/svnrepo/ProjectA
/svnrepo/ProjectB

然而,这是一个问题,因为这些项目是不相关的,并且将被检出并完全分开构建。所以我的问题是:我如何最好地解决这个问题?如何在一次只能签出一个项目的同时引用一个通用的构建文件?

4

2 回答 2

1

我发现了这个问题的答案,并且我对它是多么容易感到自责:创建一个 gem。

用 parent.rb 替换 parent-pom.xml 并将 ruby​​ 文件作为所有其他项目所需的 gem 分发。

于 2010-10-05T13:51:59.983 回答
0

我想你很困惑:

一方面,您的项目现在与 Maven 一起构建,有 4 个不同的存储库,您可以在正确的位置签出或使用 svn:externals。这听起来是个坏主意。

另一方面,你想用 Buildr 做同样的事情,但担心它看起来不好?

请确实单独构建这些项目!如果您有可以从项目重用到另一个项目的代码,例如自定义任务,则在每个项目中使用 svn:externals 指向构建文件所需的 ruby​​ 文件。

于 2010-10-04T16:11:38.153 回答