For Java development, I'd say Ant is the default choice.
Pro:
good documentation,
good IDE integration
Lots of third-party extensions and tools
Con:
Somewhat verbose (well, it's yet anothr XML format)
Some things that should be simple aren't (e.g. any kind of looping)
I don't really have any experience using makefiles, so I can't say how they compare. Maybe you should simply use what your developers are more experienced with.
one of the reasons most build systems are so complex is that folks try and do to much in them. sometimes complementing a build system with a driver-script that takes care of non compilation/linking tasks is a good way to go. There is no single way. Its hard to answer the question without see the project source code structure and all the tasks that need to be done. But you might want to take a look at Rake as it would complement Make, Ant, and Maven
I find Ant and its XML configuration syntax a bit unwieldy and there are some things that should be trivial but are very hard to get in Ant. I prefer for that kind of automation SCons.
There is another tool precisely made to deploy stuff that I used for a bit and was pretty cool, but I forgot its name, maybe somebody else remembers it :).
发布评论
评论(9)
对于 Java 开发,我认为 Ant 是默认选择。
优点:
缺点:
我确实没有任何使用 makefile 的经验,所以我不能说它们如何比较。 也许您应该简单地使用您的开发人员更有经验的东西。
For Java development, I'd say Ant is the default choice.
Pro:
Con:
I don't really have any experience using makefiles, so I can't say how they compare. Maybe you should simply use what your developers are more experienced with.
SCons 是另一个不错的。 Capistrano 似乎很受好评,尽管我还没有尝试过。
SCons is another good one. And Capistrano seems to be well regarded although I haven't tried it.
我使用 shell 和 perl 脚本
I use shell and perl scripts
考虑 GAnt (http://gant.codehaus.org/)。 使用 Groovy 的构建器,它比 Ant 构建脚本要简洁得多
consider GAnt (http://gant.codehaus.org/). using Groovy's builder, it is much less verbose than an Ant build script
对于 python,我倾向于使用 fabric 进行部署步骤,并使用 setuptools 用于任何需要的构建(对我来说不常见:-)
Fabric 理解如何将文件复制到服务器,在远程服务器(以标准用户和 root 身份)。
For python I tend to use fabric for the deployment steps and setuptools for any building that is needed (not that usual for me :-)
Fabric understands how to copy files to servers, runing commands on the remote server (both as the standard user and as root).
大多数构建系统如此复杂的原因之一是人们在其中尝试做太多事情。 有时,用负责非编译/链接任务的驱动程序脚本来补充构建系统是一个好方法。 没有单一的方法。 如果没有看到项目源代码结构和所有需要完成的任务,很难回答这个问题。 但您可能想看看 Rake,因为它可以补充 Make、Ant 和 Maven
one of the reasons most build systems are so complex is that folks try and do to much in them. sometimes complementing a build system with a driver-script that takes care of non compilation/linking tasks is a good way to go. There is no single way. Its hard to answer the question without see the project source code structure and all the tasks that need to be done. But you might want to take a look at Rake as it would complement Make, Ant, and Maven
耙子是我的选择。
Rake is my choice.
我发现 Ant 及其 XML 配置语法有点笨拙,而且有些东西本来应该是微不足道的,但在 Ant 中却很难实现。 我更喜欢这种自动化 SCons。
还有另一个工具专门用于部署我用过一段时间的东西,非常酷,但我忘记了它的名字,也许其他人还记得它:)。
I find Ant and its XML configuration syntax a bit unwieldy and there are some things that should be trivial but are very hard to get in Ant. I prefer for that kind of automation SCons.
There is another tool precisely made to deploy stuff that I used for a bit and was pretty cool, but I forgot its name, maybe somebody else remembers it :).
我使用脚本(shell、perl、python)或 makefile。 我不喜欢 Ant 和 SCons
I use scripts (shell, perl, python) or makefiles. I do not like Ant and SCons