FinalBuilder is a commercial Windows build automation tool that provides a unified graphical interface to author and execute build projects. Once defined, a project can only be run either via the graphical interface or command line program to execute build projects. A project consists of actions, of which there are around 650 types defined as of version 6. Projects are stored in a zippedXML format. Developed by VSoft Technologies, FinalBuilder is in competition with NAnt and MSBuild. It is written in Delphi, C#, VBScript, and JScript. The tool has a mild bias towards building Delphi projects, but it supports a range of compilers making it suitable for building projects in many languages.
History
The first version of FinalBuilder was made publicly available in May, 2000. It quickly gained popularity and found a strong user base, particularly among the Delphi community. This was due to it being only one of only two graphical build tools available at the time - the other being Visual Build. Due to the early adoption by Delphi developers, VSoft initially focused on developing support for Delphi tools. However, in more recent versions, VSoft have expanded FinalBuilder's support for other development environments and frameworks, most notably Visual Studio and the.NET Framework. In 2008, VSoft released version 6 of FinalBuilder, which included a server application for remotely managing build servers and implementing Continuous Integration.
Built-in actions
As of version 6, FinalBuilder includes more than 650 different action types. It is beyond the scope of this article to list every action, but the notable actions categories include:
ActionStudio is a stand-alone IDE for developing custom actions or plugins for FinalBuilder. Using JScript, VBScript, PowerShell, IronPython or any other.NET languages, users of ActionStudio can create custom FinalBuilder actions to include in their build projects. Action files define the properties, events, options and property pages in an XML file format.
FinalBuilder Server
Since the release of version 6, FinalBuilder has included a continuous integration server, called FinalBuilder Server. FinalBuilder Server provides a number of triggers for automating the regular integration of code. Triggers include:
Time Trigger: for scheduling builds
File Trigger: for starting builds when file/s or folder/s change
Run Process Trigger: for executing a process and then conditionally running a build based on the outcome of that process