蚂蚁+艾维+的Eclipse

时间:2011-12-05 08:51:33

标签: eclipse ant build ivy

让我来描述一下情况。我有一个非常大的项目。现在由蚂蚁管理。现在我正在努力使这个项目与常春藤和日食一起工作,我很不知道有很多问题。

首先,我没有在eclipse工作过,这种“扁平”的工作空间概念对我来说相当奇怪。 Project有一个树结构,在根目录中有很多配置文件 - 比如libraries.properties(仅用于描述库版本),ivysettings.xml和用于导入的模板构建文件。然后有许多项目嵌套在根目录中。

对于Eclipse,我现在正在使用ivyDE。

第一个问题 - 如何在Eclipse中创建具有扁平内容的树结构?我想要的是让子项目可以从根目录中获取文件。什么是正确而标准的做法?

第二 - 如果子项目有自己的smth库版本,那么它的目录中有libraby.properties文件。并且首先抓取此文件,因此全局根库。属性不能覆盖特定于此子项目版本的库。这很好用,因为它在ant中我可以在全局之前加载特定的属性文件。但IvyDE - 我发现只有一点我可以为它指定属性文件(可能是我错过了smthg)。那我怎么能管理这个?

第三 - 常春藤特有的问题。我如何只发布文档或仅发布源?我认为这是配置问题。但我真的很感激 - 如果你能给我一个这样的例子 - 什么是常春藤文件和ant文件应该是什么? 提前致谢。 )

3 个答案:

答案 0 :(得分:1)

您是否阅读了multi-module builds上的常春藤教程?

以下answer也提供了一些指示。

答案 1 :(得分:0)

关于第一:您不需要使用扁平结构。项目路径可以在创建时更改。或者您可以在文件系统中移动它并重新导入它。使用工作集,您可以将项目分组以获得更好的结构化视图。

答案 2 :(得分:0)

对于第二个问题,我只是表明Mark O'Connor有我的投票。

对于第一个问题,是的,有一些方法可以在Eclipse中使用项目的树结构,但是你在这里反对系统并且从长远来看会受到惩罚。

我们已成功使用以下策略:假设您的项目是SVN,您可以利用svn:externals创建适用于Eclipse的等效平面结构。

这个想法是定义根SVN文件夹(可能在现有结构之外,例如兄弟文件夹)。然后在其中创建eclipse项目文件夹的平面结构,包括eclipse .project,.classpath和其他.settings / .externalBuilders配置文件。接下来,使用svn:externals,从原始SVN位置引入源文件和配置文件,以组成正确的项目文件夹结构。 你应该完成。

有趣的好处:只要你愿意,你就可以保留两种结构。您可以让一些早期采用者处理Eclipse结构,而团队的其他成员则使用传统的Ant检出。两个组都签出并提交相同的文件。每当您感觉Eclipse结构稳定时,您可以切换所有人,如果遇到太多问题,可以将其刮开。遗留的结构一直存在于你的整个过程中,你没有一个过渡期,在这个过渡期里,你的清洁构建能力处于危险之中。