Assistance in evaluating build tools

I already know and use Ant and Maven, at this point I would like to move on to another tool, and I decide between 'Buildr' and 'Gradle'. I would appreciate understanding or feedback from those who have used one or both of these tools, because, frankly, at the moment the only real difference for me is the ruby ​​vs groovy (and I am comfortable and like both), I also I am grateful for the answers to the following questions:

  • I understand that Buildr allows loading and retrieving dependencies that are NOT in a maven repository, does Gradle offer the same function?
  • Can Buildr / Gradle be used to create the source code of another language, i.e. groovy, ruby, actionscript / flex, c family, etc.
  • How well do Buildr / Gradle integrate with Hudson or Jenkins?
+6
source share
2 answers

I came from the gradle side, so let's look at some points ...

  • Gradle is built on top of Ant + Ivy. It can handle repositories like maven and ivy. Great information on how gradle handles dependencies can be found here .
  • Gradle handles java, groovy, scala, etc. Here you can find a list of standard plugins here . Since gradle is built on top of ANT, you can use ant tasks to achieve flex building. You can basically do everything with gradle, which you can do with ANT. You can convert the old ant XML to gradle or you can directly import the ant script and use goals as tasks in Gradle. As for C, there are more efficient tools for handling them. I found this thread that might interest you.
  • Gradle has a Jenkins plugin. However, gradle has a nice feature called the gradle shell that most mature builds use. If you use this feature, you do not need to worry about having this plugin. Read more about the wrapper here .

I don’t know much about Buildr, so I can’t compare, all I can say is that we are happy to gradle users.

+6
source

We recently rated Gradle, Buildr, and Maven 2 as alternatives to our current mix of Ant and homegrown Ant-wrappers and finished installing Gradle. Technically, we found them (Buildr and Gradle) very similar, and the reasons for our decision were non-technical:

  • Gradle = Groovy = Java! If you have a java development team, the argument for being able to express assembly logic in a language that anyone can contribute is hard to beat ... which is not a Ruby proposition - just consider what development resources are available. Groovy Closures require some getting used to, but I found it pretty fun to learn.

  • Commercial support - it may or may not be important for your business, but in our case it is a determining factor. Gradle is commercially supported by Gradleware

  • Acceptance / popularity of the user (mainstreamness) - for the problems we encountered, it is easier to find answers to questions about Gradle than Buildr.

That says ... I'm still pretty sure that someone would support our multi-project builds. Maven 2 would be acceptable if we started from scratch, but we have many quirks and odd project structures that can hinder productivity from day 1 ... the transition requirements made Maven 2 prohibitively expensive.

Hope this helps and good luck!

+4
source

Source: https://habr.com/ru/post/888046/


All Articles