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.