Scripts/bootstrap.ps1

$WarningPreference = 'SilentlyContinue'
$ProgressPreference = 'SilentlyContinue'
$ErrorActionPreference = 'Stop'

$rootPath = Split-Path -Path $PSScriptRoot -Parent

# Load the required modules, this will expose a variable called $requiredModules
Import-Module -Name (Join-Path $rootPath "DTX.Cloud.Management.Dependencies.psm1") -Force | Out-Null

Write-Host "Loading required modules... Please wait."

foreach ($module in $requiredModules) {
    try {
        Import-Module -Name $module.ModuleName -MinimumVersion $module.ModuleVersion -MaximumVersion $module.MaximumVersion -Force | Out-Null
    }
    catch [System.IO.FileLoadException] {
        # Sometimes if the module is already loaded, we get this exception
        # We can safely ignore it
    }
    catch {
        throw $_
    }
}

Write-Host "Required modules loaded."