-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.ps1
19 lines (18 loc) · 945 Bytes
/
build.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#Requires -Modules psake
[cmdletbinding()]
param(
[ValidateSet('Build','Test','BuildHelp','Install','Clean','Analyze','Publish','ExportPublicFunctions','VersionIncMajor','VersionIncMinor','VersionIncBuild','VersionIncRevision','osFinish')]
[string[]]$Task = 'Build'
)
if ($Task -eq 'osFinish') {
$stagingDirectory = (Resolve-Path $env:APPVEYOR_BUILD_FOLDER).Path
$releaseDirectory = Join-Path $env:APPVEYOR_BUILD_FOLDER '\Release\PSMailTools'
$zipFile = Join-Path $stagingDirectory "PSMailTools-$($env:APPVEYOR_REPO_BRANCH).zip"
Add-Type -assemblyname System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory($releaseDirectory, $zipFile)
Write-Host $zipFile
Push-AppveyorArtifact $zipFile
} else {
Import-Module psake;Import-Module Pester;Import-Module PSScriptAnalyzer
Invoke-psake -buildFile "$PSScriptRoot\build.psake.ps1" -taskList $Task -Verbose:$VerbosePreference
}