| @@ -0,0 +1,24 @@ | ||
| <?xml version="1.0"?> | ||
| <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | ||
| <metadata> | ||
| <id>Talifun.Web.CssSprite</id> | ||
| <version>2.5.0.0</version> | ||
| <authors>Taliesin Sisson</authors> | ||
| <owners>Talifun Ltd</owners> | ||
| <title>Talifun.Web.CssSprite</title> | ||
| <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl> | ||
| <projectUrl>http://www.talifun.com/products/talifun-web/css-sprite-module</projectUrl> | ||
| <iconUrl>http://code.google.com/p/talifun-web/logo</iconUrl> | ||
| <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
| <description>A module that compresses images into a single image, and then creates a css file to split image into sprites. </description> | ||
| <summary>A module that makes it easily to implemented best practices and increase performance of asp.net webforms and asp.net mvc websites.</summary> | ||
| <language>en-GB</language> | ||
| <tags>talifun http module css sprite image graphic picture combine</tags> | ||
| <dependencies> | ||
| <dependency id="Talifun.Web" version="2.5.0.0" /> | ||
| </dependencies> | ||
| </metadata> | ||
| <files> | ||
| <file src="Transforms\Talifun.Web.CssSprite.web.config.transform" target="content\web.config.transform" /> | ||
| </files> | ||
| </package> |
| @@ -1,22 +1,27 @@ | ||
| <?xml version="1.0"?> | ||
| <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | ||
| <metadata> | ||
| <id>Talifun.Web</id> | ||
| <version>2.5.0.0</version> | ||
| <title>Talifun.Web</title> | ||
| <authors>Taliesin Sisson</authors> | ||
| <owners>Talifun Ltd</owners> | ||
| <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl> | ||
| <projectUrl>http://www.talifun.com/products/talifun-web/</projectUrl> | ||
| <iconUrl>http://code.google.com/p/talifun-web/logo</iconUrl> | ||
| <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
| <description>A suite of Http Modules and Http Handlers to easily implemented best practices and increase performance of asp.net webforms and asp.net mvc websites.</description> | ||
| <summary>A suite of Http Modules and Http Handlers to easily implemented best practices and increase performance of asp.net webforms and asp.net mvc websites.</summary> | ||
| <language>en-GB</language> | ||
| <tags>talifun http module</tags> | ||
| <dependencies> | ||
| <dependency id="dotless" version="1.3.0.0" /> | ||
| <dependency id="YUICompressor.NET" version="1.7.1.0" /> | ||
| </dependencies> | ||
| </metadata> | ||
| <files> | ||
| <file src="bin\Talifun.Web.dll" target="lib/net40" /> | ||
| <file src="bin\Talifun.Crusher.exe" target="tools" /> | ||
| <file src="bin\Talifun.Crusher.exe.config" target="tools" /> | ||
| </files> | ||
| </package> |
| @@ -0,0 +1,144 @@ | ||
|
|
||
| Microsoft Visual Studio Solution File, Format Version 11.00 | ||
| # Visual Studio 2010 | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Talifun.Web", "src\Talifun.Web\Talifun.Web.csproj", "{FB8D10A5-40A2-44B0-A30F-1B316B5AFC34}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Talifun.Web.Mvc", "src\Talifun.Web.Mvc\Talifun.Web.Mvc.csproj", "{5DF03ED5-2C45-4F23-A1E3-248383803D11}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Talifun.Web.UrlRewriter", "src\Talifun.Web.UrlRewriter\Talifun.Web.UrlRewriter.csproj", "{43D2AC34-0EEA-4A82-B907-80D4CBDD63A1}" | ||
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Talifun.Web Examples", "Talifun.Web Examples", "{E40C6C03-83CA-4590-84EF-90FCB8253463}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compress.Demo", "src\Talifun.Web.Examples\Compress.Demo\Compress.Demo.csproj", "{F4AB8CB0-90E3-46D6-93E1-8C796F388E68}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Crusher.Demo", "src\Talifun.Web.Examples\Crusher.Demo\Crusher.Demo.csproj", "{0F576746-2042-433F-8543-FCB9321FDEF0}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CssSprite.Demo", "src\Talifun.Web.Examples\CssSprite.Demo\CssSprite.Demo.csproj", "{B28274C1-B220-4D3B-9CB4-DD3A5D877B02}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogUrl.Demo", "src\Talifun.Web.Examples\LogUrl.Demo\LogUrl.Demo.csproj", "{04C7820F-E87A-4E09-BBAB-CEF8F73152B6}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegexUrlAuthorization.Demo", "src\Talifun.Web.Examples\RegexUrlAuthorization.Demo\RegexUrlAuthorization.Demo.csproj", "{C1C1A286-780B-44AD-8FB0-AE78528B68EC}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StaticFile.Demo", "src\Talifun.Web.Examples\StaticFile.Demo\StaticFile.Demo.csproj", "{EE3D28B2-2146-4078-BC89-2A4270257085}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StaticFileGenericHandler.Demo", "src\Talifun.Web.Examples\StaticFileGenericHandler.Demo\StaticFileGenericHandler.Demo.csproj", "{43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IpAddressAuthentication.Demo", "src\Talifun.Web.Examples\IpAddressAuthentication.Demo\IpAddressAuthentication.Demo.csproj", "{F9590CD0-6DF8-4393-855C-6ABC56DAB6F6}" | ||
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Talifun.Web.Mvc Examples", "Talifun.Web.Mvc Examples", "{CFF647EC-A72D-4D59-B3FD-250894F85E59}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StaticFile.Demo", "src\Talifun.Web.Mvc.Examples\StaticFile.Demo\StaticFile.Demo.csproj", "{25C56455-C2FF-4C1F-801D-496AF186D1C3}" | ||
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UrlReWriter", "UrlReWriter", "{9203C04A-7B5A-4942-A0B6-6833D3D405D1}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UrlReWriter.Demo.CustomUrlRewriter", "src\Talifun.Web.UrlRewriter.Examples\UrlReWriter.Demo.CustomUrlRewriter\UrlReWriter.Demo.CustomUrlRewriter.csproj", "{3E797996-D4C7-45D1-8B5F-B3C87FC4F886}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UrlRewriter.Demo", "src\Talifun.Web.UrlRewriter.Examples\UrlRewriter.Demo\UrlRewriter.Demo.csproj", "{EB258590-626C-4F1D-ABEE-E863551BB5EC}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Talifun.Web.Tests", "src\Talifun.Web.Tests\Talifun.Web.Tests.csproj", "{7C661FBC-E6BE-4C1B-9002-E17CEA4531F9}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Talifun.Crusher", "src\Talifun.Crusher\Talifun.Crusher.csproj", "{3DADA59F-3E27-44F5-93A5-F3D4C0C77D9B}" | ||
| EndProject | ||
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{F6495657-21D5-4190-8509-4187C032367F}" | ||
| ProjectSection(SolutionItems) = preProject | ||
| build\assemblyinfo.ps1 = build\assemblyinfo.ps1 | ||
| build\bootstrap.ps1 = build\bootstrap.ps1 | ||
| build\build.ps1 = build\build.ps1 | ||
| build\chewie.psm1 = build\chewie.psm1 | ||
| build\git.ps1 = build\git.ps1 | ||
| build\msbuild.ps1 = build\msbuild.ps1 | ||
| build\nuget.ps1 = build\nuget.ps1 | ||
| build\nunit.ps1 = build\nunit.ps1 | ||
| build\overrides.ps1 = build\overrides.ps1 | ||
| build\settings.ps1 = build\settings.ps1 | ||
| build\xunit.ps1 = build\xunit.ps1 | ||
| EndProjectSection | ||
| EndProject | ||
| Global | ||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
| Debug|Any CPU = Debug|Any CPU | ||
| Release|Any CPU = Release|Any CPU | ||
| EndGlobalSection | ||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
| {FB8D10A5-40A2-44B0-A30F-1B316B5AFC34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {FB8D10A5-40A2-44B0-A30F-1B316B5AFC34}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {FB8D10A5-40A2-44B0-A30F-1B316B5AFC34}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {FB8D10A5-40A2-44B0-A30F-1B316B5AFC34}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {5DF03ED5-2C45-4F23-A1E3-248383803D11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {5DF03ED5-2C45-4F23-A1E3-248383803D11}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {5DF03ED5-2C45-4F23-A1E3-248383803D11}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {5DF03ED5-2C45-4F23-A1E3-248383803D11}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {43D2AC34-0EEA-4A82-B907-80D4CBDD63A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {43D2AC34-0EEA-4A82-B907-80D4CBDD63A1}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {43D2AC34-0EEA-4A82-B907-80D4CBDD63A1}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {43D2AC34-0EEA-4A82-B907-80D4CBDD63A1}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {F4AB8CB0-90E3-46D6-93E1-8C796F388E68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {F4AB8CB0-90E3-46D6-93E1-8C796F388E68}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {F4AB8CB0-90E3-46D6-93E1-8C796F388E68}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {F4AB8CB0-90E3-46D6-93E1-8C796F388E68}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {0F576746-2042-433F-8543-FCB9321FDEF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {0F576746-2042-433F-8543-FCB9321FDEF0}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {0F576746-2042-433F-8543-FCB9321FDEF0}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {0F576746-2042-433F-8543-FCB9321FDEF0}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {B28274C1-B220-4D3B-9CB4-DD3A5D877B02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {B28274C1-B220-4D3B-9CB4-DD3A5D877B02}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {B28274C1-B220-4D3B-9CB4-DD3A5D877B02}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {B28274C1-B220-4D3B-9CB4-DD3A5D877B02}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {04C7820F-E87A-4E09-BBAB-CEF8F73152B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {04C7820F-E87A-4E09-BBAB-CEF8F73152B6}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {04C7820F-E87A-4E09-BBAB-CEF8F73152B6}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {04C7820F-E87A-4E09-BBAB-CEF8F73152B6}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {C1C1A286-780B-44AD-8FB0-AE78528B68EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {C1C1A286-780B-44AD-8FB0-AE78528B68EC}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {C1C1A286-780B-44AD-8FB0-AE78528B68EC}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {C1C1A286-780B-44AD-8FB0-AE78528B68EC}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {EE3D28B2-2146-4078-BC89-2A4270257085}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {EE3D28B2-2146-4078-BC89-2A4270257085}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {EE3D28B2-2146-4078-BC89-2A4270257085}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {EE3D28B2-2146-4078-BC89-2A4270257085}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {F9590CD0-6DF8-4393-855C-6ABC56DAB6F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {F9590CD0-6DF8-4393-855C-6ABC56DAB6F6}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {F9590CD0-6DF8-4393-855C-6ABC56DAB6F6}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {F9590CD0-6DF8-4393-855C-6ABC56DAB6F6}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {25C56455-C2FF-4C1F-801D-496AF186D1C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {25C56455-C2FF-4C1F-801D-496AF186D1C3}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {25C56455-C2FF-4C1F-801D-496AF186D1C3}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {25C56455-C2FF-4C1F-801D-496AF186D1C3}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {3E797996-D4C7-45D1-8B5F-B3C87FC4F886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {3E797996-D4C7-45D1-8B5F-B3C87FC4F886}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {3E797996-D4C7-45D1-8B5F-B3C87FC4F886}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {3E797996-D4C7-45D1-8B5F-B3C87FC4F886}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {EB258590-626C-4F1D-ABEE-E863551BB5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {EB258590-626C-4F1D-ABEE-E863551BB5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {EB258590-626C-4F1D-ABEE-E863551BB5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {EB258590-626C-4F1D-ABEE-E863551BB5EC}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {7C661FBC-E6BE-4C1B-9002-E17CEA4531F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {7C661FBC-E6BE-4C1B-9002-E17CEA4531F9}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {7C661FBC-E6BE-4C1B-9002-E17CEA4531F9}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {7C661FBC-E6BE-4C1B-9002-E17CEA4531F9}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {3DADA59F-3E27-44F5-93A5-F3D4C0C77D9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {3DADA59F-3E27-44F5-93A5-F3D4C0C77D9B}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {3DADA59F-3E27-44F5-93A5-F3D4C0C77D9B}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {3DADA59F-3E27-44F5-93A5-F3D4C0C77D9B}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| EndGlobalSection | ||
| GlobalSection(SolutionProperties) = preSolution | ||
| HideSolutionNode = FALSE | ||
| EndGlobalSection | ||
| GlobalSection(NestedProjects) = preSolution | ||
| {F4AB8CB0-90E3-46D6-93E1-8C796F388E68} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {0F576746-2042-433F-8543-FCB9321FDEF0} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {B28274C1-B220-4D3B-9CB4-DD3A5D877B02} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {04C7820F-E87A-4E09-BBAB-CEF8F73152B6} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {C1C1A286-780B-44AD-8FB0-AE78528B68EC} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {EE3D28B2-2146-4078-BC89-2A4270257085} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {43D80C20-9C68-49EC-BABD-0DCF6EEBEBEB} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {F9590CD0-6DF8-4393-855C-6ABC56DAB6F6} = {E40C6C03-83CA-4590-84EF-90FCB8253463} | ||
| {25C56455-C2FF-4C1F-801D-496AF186D1C3} = {CFF647EC-A72D-4D59-B3FD-250894F85E59} | ||
| {3E797996-D4C7-45D1-8B5F-B3C87FC4F886} = {9203C04A-7B5A-4942-A0B6-6833D3D405D1} | ||
| {EB258590-626C-4F1D-ABEE-E863551BB5EC} = {9203C04A-7B5A-4942-A0B6-6833D3D405D1} | ||
| EndGlobalSection | ||
| EndGlobal |
| @@ -0,0 +1,3 @@ | ||
| @echo off | ||
|
|
||
| powershell -NonInteractive -NoProfile -ExecutionPolicy Unrestricted -Command "& { .\build.ps1 %* }" |
| @@ -0,0 +1,27 @@ | ||
| param( | ||
| [Parameter(Position=0,Mandatory=0)] | ||
| [string]$buildFile = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)\build\build.ps1", | ||
| [Parameter(Position=1,Mandatory=0)] | ||
| [string[]]$taskList = @(), | ||
| [Parameter(Position=2,Mandatory=0)] | ||
| [string]$framework = '4.0', | ||
| [Parameter(Position=3,Mandatory=0)] | ||
| [switch]$docs = $false, | ||
| [Parameter(Position=4,Mandatory=0)] | ||
| [System.Collections.Hashtable]$parameters = @{}, | ||
| [Parameter(Position=5, Mandatory=0)] | ||
| [System.Collections.Hashtable]$properties = @{} | ||
| ) | ||
|
|
||
| $scriptPath = (Split-Path -parent $MyInvocation.MyCommand.Definition) | ||
| $buildPath = (Resolve-Path $scriptPath\build) | ||
|
|
||
| . $buildPath\bootstrap.ps1 $buildPath | ||
| $psakeModule = @(Get-ChildItem $scriptPath\* -recurse -include psake.ps1)[0].FullName | ||
| . $psakeModule $buildFile $taskList $framework $docs $parameters $properties | ||
|
|
||
| if($env:BUILD_NUMBER) { | ||
| [Environment]::Exit($lastexitcode) | ||
| } else { | ||
| exit $lastexitcode | ||
| } |
| @@ -0,0 +1,3 @@ | ||
| install_to '.' | ||
| chew 'psake' '4.1.0' | ||
| chew 'NUnit.Runners' '2.6.0.12051' |
| @@ -0,0 +1,176 @@ | ||
| Toji is intended to be used in both open-source and commercial environments. To allow its use in as many | ||
| situations as possible, Toji is dual-licensed. You may choose to use Toji under either the Apache License, | ||
| Version 2.0, or the Microsoft Public License (Ms-PL). These licenses are essentially identical, but you are | ||
| encouraged to evaluate both to determine which best fits your intended use. Some components used by Toji | ||
| are licensed under different terms. You are encouraged to review the licenses for the individual components. | ||
|
|
||
| ----- | ||
|
|
||
| Apache License, Version 2.0 | ||
|
|
||
| TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
|
|
||
| 1. Definitions. | ||
|
|
||
| "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 | ||
| through 9 of this document. | ||
|
|
||
| "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. | ||
|
|
||
| "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, | ||
| or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, | ||
| direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or | ||
| (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. | ||
|
|
||
| "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. | ||
|
|
||
| "Source" form shall mean the preferred form for making modifications, including but not limited to software source | ||
| code, documentation source, and configuration files. | ||
|
|
||
| "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, | ||
| including but not limited to compiled object code, generated documentation, and conversions to other media types. | ||
|
|
||
| "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, | ||
| as indicated by a copyright notice that is included in or attached to the work (an example is provided in the | ||
| Appendix below). | ||
|
|
||
| "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) | ||
| the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, | ||
| as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include | ||
| works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative | ||
| Works thereof. | ||
|
|
||
| "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications | ||
| or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion | ||
| in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the | ||
| copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written | ||
| communication sent to the Licensor or its representatives, including but not limited to communication on electronic | ||
| mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, | ||
| the Licensor for the purpose of discussing and improving the Work, but excluding communication that is | ||
| conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." | ||
|
|
||
| "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been | ||
| received by Licensor and subsequently incorporated within the Work. | ||
|
|
||
| 2. Grant of Copyright License. | ||
|
|
||
| Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, | ||
| non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, | ||
| publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or | ||
| Object form. | ||
|
|
||
| 3. Grant of Patent License. | ||
|
|
||
| Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, | ||
| non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, | ||
| have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to | ||
| those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone | ||
| or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You | ||
| institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging | ||
| that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent | ||
| infringement, then any patent licenses granted to You under this License for that Work shall terminate as of | ||
| the date such litigation is filed. | ||
|
|
||
| 4. Redistribution. | ||
|
|
||
| You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without | ||
| modifications, and in Source or Object form, provided that You meet the following conditions: | ||
|
|
||
| 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and | ||
| 2. You must cause any modified files to carry prominent notices stating that You changed the files; and | ||
| 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, | ||
| trademark, and attribution notices from the Source form of the Work, excluding those notices that do not | ||
| pertain to any part of the Derivative Works; and | ||
| 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You | ||
| distribute must include a readable copy of the attribution notices contained within such NOTICE file, | ||
| excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the | ||
| following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source | ||
| form or documentation, if provided along with the Derivative Works; or, within a display generated by the | ||
| Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file | ||
| are for informational purposes only and do not modify the License. You may add Your own attribution notices | ||
| within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, | ||
| provided that such additional attribution notices cannot be construed as modifying the License. | ||
| 5. You may add Your own copyright statement to Your modifications and may provide additional or different license | ||
| terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative | ||
| Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the | ||
| conditions stated in this License. | ||
|
|
||
| 5. Submission of Contributions. | ||
|
|
||
| Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You | ||
| to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. | ||
| Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you | ||
| may have executed with Licensor regarding such Contributions. | ||
|
|
||
| 6. Trademarks. | ||
|
|
||
| This License does not grant permission to use the trade names, trademarks, service marks, or product names of the | ||
| Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing | ||
| the content of the NOTICE file. | ||
|
|
||
| 7. Disclaimer of Warranty. | ||
|
|
||
| Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides | ||
| its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, | ||
| including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS | ||
| FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing | ||
| the Work and assume any risks associated with Your exercise of permissions under this License. | ||
|
|
||
| 8. Limitation of Liability. | ||
|
|
||
| In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless | ||
| required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any | ||
| Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential | ||
| damages of any character arising as a result of this License or out of the use or inability to use the Work | ||
| (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, | ||
| or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility | ||
| of such damages. | ||
|
|
||
| 9. Accepting Warranty or Additional Liability. | ||
|
|
||
| While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, | ||
| acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this | ||
| License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole | ||
| responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold | ||
| each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason | ||
| of your accepting any such warranty or additional liability. | ||
|
|
||
| ----- | ||
|
|
||
| Microsoft Public License (Ms-PL) | ||
|
|
||
| This license governs use of the accompanying software. If you use the software, you | ||
| accept this license. If you do not accept the license, do not use the software. | ||
|
|
||
| 1. Definitions | ||
| The terms "reproduce," "reproduction," "derivative works," and "distribution" have the | ||
| same meaning here as under U.S. copyright law. | ||
| A "contribution" is the original software, or any additions or changes to the software. | ||
| A "contributor" is any person that distributes its contribution under this license. | ||
| "Licensed patents" are a contributor's patent claims that read directly on its contribution. | ||
|
|
||
| 2. Grant of Rights | ||
| (A) Copyright Grant- Subject to the terms of this license, including the license conditions and | ||
| limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free | ||
| copyright license to reproduce its contribution, prepare derivative works of its contribution, | ||
| and distribute its contribution or any derivative works that you create. | ||
| (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations | ||
| in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under | ||
| its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose | ||
| of its contribution in the software or derivative works of the contribution in the software. | ||
|
|
||
| 3. Conditions and Limitations | ||
| (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, | ||
| or trademarks. | ||
| (B) If you bring a patent claim against any contributor over patents that you claim are infringed by | ||
| the software, your patent license from such contributor to the software ends automatically. | ||
| (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, | ||
| and attribution notices that are present in the software. | ||
| (D) If you distribute any portion of the software in source code form, you may do so only under this | ||
| license by including a complete copy of this license with your distribution. If you distribute | ||
| any portion of the software in compiled or object code form, you may only do so under a license | ||
| that complies with this license. | ||
| (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express | ||
| warranties, guarantees or conditions. You may have additional consumer rights under your local laws | ||
| which this license cannot change. To the extent permitted under your local laws, the contributors | ||
| exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. |
| @@ -0,0 +1,15 @@ | ||
| Copyright ďż˝ 2002-2012 Charlie Poole | ||
| Copyright ďż˝ 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov | ||
| Copyright ďż˝ 2000-2002 Philip A. Craig | ||
|
|
||
| This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. | ||
|
|
||
| Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: | ||
|
|
||
| 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required. | ||
|
|
||
| Portions Copyright ďż˝ 2002-2012 Charlie Poole or Copyright ďż˝ 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright ďż˝ 2000-2002 Philip A. Craig | ||
|
|
||
| 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. | ||
|
|
||
| 3. This notice may not be removed or altered from any source distribution. |
| @@ -11,7 +11,7 @@ | ||
|
|
||
| <!-- Set root logger level to DEBUG and its only appender to A1 --> | ||
| <root> | ||
| <level value="Info" /> | ||
| <appender-ref ref="A1" /> | ||
| </root> | ||
|
|
||
| @@ -11,7 +11,7 @@ | ||
|
|
||
| <!-- Set root logger level to DEBUG and its only appender to A1 --> | ||
| <root> | ||
| <level value="Info" /> | ||
| <appender-ref ref="A1" /> | ||
| </root> | ||
|
|
||
| @@ -0,0 +1,37 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The .NET 2.0 build of nunit-agent only | ||
| runs under .NET 2.0 or higher. The setting | ||
| useLegacyV2RuntimeActivationPolicy only applies | ||
| under .NET 4.0 and permits use of mixed mode | ||
| assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- | ||
| Nunit-agent is normally run by the console or gui | ||
| runners and not independently. In normal usage, | ||
| the runner specifies which runtime should be used. | ||
| Do NOT add any supportedRuntime elements here, | ||
| since they may prevent the runner from controlling | ||
| the runtime that is used! | ||
| --> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins"/> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -0,0 +1,37 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The .NET 2.0 build of nunit-agent only | ||
| runs under .NET 2.0 or higher. The setting | ||
| useLegacyV2RuntimeActivationPolicy only applies | ||
| under .NET 4.0 and permits use of mixed mode | ||
| assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- | ||
| Nunit-agent is normally run by the console or gui | ||
| runners and not independently. In normal usage, | ||
| the runner specifies which runtime should be used. | ||
| Do NOT add any supportedRuntime elements here, | ||
| since they may prevent the runner from controlling | ||
| the runtime that is used! | ||
| --> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins"/> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -0,0 +1,31 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The .NET 2.0 build of the console runner only | ||
| runs under .NET 2.0 or higher. The setting | ||
| useLegacyV2RuntimeActivationPolicy only applies | ||
| under .NET 4.0 and permits use of mixed mode | ||
| assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- Comment out the next line to force use of .NET 4.0 --> | ||
| <supportedRuntime version="v2.0.50727" /> | ||
| <supportedRuntime version="v4.0.30319" /> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins"/> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -0,0 +1,31 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The .NET 2.0 build of the console runner only | ||
| runs under .NET 2.0 or higher. The setting | ||
| useLegacyV2RuntimeActivationPolicy only applies | ||
| under .NET 4.0 and permits use of mixed mode | ||
| assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- Comment out the next line to force use of .NET 4.0 --> | ||
| <supportedRuntime version="v2.0.50727" /> | ||
| <supportedRuntime version="v4.0.30319" /> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins"/> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -0,0 +1,30 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The GUI only runs under .NET 2.0 or higher. The | ||
| useLegacyV2RuntimeActivationPolicy setting only | ||
| applies under .NET 4.0 and permits use of mixed | ||
| mode assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- Comment out the next line to force use of .NET 4.0 --> | ||
| <supportedRuntime version="v2.0.50727" /> | ||
| <supportedRuntime version="v4.0.30319" /> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins" /> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -0,0 +1,30 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <!-- | ||
| The GUI only runs under .NET 2.0 or higher. The | ||
| useLegacyV2RuntimeActivationPolicy setting only | ||
| applies under .NET 4.0 and permits use of mixed | ||
| mode assemblies, which would otherwise not load | ||
| correctly. | ||
| --> | ||
| <startup useLegacyV2RuntimeActivationPolicy="true"> | ||
| <!-- Comment out the next line to force use of .NET 4.0 --> | ||
| <supportedRuntime version="v2.0.50727" /> | ||
| <supportedRuntime version="v4.0.30319" /> | ||
| </startup> | ||
|
|
||
| <runtime> | ||
| <!-- Ensure that test exceptions don't crash NUnit --> | ||
| <legacyUnhandledExceptionPolicy enabled="1" /> | ||
|
|
||
| <!-- Run partial trust V2 assemblies in full trust under .NET 4.0 --> | ||
| <loadFromRemoteSources enabled="true" /> | ||
|
|
||
| <!-- Look for addins in the addins directory for now --> | ||
| <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
| <probing privatePath="lib;addins" /> | ||
| </assemblyBinding> | ||
|
|
||
| </runtime> | ||
|
|
||
| </configuration> |
| @@ -1,4 +1,4 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
|
|
||
| <!-- Set the level for tracing NUnit itself --> | ||
| @@ -1,4 +1,4 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
|
|
||
| <!-- Set the level for tracing NUnit itself --> | ||
| @@ -0,0 +1,3 @@ | ||
| start pnunit-agent 8080 . | ||
| start pnunit-agent 8081 . | ||
| pnunit-launcher test.conf |
| @@ -0,0 +1,82 @@ | ||
| <TestGroup> | ||
|
|
||
| <Variables> | ||
| <Variable name="$agent_host" value="localhost" /> | ||
| </Variables> | ||
|
|
||
| <ParallelTests> | ||
|
|
||
| <!-- This is really just one test --> | ||
| <ParallelTest> | ||
| <Name>Testing</Name> | ||
| <Tests> | ||
| <TestConf> | ||
| <Name>Testing</Name> | ||
| <Assembly>pnunit.tests.dll</Assembly> | ||
| <TestToRun>TestLibraries.Testing.EqualTo19</TestToRun> | ||
| <Machine>$agent_host:8080</Machine> | ||
| </TestConf> | ||
| </Tests> | ||
| </ParallelTest> | ||
|
|
||
| <!-- Parallel Test on a single agent - no barriers --> | ||
| <ParallelTest> | ||
| <Name>Parallel_Tests</Name> | ||
| <Tests> | ||
| <TestConf> | ||
| <Name>ParallelTest_A_Test</Name> | ||
| <Assembly>pnunit.tests.dll</Assembly> | ||
| <TestToRun>TestLibraries.ParallelExample.ParallelTest_A</TestToRun> | ||
| <Machine>$agent_host:8080</Machine> | ||
| <TestParams> | ||
| <!-- sleep time in seconds --> | ||
| <string>2</string> | ||
| </TestParams> | ||
| </TestConf> | ||
| <TestConf> | ||
| <Name>ParallelTest_B_Test</Name> | ||
| <Assembly>pnunit.tests.dll</Assembly> | ||
| <TestToRun>TestLibraries.ParallelExample.ParallelTest_B</TestToRun> | ||
| <Machine>$agent_host:8080</Machine> | ||
| <TestParams> | ||
| <string>1</string> | ||
| <!-- sleep time in seconds --> | ||
| </TestParams> | ||
| </TestConf> | ||
| </Tests> | ||
| </ParallelTest> | ||
|
|
||
| <!-- Parallel Test using two agents - with wait barriers --> | ||
| <ParallelTest> | ||
| <Name>Parallel_Barriers</Name> | ||
| <Tests> | ||
| <TestConf> | ||
| <Name>Parallel_Barriers_TestA</Name> | ||
| <Assembly>pnunit.tests.dll</Assembly> | ||
| <TestToRun>TestLibraries.ParallelExampleWithBarriers.ParallelTestWithBarriersA</TestToRun> | ||
| <Machine>$agent_host:8080</Machine> | ||
| <TestParams> | ||
| </TestParams> | ||
| <WaitBarriers> | ||
| <string>START_BARRIER</string> | ||
| <string>WAIT_BARRIER</string> | ||
| </WaitBarriers> | ||
| </TestConf> | ||
| <TestConf> | ||
| <Name>Parallel_Barriers_TestB</Name> | ||
| <Assembly>pnunit.tests.dll</Assembly> | ||
| <TestToRun>TestLibraries.ParallelExampleWithBarriers.ParallelTestWithBarriersB</TestToRun> | ||
| <Machine>$agent_host:8081</Machine> | ||
| <TestParams> | ||
| </TestParams> | ||
| <WaitBarriers> | ||
| <string>START_BARRIER</string> | ||
| <string>WAIT_BARRIER</string> | ||
| </WaitBarriers> | ||
| </TestConf> | ||
| </Tests> | ||
| </ParallelTest> | ||
|
|
||
| </ParallelTests> | ||
|
|
||
| </TestGroup> |
| @@ -0,0 +1,43 @@ | ||
| # | ||
| # Copyright (c) 2011-2012, Toji Project Contributors | ||
| # | ||
| # Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). | ||
| # See the file LICENSE.txt for details. | ||
| # | ||
|
|
||
| properties { | ||
| Write-Output "Loading assembly info properties" | ||
| # The assemblyinfo filename and location can be overridden in the settings.ps1 | ||
| # You can also override the version pattern to "\d*\.\d*\.\d*\.\d*" if you want 4 digit | ||
| $assemblyinfo = @{} | ||
| $assemblyinfo.dir = "$($source.dir)" | ||
| $assemblyinfo.version_pattern = "\d*\.\d*\.\d*.\d*" # 3 digit for semver | ||
| $assemblyinfo.file = "GlobalAssemblyInfo.cs" | ||
| $assemblyinfo.contents = @" | ||
| using System.Reflection; | ||
| using System.Runtime.CompilerServices; | ||
| using System.Runtime.InteropServices; | ||
| // General Information about an assembly is controlled through the following | ||
| // set of attributes. Change these attribute values to modify the information | ||
| // associated with an assembly. | ||
| [assembly: AssemblyCompany(`"`")] | ||
| [assembly: AssemblyProduct(`"`")] | ||
| [assembly: AssemblyCopyright(`"Copyright © 2012`")] | ||
| [assembly: AssemblyTrademark(`"`")] | ||
| [assembly: AssemblyCulture(`"`")] | ||
| [assembly: AssemblyVersion(`"1.0.0`")] | ||
| [assembly: AssemblyFileVersion(`"1.0.0`")] | ||
| "@ | ||
| } | ||
|
|
||
| Task Version-AssemblyInfo { | ||
| $file = "$($assemblyinfo.dir)\$($assemblyinfo.file)" | ||
| if(!(Test-Path($file))) { | ||
| Set-Content -Value $assemblyinfo.contents -Path $file | ||
| Write-Host -ForegroundColor Red "GlobalAssemblyInfo was not detected has has been created: $($assemblyinfo.file)" | ||
| } | ||
| $content = Get-Content $file | % { [Regex]::Replace($_, $assemblyinfo.version_pattern, $build.version) } | ||
| Set-Content -Value $content -Path $file | ||
| } |
| @@ -0,0 +1,69 @@ | ||
| #Requires -Version 2.0 | ||
|
|
||
| # | ||
| # Copyright (c) 2011, Toji Project Contributors | ||
| # | ||
| # Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). | ||
| # See the file LICENSE.txt for details. | ||
| # | ||
|
|
||
| param( | ||
| [Parameter( Position = 0, Mandatory = 0 )] | ||
| [string] $path = ((Resolve-Path "$(Split-Path -parent $MyInvocation.MyCommand.Definition)\..\").Path), | ||
| [Parameter( Position = 1, Mandatory = 0 )] | ||
| [string] $install_to = 'Packages' | ||
| ) | ||
|
|
||
| function script:BootStrap-Chewie { | ||
| if(!(test-path $pwd\.NugetFile)) { | ||
| new-item -path $pwd -name .NugetFile -itemtype file | ||
| add-content $pwd\.NugetFile "install_to '.'" | ||
| add-content $pwd\.NugetFile "chew 'psake' '4.1.0'" | ||
| } | ||
| } | ||
|
|
||
| function script:FileExistsInPath { | ||
| param ( | ||
| [Parameter(Position=0,Mandatory=$true)] | ||
| [string] $fileName = $null | ||
| ) | ||
|
|
||
| $path = Get-Childitem Env:Path | ||
| $found = $false | ||
| foreach ($folder in $path.Value.Split(";")) { if (Test-Path "$folder\$fileName") { $found = $true; break } } | ||
| return $found | ||
| } | ||
|
|
||
| function global:Resolve-NuGet { | ||
| $nuGetIsInPath = (FileExistsInPath "NuGet.exe") -or (FileExistsInPath "NuGet.bat") | ||
| $nuget = "NuGet" | ||
| if($nuGetIsInPath) { | ||
| $nuget = (@(get-command nuget) | % {$_.Definition} | ? { (Test-Path $_) } | Select-Object -First 1) | ||
| } else { | ||
| $nugets = @(Get-ChildItem "..\*" -recurse -include NuGet.exe) | ||
| if ($nugets.Length -le 0) { | ||
| Write-Output "No NuGet executables found." | ||
| return | ||
| } | ||
| $nuget = (Resolve-Path $nugets[0]).Path | ||
| $env:Path = $env:Path + ";" + (Split-Path $nuget) | ||
| } | ||
| return $nuget | ||
| } | ||
|
|
||
| Push-Location $path | ||
| try { | ||
| Write-Output "Loading Nuget Dependencies" | ||
| $nuget = Resolve-NuGet | ||
| BootStrap-Chewie | ||
| Write-Output "Nuget = $nuget" | ||
| if(Test-Path ".NugetFile") { | ||
| Write-Output "Loading chewie" | ||
| Import-Module "$pwd\chewie.psm1" | ||
| Write-Output "Running chewie" | ||
| Invoke-Chewie | ||
| } else { | ||
| $package_files = Get-ChildItem . -recurse -include packages.config | ||
| $package_files | % { & $nuget i $_ -OutputDirectory $install_to } | ||
| } | ||
| } finally { Pop-Location } |
| @@ -0,0 +1,62 @@ | ||
| # | ||
| # Copyright (c) 2011-2012, Toji Project Contributors | ||
| # | ||
| # Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). | ||
| # See the file LICENSE.txt for details. | ||
| # | ||
|
|
||
| # The global settings are provided in the settings.ps1 file. If you | ||
| # want to override anything in it, you can use the overrides.ps1 to | ||
| # replace any property value used in any indcluded file. Remember that | ||
| # values provided on the command line will override all of these files below. | ||
| Include settings.ps1 | ||
| #Include xunit.ps1 | ||
| Include nunit.ps1 | ||
| Include nuget.ps1 | ||
| Include msbuild.ps1 | ||
| Include assemblyinfo.ps1 | ||
| Include overrides.ps1 | ||
| #Include git.ps1 | ||
|
|
||
| properties { | ||
| Write-Output "Loading build properties" | ||
| # Do not put any code in here. This method is invoked before all others | ||
| # and will not have access to any of your shared properties. | ||
| } | ||
|
|
||
| Task Default -depends Initialize, Compile, Test, Package | ||
| Task Release -depends Default | ||
| Task Deploy -depends Publish | ||
|
|
||
| Task Test { | ||
| $test_dlls = gci "$($build.dir)\*.Tests.dll" | ||
| Invoke-TestRunner $test_dlls | ||
| } | ||
|
|
||
| Task IntegrationTest -Depends Test { | ||
| $test_dlls = gci "$($build.dir)\*.IntegrationTests.dll" | ||
| Invoke-TestRunner $test_dlls | ||
| } | ||
|
|
||
| Task Initialize -Depends Clean, Bootstrap-NuGetPackages { | ||
| New-Item $release.dir -ItemType Directory | Out-Null | ||
| New-Item $build.dir -ItemType Directory | Out-Null | ||
| } | ||
|
|
||
| Task Compile -Depends Version-AssemblyInfo, Initialize, Invoke-MsBuild | ||
|
|
||
| Task Clean { | ||
| Remove-Item -Force -Recurse $build.dir -ErrorAction SilentlyContinue | Out-Null | ||
| Remove-Item -Force -Recurse $release.dir -ErrorAction SilentlyContinue | Out-Null | ||
| } | ||
|
|
||
| Task Publish -Depends Package { | ||
| Publish-NuGetPackage | ||
| } | ||
|
|
||
| Task Package -Depends Create-NuGetPackage { | ||
| } | ||
|
|
||
| Task ? -Description "Helper to display task info" { | ||
| Write-Documentation | ||
| } |
| @@ -0,0 +1,107 @@ | ||
| # | ||
| # Copyright (c) 2011-2012, Chewie Project Contributors | ||
| # | ||
|
|
||
| $default_source = "" | ||
| $version_packages = $false | ||
|
|
||
| function version_packages | ||
| { | ||
| $script:version_packages = $true | ||
| } | ||
|
|
||
| function source | ||
| { | ||
| param( | ||
| [Parameter(Position=0,Mandatory=$true)] | ||
| [string] $source = $null | ||
| ) | ||
|
|
||
| $script:default_source = $source | ||
| } | ||
|
|
||
| function script:FileExistsInPath | ||
| { | ||
| param ( | ||
| [Parameter(Position=0,Mandatory=$true)] | ||
| [string] $fileName = $null | ||
| ) | ||
|
|
||
| $path = Get-Childitem Env:Path | ||
| $found = $false | ||
| foreach ($folder in $path.Value.Split(";")) { if (Test-Path "$folder\$fileName") { $found = $true; break } } | ||
| Write-Output $found | ||
| } | ||
|
|
||
| function install_to | ||
| { | ||
| param( | ||
| [Parameter(Position=0,Mandatory=$true)] | ||
| [string] $path = $null | ||
| ) | ||
|
|
||
| if(!(test-path $path)) | ||
| { | ||
| if([System.IO.Path]::IsPathRooted($path)) | ||
| { | ||
| $drive_letter = [System.IO.Path]::GetPathRoot($path) | ||
| $directory_name = $path.Replace($drive_letter, "") | ||
| new-item -path $drive_letter -name $directory_name -itemtype directory | ||
| } | ||
| else | ||
| { | ||
| new-item -path . -name $path -itemtype directory | ||
| } | ||
| } | ||
|
|
||
| push-location $path -stackname 'chewie_nuget' | ||
| } | ||
|
|
||
| function chew | ||
| { | ||
| [CmdletBinding()] | ||
| param ( | ||
| [Parameter(Position=0,Mandatory=$true)] | ||
| [string] $name = $null, | ||
|
|
||
| [Parameter(Position=1,Mandatory=$false)] | ||
| [alias("v")] | ||
| [string] $version = "", | ||
|
|
||
| [Parameter(Position=2,Mandatory=$false)] | ||
| [alias("s")] | ||
| [string] $source = "" | ||
| ) | ||
|
|
||
| $nuGetIsInPath = (FileExistsInPath "NuGet.exe") -or (FileExistsInPath "NuGet.bat") | ||
| $command = "" | ||
| if($nuGetIsInPath) | ||
| { | ||
| $command += "NuGet install" | ||
| if($script:version_packages -ne $true){$command += " -x"} | ||
|
|
||
| } else { $command += "install-package" } | ||
| $command += " $name" | ||
|
|
||
| if($version -ne "") { $command += " -v $version" } | ||
| if($source -eq "" -and $script:default_source -ne "") { $source = $script:default_source } | ||
| if($source -ne "") { $command += " -s $source" } | ||
|
|
||
| invoke-expression $command | ||
| } | ||
|
|
||
| function Invoke-Chewie | ||
| { | ||
| gc $pwd\.NugetFile | Foreach-Object { $block = [scriptblock]::Create($_.ToString()); % $block; } | ||
| if((get-location -stackname 'chewie_nuget').count -gt 0) { pop-location -stackname 'chewie_nuget' } | ||
| } | ||
|
|
||
| function Initialize-Chewie | ||
| { | ||
| if(!(test-path $pwd\.NugetFile)) | ||
| { | ||
| new-item -path $pwd -name .NugetFile -itemtype file | ||
| add-content $pwd\.NugetFile "install_to 'lib'" | ||
| add-content $pwd\.NugetFile "chew 'machine.specifications'" | ||
| } | ||
| } |
| @@ -0,0 +1,28 @@ | ||
| # | ||
| # Copyright (c) 2012, Toji Project Contributors | ||
| # | ||
| # Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). | ||
| # See the file LICENSE.txt for details. | ||
| # | ||
|
|
||
| properties { | ||
| Write-Output "Loading git properties" | ||
| $git = @{} | ||
| $git.file = @(Get-Command git)[0] | ||
| } | ||
|
|
||
| function Invoke-Git { | ||
| param( | ||
| [Parameter(Position=0,Mandatory=0)] | ||
| [string[]]$args = @() | ||
| ) | ||
| if ($args.Length -le 0) { | ||
| Write-Output "No git arguments defined" | ||
| return | ||
| } | ||
| & $git.file $args | ||
| } | ||
|
|
||
| function Get-GitRevision { | ||
| ([regex]"-\d{1,5}-").Match((Invoke-Git describe)).Value.Trim('-') | ||
| } |
| @@ -0,0 +1,24 @@ | ||
| # | ||
| # Copyright (c) 2011-2012, Toji Project Contributors | ||
| # | ||
| # Dual-licensed under the Apache License, Version 2.0, and the Microsoft Public License (Ms-PL). | ||
| # See the file LICENSE.txt for details. | ||
| # | ||
|
|
||
| properties { | ||
| Write-Output "Loading MSBuild properties" | ||
| $msbuild = @{} | ||
| $msbuild.logfilename = "MSBuildOutput.txt" | ||
| $msbuild.logfilepath = $build.dir | ||
| $msbuild.max_cpu_count = [System.Environment]::ProcessorCount | ||
| $msbuild.build_in_parralel = $true | ||
| $msbuild.logger = "FileLogger,Microsoft.Build.Engine" | ||
| $msbuild.platform = "Any CPU" | ||
| } | ||
|
|
||
| Task Invoke-MsBuild { | ||
| $command = "msbuild /m:$($msbuild.max_cpu_count) /p:BuildInParralel=$($msbuild.build_in_parralel) `"/logger:$($msbuild.logger);logfile=$($msbuild.logfilepath)\$($msbuild.logfilename)`" /p:Configuration=`"$($build.configuration)`" /p:Platform=`"$($msbuild.platform)`" /p:OutDir=`"$($build.dir)`"\\ `"$($solution.file)`"" | ||
| $message = "Error executing command: {0}" | ||
| $errorMessage = $message -f $command | ||
| exec { msbuild /m:"$($msbuild.max_cpu_count)" "/p:BuildInParralel=$($msbuild.build_in_parralel)" "/logger:$($msbuild.logger);logfile=$($msbuild.logfilepath)\$($msbuild.logfilename)" /p:Configuration="$($build.configuration)" /p:Platform="$($msbuild.platform)" /p:OutDir="$($build.dir)"\\ "$($solution.file)" } $errorMessage | ||
| } |