好了。我有许多软件项目(也包括iOS和OSX),我用Apache ant '构建。
虽然我很喜欢Ant,但它经常太冗长,有些事情应该很容易,但却很棘手,或者我必须使用shell脚本和Ant。
是否有一个好的替代方案,它是可扩展的,易于使用的,应该在我的jenkins构建服务器上工作得很好。
看看Gradle——它与Ant有很大的不同,可能需要一段时间才能理解,但我认为它将成为构建系统的新标准。一个很好的事情是,它在底层有完整的Ant支持,所以你可以很容易地运行现有的Ant构建,然后将它们移植到Gradle上。
Gareth对Gradle的回答很好。但是一定要看一下您正在做的对Ant来说比较困难的事情。根据我的经验,相当一部分时间是"非构建"的东西。也许把Ant留给纯粹的构建工作,并使用另一种工具来部署或测试隐藏在其中的工作。
虽然gradle看起来很有前途,但我还是决定用Rake来代替。
我应该说这是一个有偏见的决定,因为我已经在我的构建设置中使用ruby的其他部分。我找到了Martin Fowler写的一篇好文章
另一点是,通过OSX开发,Ant(或Gradle)的平台独立性方面对我来说并没有那么重要。
BTW Besi的Rake回答:JRuby的Rake+Ant集成看起来是一个非常强大的组合:
http://www.engineyard.com/blog/2010/rake-and-ant-together-a-pick-it-n-stick-it-approach 这里有一个很大的优势,它完全支持与Ant的集成,允许逐步迁移。在我看来,这只适用于现有的大型项目。Gradle看起来很相似,虽然它看起来不错;我认为学习Rake可能是一个更好的投资,因为它在Java之外更通用。
(我正在认真考虑的另一件事是BuildR http://buildr.apache.org,但Jenkins没有明确支持它还,所以必须使用脚本构建步骤,这似乎不太可取。)