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