diff --git a/build/build.ps1 b/build/build.ps1 index 51cad760b..df64127f9 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -6,18 +6,21 @@ Properties { $cairpluginversion = "1.0.0.0" # build paths to various files - $PROJ_PATH = (Resolve-Path ".") - $BIN_PATH = (Join-Path $PROJ_PATH "_BuildOutput") - $NUGET_EXE = (Resolve-Path "..\src\.nuget\NuGet.exe") - $NUSPECS_PATH = (Join-Path $PROJ_PATH "NuSpecs") - $NUGET_OUTPUT = (Join-Path $BIN_PATH "NuGets") - # TODO: add opencover and nunit runner binaries + $PROJ_PATH = Resolve-Path "." + $SRC_PATH = Resolve-Path "..\src" + $BIN_PATH = Join-Path $PROJ_PATH "_BuildOutput" + $NUGET_EXE = Join-Path $SRC_PATH ".nuget\NuGet.exe" + $NUSPECS_PATH = Join-Path $PROJ_PATH "NuSpecs" + $NUGET_OUTPUT = Join-Path $BIN_PATH "NuGets" + + # nunit runner binaries + $NUNIT_EXE = Join-Path $SRC_PATH "packages\NUnit.Runners.2.6.3\tools\nunit-console.exe" } Framework "4.0x86" FormatTaskName "-------- {0} --------" -task default -depends Cleanup-Binaries, Build-Solution, Generate-Package +task default -depends Cleanup-Binaries, Build-Solution, Run-Tests, Generate-Package # cleans up the binaries output folder task Cleanup-Binaries { @@ -30,14 +33,44 @@ task Cleanup-Binaries { # builds the solutions task Build-Solution -depends Cleanup-Binaries { Write-Host "Building projects" - $projects = @("Build.ImageProcessor.proj", "Build.ImageProcessor.Web.proj", "Build.ImageProcessor.Plugins.WebP.proj", "Build.ImageProcessor.Plugins.Cair.proj") + $projects = @( + "Build.ImageProcessor.proj", + "Build.ImageProcessor.Web.proj", + "Build.ImageProcessor.Plugins.WebP.proj", + "Build.ImageProcessor.Plugins.Cair.proj" + ) + $projects | % { + Write-Host "Building project $_" Exec { msbuild (Join-Path $PROJ_PATH $_) /p:BUILD_RELEASE="$version" } } } +# runs the unit tests +task Run-Tests { + Write-Host "Building the unit test projects" + + $projects = @( + "ImageProcessor.UnitTests", + "ImageProcessor.Web.UnitTests" + ) + + $projects | % { + Write-Host "Building project $_" + Exec { + msbuild (Join-Path $SRC_PATH "$_\$_.csproj") /t:Build /p:Configuration=Release /p:Platform="AnyCPU" /p:Warnings=true /v:Normal /nologo /clp:WarningsOnly`;ErrorsOnly`;Summary`;PerformanceSummary + } + } + + Write-Host "Running unit tests" + $projects | % { + Write-Host "Running tests on project $_" + & $NUNIT_EXE (Join-Path $SRC_PATH "$_\bin\Release\$_.dll") + } +} + # generates a Nuget package task Generate-Package -depends Build-Solution { Write-Host "Generating Nuget packages for each project" @@ -58,7 +91,7 @@ task Generate-Package -depends Build-Solution { $nuspecs.GetEnumerator() | % { $nuspec_local_path = (Join-Path $NUSPECS_PATH $_.Key) - Write-Host "Building package from $nuspec_local_path" + Write-Host "Building Nuget package from $nuspec_local_path" # change the version values [xml]$nuspec_contents = Get-Content $nuspec_local_path diff --git a/src/.nuget/packages.config b/src/.nuget/packages.config new file mode 100644 index 000000000..840553686 --- /dev/null +++ b/src/.nuget/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/packages/repositories.config b/src/packages/repositories.config index 3406fa91f..bfef3f66b 100644 --- a/src/packages/repositories.config +++ b/src/packages/repositories.config @@ -1,12 +1,6 @@  - - - - - - \ No newline at end of file