Guillem Vicens
Guillem Vicens

Reputation: 3996

Build automation for Delphi + Oracle

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

Upvotes: 4

Views: 1181

Answers (6)

Kenneth Cochran
Kenneth Cochran

Reputation: 12064

I'm surprised no one has mentioned Hudson. Most build tools seem to target a specific language or platform. Hudson takes a different approach. It provides a plugin architecture so you can create a build server that fits your needs. The project itself is written in Java but is entirely self contained (with the exception that it depends on the JRE of course). It uses its own built-in web server to provide a user interface.

Embarcadero uses Hudson extensively and there are several great how to articles to get you started

And if you need commercial support the original author has started a company that provides a custom version as well as technical support.

Upvotes: 2

mjn
mjn

Reputation: 36634

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, ...

Upvotes: 3

lukeck
lukeck

Reputation: 4758

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.

Upvotes: 3

user160694
user160694

Reputation:

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

Upvotes: 3

Conor Boyd
Conor Boyd

Reputation: 1034

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.

Upvotes: 4

marc_s
marc_s

Reputation: 754258

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.

Upvotes: 9

Related Questions