Nexus Builder

Help Home

What is Nexus Builder?


Builder is a development environment for automating common tasks such as building installations, releasing to the web, copying files and folder and much more. It is also a scripting language based around Delphi (Object Pascal) which affords great flexibility when producing complex build scenario.

Interaction


function AskQuestion(question : String) : Boolean;
function ShowMessage(Msg : String) : Boolean;

Script Control


function AbortScript : Boolean;

Files


function CopyFile(SourceFileName,DestFolder : String) : Boolean;

function FindApplication(Name, FileName: String): Boolean;
function Run(FileName,Parameters : String) : Boolean;

Installation


function InnoSetup5(ScriptFileName : String) : Boolean;
function VersionCompare(v1,v2 : String) : Boolean;

Example Script 1



var
releaseFolder,
downloadFolder,
scriptFolder,
exeFolder,
cdFolder,
webFolder : String;

begin
if not askQuestion('Build System Analyst?') then
abortScript;

releaseFolder := 'c:\my releases\';
downloadFolder := '\\webserverpc\downloads\';
scriptFolder := 'c:\my scripts\';
exeFolder := 'c:\myproduct\output\';
cdFolder := '\\server\installs\v5\myproduct cd\';
webFolder := '\\my webreleases\';

// Reduce Size of EXEs using StripAlloc
Run('c:\stripreloc.exe',exeFolder+'myproduct.exe');

// My Product Install
InnoSetup5(scriptFolder+'My Product.iss');
CopyFile(releaseFolder+'InstallMyProduct.exe',downloadFolder);

// Copy Updates info file to Web Server
if AskQuestion('Release to Web Server?') then begin
CopyFile(exeFolder+'softwareupdate.txt',downloadFolder);
CopyFile(releaseFolder+'InstallMyProduct.exe',downloadFolder);
end;

// Release to CD ?
if AskQuestion('Release to CD') then begin
copyFile(releaseFolder+'InstallMyProduct.exe',cdFolder);
end;

// Release to Web Master for www.mycompany.com
if AskQuestion('Release to Web Master?') then begin
copyFile(exeFolder+'softwareupdate.txt',webFolder);
copyFile(releaseFolder+'InstallMyProduct.exe',webFolder);
end;
end.