views:

251

answers:

5

Hi all,

at my work we are presently looking for a automated build tool. We have googled quite a bit, but there are so many possibilities we are not sure which tool is the best option, to be honest.

We are not even sure there is one that fits our needs. It should have as many as possible from following features:

  1. Integration with Subversion, meaning it should be able to do both updates and commits.
  2. Diff tool or ability to integrate with one, and capability of auto-merging files (well, at least not the problematic ones).
  3. Delphi build automation, using the command line compiler.
  4. Integration with Oracle, meaning having the ability to run SQL scripts and compiling PL/SQL packages, functions, etc.
  5. Sending of e-mails with build status (I guess this is something all of them have).

Additional functionalities would be welcome but are not needed at the moment. Anything in the line of getting at least points 1 and 2 would be great.

If anyone could point us to some particular tool we would be very grateful.

Thanks in advance and best regards

+9  A: 

For my Delphi projects, I was using FinalBuilder (itself a Delphi app) way back when. I was always very happy with the product, and it worked very well.

In the meantime, they also launched a Server version of the build tool, so you can set up a full build server and have your code built there.

Another worthy contender back in those days used to be Visual Build - feature by feature the two almost match up, but the "feel" of the app, the ease of use, was with Finalbuilder, in my personal opinion.

I'm not sure if any of the two has direct and specific Oracle support, but at least Finalbuilder can run anything that can be run from the command line, so that should give you plenty of options, really.

marc_s
+1 for FinalBuilder.
skamradt
+1 for FinalBuilder. Excellent, powerful tool.
Nick Hodges
+1 more for FinalBuilder. Fantastic tool. I can't imagine working without it now. Great company to deal with as well. The developers are active in the Australian Delphi community and are very quick to respond with support.
Luke CK
sad to see that DUnit is still not on their list of supported xUnit frameworks...
mjustin
After all these positive answers we will definitely have a closer look at FinalBuilder. :-)
Guillem Vicens
@mjustin I wasn't aware of that. Our FinalBuilder automated build has been running our DUnit test application for a couple of years now.
Luke CK
@Luke: ... maybe FinalBuilder supports DUnit unwittingly :)
mjustin
+5  A: 

I've been using CruiseControl.NET as a Continuous Integration server for our Delphi builds, which integrates quite nicely with NAnt as a build scripting language.

Forgetting about CC.NET, simply using NAnt would provide most/all of what you need, I think.

Combined with the extra NAnt-Contrib library of extra tasks, I have implemented everything you mention with the exception of the Oracle integration. However, you can easily invoke commandline stuff from within NAnt scripts, or write your own NAnt tasks using any .NET language.

NAnt has tasks for integrating with Subversion, or you can simply invoke the svn command line client.

I have invoked BeyondCompare as a diff tool from within my NAnt scripts, used NAnt to send customised HTML emails and execute Installshield builds, along with obviously executing the commmand line Delphi compiler and resource compiler.

NAnt is free and open-source, it's worth checking out.

Conor Boyd
+1 for Beyond Compare. This is so good I will buy a copy for personal use with my own money when I no longer have access to my work copy. That's how good it is.
mcottle
+2  A: 

Apache Ant is open source and contains many tasks out of the box, and a very feature complete scripting and dependency management environment.

Also available: zip/unzip, tar/untar, xmlvalidate, xslt, ftp, telnet, scp, sshexec, cab, ...

mjustin
+2  A: 

Check also Automated Build Studio from AutomatedQA, it has many of the features you ask for.

ldsandon
+3  A: 

We use FinalBuilder to handle requirements 1, 3, 4 and 5 and Beyond Compare to handle requirement 2 and have been very happy with both of these tools.

Luke CK