67 lines
1.4 KiB
PowerShell
67 lines
1.4 KiB
PowerShell
param (
|
|
[Parameter(Mandatory=$false)]
|
|
[string]
|
|
$version,
|
|
|
|
[Parameter(Mandatory=$false)]
|
|
[Alias("mo")]
|
|
[switch]
|
|
$moduleOnly = $false
|
|
)
|
|
|
|
# the script can run either from the solution root,
|
|
# or from the ./build directory - anything else fails
|
|
if ([System.IO.Path]::GetFileName($pwd) -eq "build")
|
|
{
|
|
$mpath = [System.IO.Path]::GetDirectoryName($pwd) + "\build\Modules\"
|
|
}
|
|
else
|
|
{
|
|
$mpath = "$pwd\build\Modules\"
|
|
}
|
|
|
|
# look for the module and throw if not found
|
|
if (-not [System.IO.Directory]::Exists($mpath + "Umbraco.Build"))
|
|
{
|
|
Write-Error "Could not locate Umbraco build Powershell module."
|
|
break
|
|
}
|
|
|
|
# add the module path (if not already there)
|
|
if (-not $env:PSModulePath.Contains($mpath))
|
|
{
|
|
$env:PSModulePath = "$mpath;$env:PSModulePath"
|
|
}
|
|
|
|
# force-import (or re-import) the module
|
|
Write-Host "Import Umbraco build Powershell module"
|
|
Import-Module Umbraco.Build -Force -DisableNameChecking
|
|
|
|
# module only?
|
|
if ($moduleOnly)
|
|
{
|
|
if (-not [string]::IsNullOrWhiteSpace($version))
|
|
{
|
|
Write-Host "(module only: ignoring version parameter)"
|
|
}
|
|
else
|
|
{
|
|
Write-Host "(module only)"
|
|
}
|
|
break
|
|
}
|
|
|
|
# get build environment
|
|
Write-Host "Setup Umbraco build Environment"
|
|
$uenv = Get-UmbracoBuildEnv
|
|
|
|
# set the version if any
|
|
if (-not [string]::IsNullOrWhiteSpace($version))
|
|
{
|
|
Write-Host "Set Umbraco version to $version"
|
|
Set-UmbracoVersion $version
|
|
}
|
|
|
|
# full umbraco build
|
|
Write-Host "Build Umbraco"
|
|
Build-Umbraco |