Skip to content

Commit

Permalink
Merge branch 'release/1.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
gep13 committed Jan 15, 2016
2 parents b25bc6d + 71808e9 commit 676852a
Show file tree
Hide file tree
Showing 8 changed files with 356 additions and 7 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Created by https://www.gitignore.io/

### NuGet Packages ###
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*

### VisualStudioCode ###
.vscode

### Pester Test Result ###
TestResult.xml
2 changes: 2 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Welcome to the psake-contrib project.
=====================================

[![Join the chat at https://gitter.im/psake/psake-contrib](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/psake/psake-contrib?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

psake-contrib is a repository for scripts, modules and functions that are useful for running a build with [psake](http://github.com/JamesKovacs/psake).


Expand Down
13 changes: 13 additions & 0 deletions Run-Tests.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Import-Module Pester

Invoke-Pester tests\** -OutputFile TestResult.xml -OutputFormat NUnitXml

$appVeyorJobId = $env:APPVEYOR_JOB_ID
if ($appVeyorJobId) {
$url = "https://ci.appveyor.com/api/testresults/nunit/$appVeyorJobId"

$wc = New-Object 'System.Net.WebClient'
$wc.UploadFile($url, (Resolve-Path '.\TestResult.xml'));

"Uploaded test results to AppVeyor."
}
17 changes: 17 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# psake-contrib

version: 1.0.0-build-{build}

branches:
except:
- gh-pages

os: Visual Studio 2015

install:
- cinst pester

build: false

test_script:
- ps: . .\Run-Tests.ps1
8 changes: 8 additions & 0 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@echo off

NuGet.exe install Pester -OutputDirectory packages -ExcludeVersion -Verbosity quiet

set pester=.\packages\Pester\tools\Pester.psm1

powershell -NoProfile -ExecutionPolicy Bypass -Command "Import-Module '%pester%'; Invoke-Pester tests\**;"
goto :eof
4 changes: 2 additions & 2 deletions nuget/psake-contrib.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>psake-contrib</id>
<version>1.0.0</version>
<version>1.1.0</version>
<authors>James Kovacs,James Crowley,Rafal Klys,Artur Dorochowicz,Scott Banwart,Ales Roubicek,C-J Berg,Pepa Stefan</authors>
<projectUrl>https://github.com/psake/psake-contrib</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
Expand All @@ -14,4 +14,4 @@
<files>
<file src="..\*.psm1" target="tools\" />
</files>
</package>
</package>
53 changes: 48 additions & 5 deletions teamcity.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,30 @@ if ($env:TEAMCITY_VERSION) {
}
}

function TeamCity-Message([string]$text, [string]$status = 'NORMAL', [string]$errorDetails) {
$messageAttributes = @{ text=$text; status=$status }

if ($errorDetails) {
$messageAttributes.errorDetails = $errorDetails
}

TeamCity-WriteServiceMessage 'message' $messageAttributes
}

function TeamCity-BlockOpened([string]$name, [string]$description) {
$messageAttributes = @{ name=$name }

if ($description) {
$messageAttributes.description = $description
}

TeamCity-WriteServiceMessage 'blockOpened' $messageAttributes
}

function TeamCity-BlockClosed([string]$name) {
TeamCity-WriteServiceMessage 'blockClosed' @{ name=$name }
}

function TeamCity-TestSuiteStarted([string]$name) {
TeamCity-WriteServiceMessage 'testSuiteStarted' @{ name=$name }
}
Expand Down Expand Up @@ -112,18 +136,36 @@ function TeamCity-ReportBuildFinish([string]$message) {
TeamCity-WriteServiceMessage 'progressFinish' $message
}

function TeamCity-ReportBuildStatus([string]$status, [string]$text='') {
TeamCity-WriteServiceMessage 'buildStatus' @{ status=$status; text=$text }
function TeamCity-ReportBuildStatus([string]$status=$null, [string]$text='') {
$messageAttributes = @{ text=$text }

if (![string]::IsNullOrEmpty($status)) {
$messageAttributes.status=$status
}

TeamCity-WriteServiceMessage 'buildStatus' $messageAttributes
}

function TeamCity-SetBuildNumber([string]$buildNumber) {
TeamCity-WriteServiceMessage 'buildNumber' $buildNumber
}

function TeamCity-SetParameter([string]$name, [string]$value) {
TeamCity-WriteServiceMessage 'setParameter' @{ name=$name; value=$value }
}

function TeamCity-SetBuildStatistic([string]$key, [string]$value) {
TeamCity-WriteServiceMessage 'buildStatisticValue' @{ key=$key; value=$value }
}

function TeamCity-EnableServiceMessages() {
TeamCity-WriteServiceMessage 'enableServiceMessages'
}

function TeamCity-DisableServiceMessages() {
TeamCity-WriteServiceMessage 'disableServiceMessages'
}

function TeamCity-CreateInfoDocument([string]$buildNumber='', [boolean]$status=$true, [string[]]$statusText=$null, [System.Collections.IDictionary]$statistics=$null) {
$doc=New-Object xml;
$buildEl=$doc.CreateElement('build');
Expand Down Expand Up @@ -198,9 +240,10 @@ function TeamCity-WriteServiceMessage([string]$messageName, $messageAttributesHa
if ($messageAttributesHashOrSingleValue -is [hashtable]) {
$messageAttributesString = ($messageAttributesHashOrSingleValue.GetEnumerator() |
%{ "{0}='{1}'" -f $_.Key, (escape $_.Value) }) -join ' '
} else {
$messageAttributesString = ("'{0}'" -f (escape $messageAttributesHashOrSingleValue))
$messageAttributesString = " $messageAttributesString"
} elseif ($messageAttributesHashOrSingleValue) {
$messageAttributesString = (" '{0}'" -f (escape $messageAttributesHashOrSingleValue))
}

Write-Output "##teamcity[$messageName $messageAttributesString]"
Write-Output "##teamcity[$messageName$messageAttributesString]"
}
Loading

0 comments on commit 676852a

Please sign in to comment.