### Navigation

- index
- next |
- previous |
- Toucan v3.0.4 documentation »

# Examples

Running Jobs:

    sync("syncjobname")
    backup("backupjobname")
    secure("securejobname")

Running Scripts:

    dofile(getscript("myscriptname"))

Running a Custom Job:

    sync([[my\source]], [[my\dest]], "Copy", {size = true, time = false, short = true, full = false}, {timestamps = true, attributes = true, ignorero = false, ignoredls = false, recycle = false, previewchanges = false})

Flow Control:

    day = os.date("%A")
    if day == "Sunday" then
            print("Never run the backup on a Sunday!")
    elseif day == "Saturday" then
            backup("WeekendBackup")
    else
            sync("DailySync")
    end

The example below shows the scipt that is used to build Toucan test builds. It shows a few of the many different capabilities of the Lua scripting system.:

    packageversion = "3.0.0.0"
    displayversion = "3.0 Pre-Release 1"

    toucanpath = [[C:\Users\Steven\Desktop\Toucan\Application\]]
    nsispath = [["C:\Program Files (x86)\NSIS\makensis.exe"]]
    compressorpath = [[C:\Users\Steven\Desktop\AppCompactor\AppCompactor.exe]]
    installerpath = [[C:\Users\Steven\Desktop\PortableApps.comInstaller\PortableApps.comInstaller.exe]]

    --Firstly we update the appinfo file to the latest version
    io.input(toucanpath .. [[App\AppInfo\appinfo.ini]])
    t = io.read("*all")
    t = string.gsub(t, "PackageVersion=%d%.%d%.%d%.%d", "PackageVersion=" .. packageversion)
    t = string.gsub(t, "DisplayVersion=.-\n", "DisplayVersion=" .. displayversion .. "\n\n")
    io.output(toucanpath .. [[App\AppInfo\appinfo.ini]])
    io.write(t)
    io.close()

    --Then we update the launcher
    io.input(toucanpath .. [[Other\Source\ToucanLauncher.nsi]])
    t = io.read("*all")
    t = string.gsub(t, [[!define VER "%d%.%d%.%d%.%d"]], [[!define VER "]].. packageversion .. [["]])
    io.output(toucanpath .. [[Other\Source\ToucanLauncher.nsi]])
    io.write(t)
    io.close()

    --Run the unittests
    if execute(toucanpath .. [[\App\Toucan\toucan.exe -u]]) ~= 0 then
            print("The unit tests failed", false, true)
            return
    else
            print("Unit tests passed")
    end

    --Build the launcher
    if execute(nsispath .. " \"" .. toucanpath .. [[\Other\Source\ToucanLauncher.nsi"]]) ~= 0 then
            print("Building the launcher failed", false, true)
            return
    else
            print("Launcher built")
    end

    --Compress the app
    if execute(compressorpath .. " " .. toucanpath) ~= 0 then
            print("Compression failed", false, true)
            return
    else
            print("App compressed")
    end

    --Build the installer
    if execute(installerpath .. " " .. toucanpath) ~= 0 then
            print("Building the installer failed", false, true)
            return
    else
            print("Installer created")
    end

### Navigation

- index
- next |
- previous |
- Toucan v3.0.4 documentation »