Wednesday, August 20, 2008
What's new in FinalBuilder 3
Overview

 

See Also:

 

FinalBuilder 3 is a significant release and a very worthwhile upgrade for existing FinalBuilder 1 or 2 users.  FinalBuilder 3 builds on the powerful and robust core engines of FinalBuilder 2 with further enhancements in the core as well as many more actions and a completely new plugin system.  FinalBuilder 3 will seamlessly import FinalBuilder 2 projects, and plugins developed for FinalBuilder 2 will work with only very minor changes.

 

IDE ENHANCEMENTS

Check for FinalBuilder updates - check for updates checks for any version updates as well as any new or updated plugins

  • Automatic check for updates
  • Manual check for updates

FinalBuilder Tray Icon - FinalBuilder can now be minimised to the system tray and/or always show in the system tray.  The tray icon displays the current state of FinalBuilder (Idle, Running, Error, Validation Error, Build Completed Successfully, Build Paused, etc).  You can also control FinalBuilder from the tray icon - for example start or stop a build, or open a different project.

  • Option for tray icon to always show
  • Option to minimise FB to the system tray instead of task bar
  • Start and Stop Builds from Tray Icon
  • Open recent projects from Tray Icon

Popup Alert window - FinalBuilder 3 will pop up an alert window above the system tray if after a build has completed.  The popup is different depending on the state of the build (eg. Success or Error).  The alert window will only display if FinalBuilder is minimised.

Action Validation- FinalBuilder 3 now automatically validates the entire build process before the build starts.  The validation reduces the amount of test builds you need to run due to simple validation errors, for example if you have omitted a filename or the path to the tool you are automating is not set.

  • Before a build is run FinalBuilder can validate all actions in the build and report any critical problems
  • Manual build validation
  • After an action is added or edited, it is automatically validated
  • Validation errors appear in the bottom section of the IDE, clicking on the error selects the action with the error

Quick Help- FinalBuilder 3 now includes comprehensive help on the IDE, and actions right inside the IDE.  The Quick Help is context sensitive to the currently selected action, and can show quick help for action not yet added to the build process.

  • Quick Help introduces the basic concepts for new users of FinalBuilder
  • Context sensitive Quick help enables the user to show quick help on any action in the Quick Help screen.

All FinalBuilder settings are now stored in INI files instead of the Registry

Variables architecture - Variables can now exist in more than one scope, for example you can have a Project variable and an Environment variable with the same name. Only the variable with the highest precedence will actually be used, the precedence (highest to lowest) is Project, User, System, Environment.

Edit Variables dialog has been rewritten to be more flexible and more user friendly

  • Variables can now be cut/copied/pasted
  • Variables can be transferred from Project to User or User to Project
  • The variables dialog now supports displaying the precedence of variables using colour coding -Overridden variables are shown in red, if a variable is overriding a variable of lower precedence variable it will be shown in green.

Enhancements to Action List Tree, including automatic selection of parent node if selected node is hidden due to being collapsed

Modifying variables during a build is now possible using "Modify Variables" function in the Watch Variables panel

Added frequently used actions group. A "Frequently Used" action group is automatically added which displays the most frequently used actions.  Every time you add an action to a build, it's count is incremented and the list is updated automatically.  The number of frequently used actions can be customised.  

Action List Parameters - FinalBuilder 3 has introduced action list parameters.  An user action list (ie. does not include Main or OnFailure) can define a set of parameters which can be set using a "Run Action List" action.  Action list parameters are useful when calling the same action list with a different set of variables each time.

Added extra script functions - the following script functions are now available in any script event in FinalBuilder

  • IncludeTrailingPathDelimiter
  • ExcludeTrailingPathDelimiter
  • ExpandFileName
  • FileExists
  • GetCurrentDir
  • SetCurrentDir
  • ExpandRelativePath
  • Alert
  • ExtractMajorVer
  • ExtractMinorVer
  • ExtractReleaseVer
  • ExtractBuildVer

Suppress log output for an action - each action now has the capability to suppress it's log messages.  This is useful for actions if you are not concerned with it's output and you don't need it logged.

Save log output for an action to an FB variable - each action now has the capability to copy it's log messages to a variable for later processing.

Editing fields in action properties dialog has been enhanced

  • Hint now displays "F2 to edit expression", "F3 to add variable" if the statement fails expand expression (eg. if a variable used has not been defined)
  • You can invoke the expression evaluator by pressing Ctrl-Space
  • The expression evaluator is automatically invoked when you type a %
  • Pressing F3 now allows you to add a variable
  • Global option "Show Expanded variables Hint when typing" to enable/disable automatic expression evaluator

Expression evaluation now also possible in Edit Variable Dialog. Includes all the features of action property dialog hints, except for F3 (since you’re already in the Edit Variables dialog).

Added quick way to add exception handling around selected actions (available from the action context menu and also the Action menu):

  • Wrap Actions with Try Finally
  • Wrap Actions with Try Catch
  • Wrap Actions with Try Catch Finally

Enhanced Most Recent projects list - the amount of most recent projects can be customised between 1 and 99

The FinalBuilder IDE now detects if it's running in 256 colours and adjusts the IDE colours to suit 256 colour mode.

Added ISINCLUDEDPROJECT variable so actions can query this in script and act accordingly

  • Help file has been greatly improved, and is now available online.

FB3 Console -FB3CMD is a command line version of FinalBuilder 3.  It allows running builds from a command prompt without the FinalBuilder GUI.  FB3CMD can greatly reduce your build time as there is no Windows GUI.  Note: The FB3 Console is only available in the Professional edition

NEW ACTIONS IN FINALBUILDER 3

SubVersion - Subversion is an open source version control system developed by the authors of CVS

  • Subversion Add
  • Subversion Checkout
  • Subversion Cleanup
  • Subversion Commit
  • Subversion Copy
  • Subversion Export
  • Subversion Import
  • Subversion MkDir
  • Subversion Update
  • Subversion Status

Support for Seapine Surround SCM
Surround SCM is a full-featured version manager that controls who changes your files and remembers what they changed and when.  Advanced branching and private branches facilitate concurrent development of products and version.  FinalBuilder supports the following Surround SCM actions: Get, Checkout, Checkin, Label, Create Branch, Freeze Branch, Unfreeze Branch, Checkout Report, and Generic. More information on Surround SCM at: http://www.seapine.com/surroundscm.html

FxCop - FxCop is a code analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. It uses reflection, MSIL parsing, and callgraph analysis to inspect assemblies for more than 200 defects in the following areas

Wise Owl Demeanor - Demeanor for .NET protects your intellectual property by making it extremely difficult to reverse engineer your .NET applications. Unprotected .NET applications can be easily reverse engineered via decompilation and inspection by many decompiler products.

PreEmptive Dotfuscator - Dotfuscator provides powerful protection for your .NET code to protect your valuable intellectual property.

Create Text File- The Create Text File action enables you to automate the creation of text files during your build process. You can use FinalBuilder variables in the File Contents field to customise the file based on the build.

XenoCode - The XenoCode action enables you to automate obfuscation and optimization of your .Net assemblies using XenoCode

MultiQuestion- The MultiQuestion action enables you to interact with the user during your build process. Each answer can be either set to True or False which is then saved in FinalBuilder varibles which can then control the flow of your build process.

New Archive Actions (based on 7zip) - the new archive actions allow you to create, extract, update, delete, etc archives in many different formats including ZIP, RAR, CAB, etc.

  • Create Archive (supports Zip, 7z, GZip, BZip2, TAR)
  • Test Archive (supports Zip, 7z, GZip, BZip2, TAR)
  • List files in Archive (supports Zip, 7z, GZip, BZip2, TAR, RAR, ARJ, CAB, CPIO, RPM, DEB, SPLIT)
  • Extract Archive (supports Zip, 7z, GZip, BZip2, TAR, RAR, ARJ, CAB, CPIO, RPM, DEB, SPLIT)
  • Update Archive (supports Zip, 7z, GZip, BZip2, TAR)
  • Delete file from Archive (supports Zip, 7z, GZip, BZip2, TAR)

InstallAware- The InstallAware product family provides a complete set of installation authoring tools and environments targeting Microsoft Windows and Microsoft .NET platforms

XCopy - XCopy is a flexible way to copy files and directories and is faster than using the standard file copy action

Robocopy - Robocopy is a very powerful tool for copying, moving, and synchronising directories and files with error recovery. It is included in the Windows NT Resource Kit

  • Robocopy (used for copying files and folders)
  • Robocopy run Job
  • Robocopy Move
  • Robocopy Mirror

IncrediBuild from Xoreax - enables distributed builds of VisualStudio projects, see http://www.xoreax.com

  • IncrediBuild build action
  • Enable IncrediBuild Agent
  • Disable IncrediBuild Agent
  • Stop current IncrediBuild Compile
  • Reset IncrediBuild Swapfile

NullSoft Installer- NSIS (Nullsoft Scriptable Install System) is a tool that allows programmers to create installers for Windows. It is released under an open source license and is completely free for any use.

MSTest - The MS Test action enables you to automate the testing of your .Net assemblies using MSTest.

ZeroG InstallAnyware 6 Enterprise- The InstallAnywhere Enterprise action enables you to automate the process of building ZeroG InstallAnywhere Enterprise installations as part of your build process.

ZeroG InstallAnyware .Net - The InstallAnywhere.Net action enables you to automate the process of building ZeroG InstallAnywhere.Net installations as part of your build process.

Write to Text file (insert at beginning, or append to end)

Prompt for File or Directory - The Prompt for File or Directory action enables you to ask the user to specify a file or directory during your build process. The file or directory specified is saved in a variable so that it can be used in subsequent actions.

Chrome- The Chrome action enables you to automate compilation of your Chrome projects as part of your build process. Chromeâ„¢ is RemObjects' next generation Object Pascal language for the .NET and Mono Platforms. While implementing a language that stays true to the beauty and elegance of Object Pascal, Chrome adds useful design elements from other languages such as C#, Java and Eiffel, and it introduces its own language innovations.

Get File Version Information Action - extract the Win32 Version and File Information stored in the executable, extracting file information works with both normal Win32 files as well as .Net assemblies

Read Text File Action - read the text file into a FinalBuilder variable, and also process each line in the OnReadLine event

Folder Iterator action - The Folder Iterator action enables you to repeat a set of build steps for one or more folders. Specify a starting folder (eg. c:\temp\) and then when the action executes any child actions will be executed for each folder found inside the starting folder

File Contents Iterator Action - this will iterate for each line in the input file

INI File Iterator Action - this will iterate over the sections in an INI file or over the name=value pairs of a section of an INI file

List Iterator Action - this will iterate for each item in a list. It includes a script method "OnFirstRun" so that the list items can be dynamically set. Eg:

  • Action.ListOfItems.Clear
  • Action.ListOfItems.Add "item1"
  • Action.ListOfItems.Add "item2"

Move directory action - move a directory to a new location during the build process

SQL Server maintenance actions - The SQL Server Maintenance actions enable you to automate maintenance on Microsoft SQL Server database servers as part of your build process.

  • Backup SQL Server Database
  • Check DB
  • Check Catalogues
  • Remove Unused Space
  • Rebuild Index
  • Update DB Statistics

Execute ADO stored procedure - execute stored procedures using ADO

SourceGear Vault

  • Diff Action
  • GetLabelDiffs Action
  • List Checkouts Action
  • SetWorkingFolder Action
  • FileStatus Action

Calculate File CRC32 - The action can also fail if the CRC differs from another file or a specified CRC32

Calculate File MD5 - The action can also fail if the MD5 differs from another file or a specified MD5

ShellExecute. Allows you to execute a file with the Windows Shell (eg. print, edit, etc)

Pascal Analyzer- Pascal Analyzer, or PAL for short, is a utility program that analyzes, documents, debugs, and helps you optimize your source code. It will help you better understand your code and support you in producing code of higher quality, consistency, and reliability. PAL quickly pays itself back in easier maintenance, less errors and improved quality, not only during development, but also throughout the entire life cycle of your code.

Save/Load Variables to/from INI file - allows you to save or load a set of variables to or from an INI file.

Delete XML Nodes - Specify an XPath to select the node or nodes you wish to delete in an XML file.

Beyond Compare - compare two files using Beyond Compare.

Microsoft Visual SourceSafe

  • Branch Action
  • Share Action
  • Get Working Folder Action

See also Action contributed by the FinalBuilder community

 

ENHANCED ACTIONS IN FINALBUILDER 3

HTTP Get now supports using a Proxy Server

Microsoft Visual SourceSafe -

  • the VSS action have been completely rewritten so that they operate against the vss command line utility rather than the COM API which has proved to be unreliable.
  • RespectCloakedProjects option exposed in property pages for Add, Check In, Get Latest, and Check Out.

WinRAR - now can add multiple files, extra command line options, comments.

WMI Execute Process, Kill Process, and Process Info - can now specify the credentials to use (ie. Username & Password)

Execute ADO - allow SQL input from file

QSC TeamCoherence:

  • added CreateView action
  • added DeleteView  action
  • added UpdateView  action
  • Fail if label not found on a file is now optional

SourceGear Vault - added the ability for each action to provide no authentication or host information so that Vault can pick up the information from the vault_cmdline_client_session.txt file

SetVariable action

  • now allows you to specify the type of the variable
  • ShortFileName modifier - now handles multiple filenames

Enhanced prompt for variables has been further enhanced. Now includes timeout, changing order of items, and file and directory types.

Delphi Compiler action

  • can now use $(DELPHI), $(BCB), and $(BDS) in the following fields: Project File, Icon File, Starting Directory, Output Directory, Unit Output Directory, BPL Output Directory, and DCP Output Directory.
  • now automatically uses an ICON file if it exists, otherwise it extract the ICO resource from the project

C# Project Compiler - enhanced how project references are found

Check If File Exists - enhanced so that it can now set a variable depending on if a file exists or not

Email Action - now supports loading email address from a file or from a delimited list of email addresses

QVCS Checkin - added "always add new revision" option

SQL Server actions - added option to set the password from script

NEW PLUGIN ARCHITECTURE

FinalBuilder 3 has introduced a completely new way to develop plugins. Plugins allows the end user to add extra Actions to the FinalBuilder IDE, which can then be added to any build process.  FinalBuilder ActionStudio is bundled with both editions of FinalBuilder, and allows the development of FinalBuilder actions using Active Script (VBScript or JScript), .Net or COM.

Using ActionStudio you define the properties, events, and property pages of an action.  If the action is script based then ActionStudio allows you to implement the methods required for the action with a fully featured editor with syntax highlighting, parameter hints and automatic code completion (similar to "Intelli-Sense" (tm) or "Code Insight" (tm)).  A comprehensive PDF manual is also provided which gives step-by-step instructions on how to create plugins as well as a reference section explaining all the available objects.

  • FinalBuilder 3 introduces native .Net plugins, active script based plugins, and COM based plugins.  For more info on the plugin architecture see here.
  • Protected Action Packages. This Enterprise only feature enables action developers to deploy action packages in an encrypted form so that the source is not available. This also allows action developers to distribute or sell their FinalBuilder plugins with or without the source.

Print  

Privacy Statement  |  Terms Of Use  |  Contact
Copyright © 2008 VSoft Technologies Pty Ltd