当前位置:  开发笔记 > 编程语言 > 正文

在Hudson或其他CI工具中使用Ant自动检出和编译Eclipse项目的最佳方法?

如何解决《在Hudson或其他CI工具中使用Ant自动检出和编译Eclipse项目的最佳方法?》经验,为你挑选了0个好方法。

我们有几个产品有很多共享代码,必须保留几个版本.

为了解决这个问题,我们使用了很多Eclipse项目,其中一些包含库jar,还有一些包含共享源代码(在几个项目中,为了避免获得具有大量依赖关系的巨大堆,同时能够从头开始编译所有内容以确保源和二进制文件是一致).我们使用projectSet.psf管理那些,因为这些可以直接从CVS中拉出所有项目并留下完全准备好的工作区.我们不直接进行ant构建或使用maven.

我们现在希望能够将所有这些项目及其各种版本放在一个连续集成工具中 - 我喜欢Hudson但这只是一个品味问题 - 这实际上意味着我们需要一种自动方式来检查项目到一个新的工作区,并按照每个项目中的项目文件中的描述编译源文件夹.Hudson没有提供这样的方法来构建项目,所以我一直在考虑采用这种方法的最佳方法.

想法已经存在

查找或编写一个了解projectSet.psf并映射到cvs-checkout和编译标签的ant插件/转换器.

从Eclipse中创建build.xml文件并使用它们.我试过这个,发现结果很冗长,绝对位置不好用自动工具把文件放在他们想要的地方.

编写一个了解projectSet.psf的Hudson插件来派生配置并构建它.

只要咬紧牙关,手动创建和更新CI配置,只要东西坏了 - 我不喜欢这个:)

我真的很想听听别人的经历,所以我可以决定如何解决这个问题.


编辑:另一个选项可能是使用CI,它更了解Eclipse项目和/或项目集.我们没有宗教信仰 - 这只是让自己无需自己动手就可以运行的问题.巡航控制可能是一个更好的选择吗?其他?


编辑:发现ant4eclipse有一个"团队项目集"工具. http://ant4eclipse.sourceforge.net/


编辑:使用ant4eclipse和ant-contrib ant扩展来构建一个完整的工作空间,作为一个类似于Eclipse 3.5M6中的Runnable Jar工具的sjgned runnable jar文件.我仍然依赖于Eclipse来创建初始的空工作空间,并提取ProjectSet,这是下一个障碍.


编辑:使用双配置结束,即Hudson从CVS中提取与ProjectSet.pdf文件中列出的相同的模块集(需要具有相同的标记),使它们彼此相邻.然后ant4eclipse与嵌入在主模块中的projectSet.psf文件很好地配合.警告:Hudson中的模块列表必须手动更新,之后需要手动工作区清理才能让Hudson"发现"现在有比以前更多的项目.这对我们来说已经好几个月了,但是让一切都在ant文件中运行是相当繁琐的.


编辑:使用ant4eclipse的"使用团队项目"和项目面板中的Ctrl-A,Ctrl-C和Hudson的CVS项目中的Ctrl-V已经证明可以很好地适应我们(对于成熟的项目很少改变).我正在等待ant4eclipse 1.0的发布 - http://www.ant4eclipse.org/,目前在里程碑2中 - 看看有多少本土功能可以被ant4eclipse的东西取代.

编辑:ant4eclipse是在M4的20100609,因此http://www.ant4eclipse.org/node?page=1的时间表有些滑落.


编辑:使用我们的ant4eclipse方法更长时间后的结论是构建脚本变得非常粗糙并且难以维护.团队ProjectSet工具(ant4eclipse用于定位项目)适用于基于CVS的存储库,但不是在我们迁移到git之后(这本身就是一件大事).新项目很可能基于maven,因为这在Jenkins中有很好的支持.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有