diff --git a/.gitignore b/.gitignore index 5363723..7eb15de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,11 @@ -build/ -*.suo -*.user -bin -obj -_ReSharper* -*.csproj.user -*.resharper.user -*.suo -*.cache +build/ +*.suo +*.user +bin +obj +_ReSharper* +*.csproj.user +*.resharper.user +*.suo +*.cache TestResult.xml \ No newline at end of file diff --git a/License.html b/License.html index 8a59dc1..3a1f9a1 100644 --- a/License.html +++ b/License.html @@ -1,42 +1,42 @@ - - - -Microsoft Public License (Ms-PL) - - - -

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.

- -

The software is governed by the Microsoft Public License, the terms of which -are below; except for the Ruby Standard libraries which are governed by the -Ruby license. We have included a copy of the Ruby license in the same -directory as this file

- -

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.

- - - - + + + +Microsoft Public License (Ms-PL) + + + +

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.

+ +

The software is governed by the Microsoft Public License, the terms of which +are below; except for the Ruby Standard libraries which are governed by the +Ruby license. We have included a copy of the Ruby license in the same +directory as this file

+ +

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.

+ + + + diff --git a/Phantom.5.1.ReSharper b/Phantom.5.1.ReSharper index b89801e..a934812 100644 --- a/Phantom.5.1.ReSharper +++ b/Phantom.5.1.ReSharper @@ -1,94 +1,94 @@ - - - - - SOLUTION - - - END_OF_LINE - END_OF_LINE - False - END_OF_LINE - END_OF_LINE - - public - protected - internal - private - new - abstract - virtual - override - sealed - static - readonly - extern - unsafe - volatile - - END_OF_LINE - False - END_OF_LINE - False - - - True - - - $object$_On$event$ - $event$Handler - - - - - False - - - - $object$_On$event$ - $event$Handler - - - - - - - - - - - - - - - $object$_On$event$ - $event$Handler - - - - - - - - - - - - - - - - - - + + + + + SOLUTION + + + END_OF_LINE + END_OF_LINE + False + END_OF_LINE + END_OF_LINE + + public + protected + internal + private + new + abstract + virtual + override + sealed + static + readonly + extern + unsafe + volatile + + END_OF_LINE + False + END_OF_LINE + False + + + True + + + $object$_On$event$ + $event$Handler + + + + + False + + + + $object$_On$event$ + $event$Handler + + + + + + + + + + + + + + + $object$_On$event$ + $event$Handler + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Phantom.sln b/Phantom.sln index 81e9922..52c7440 100644 --- a/Phantom.sln +++ b/Phantom.sln @@ -1,52 +1,52 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1DFF0B8D-CE57-4735-8A17-B2AE90C4B815}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom", "src\Phantom\Phantom.csproj", "{8080E03B-6DDD-4CF0-A473-355AECC0E8B0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Core", "src\Phantom.Core\Phantom.Core.csproj", "{C15890B0-E874-48EE-97F4-9DD24C29355C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Tests", "src\Phantom.Tests\Phantom.Tests.csproj", "{CB76593A-F33E-4135-9523-640F16263C54}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Integration.NAnt", "src\Phantom.Integration.NAnt\Phantom.Integration.NAnt.csproj", "{D0E25430-96C2-43ED-BD57-A3A82B4DA18D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.DSL.Boo", "src\Phantom.DSL.Boo\Phantom.DSL.Boo.csproj", "{6AB25369-2470-4A51-82F7-A86DF1CA4E69}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.DSL.CSharp", "src\Phantom.DSL.CSharp\Phantom.DSL.CSharp.csproj", "{50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Release|Any CPU.Build.0 = Release|Any CPU - {C15890B0-E874-48EE-97F4-9DD24C29355C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C15890B0-E874-48EE-97F4-9DD24C29355C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C15890B0-E874-48EE-97F4-9DD24C29355C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C15890B0-E874-48EE-97F4-9DD24C29355C}.Release|Any CPU.Build.0 = Release|Any CPU - {CB76593A-F33E-4135-9523-640F16263C54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CB76593A-F33E-4135-9523-640F16263C54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CB76593A-F33E-4135-9523-640F16263C54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CB76593A-F33E-4135-9523-640F16263C54}.Release|Any CPU.Build.0 = Release|Any CPU - {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Release|Any CPU.Build.0 = Release|Any CPU - {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Release|Any CPU.Build.0 = Release|Any CPU - {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1DFF0B8D-CE57-4735-8A17-B2AE90C4B815}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom", "src\Phantom\Phantom.csproj", "{8080E03B-6DDD-4CF0-A473-355AECC0E8B0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Core", "src\Phantom.Core\Phantom.Core.csproj", "{C15890B0-E874-48EE-97F4-9DD24C29355C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Tests", "src\Phantom.Tests\Phantom.Tests.csproj", "{CB76593A-F33E-4135-9523-640F16263C54}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.Integration.NAnt", "src\Phantom.Integration.NAnt\Phantom.Integration.NAnt.csproj", "{D0E25430-96C2-43ED-BD57-A3A82B4DA18D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.DSL.Boo", "src\Phantom.DSL.Boo\Phantom.DSL.Boo.csproj", "{6AB25369-2470-4A51-82F7-A86DF1CA4E69}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Phantom.DSL.CSharp", "src\Phantom.DSL.CSharp\Phantom.DSL.CSharp.csproj", "{50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8080E03B-6DDD-4CF0-A473-355AECC0E8B0}.Release|Any CPU.Build.0 = Release|Any CPU + {C15890B0-E874-48EE-97F4-9DD24C29355C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C15890B0-E874-48EE-97F4-9DD24C29355C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C15890B0-E874-48EE-97F4-9DD24C29355C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C15890B0-E874-48EE-97F4-9DD24C29355C}.Release|Any CPU.Build.0 = Release|Any CPU + {CB76593A-F33E-4135-9523-640F16263C54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CB76593A-F33E-4135-9523-640F16263C54}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CB76593A-F33E-4135-9523-640F16263C54}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CB76593A-F33E-4135-9523-640F16263C54}.Release|Any CPU.Build.0 = Release|Any CPU + {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0E25430-96C2-43ED-BD57-A3A82B4DA18D}.Release|Any CPU.Build.0 = Release|Any CPU + {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6AB25369-2470-4A51-82F7-A86DF1CA4E69}.Release|Any CPU.Build.0 = Release|Any CPU + {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {50A50F8B-CB53-4C6D-9939-C7C4A89E03D3}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/build.bat b/build.bat index 90cf818..7544d97 100644 --- a/build.bat +++ b/build.bat @@ -1,2 +1,2 @@ -@echo off +@echo off lib\phantom\phantom.exe %* \ No newline at end of file diff --git a/build.boo b/build.boo index d6a328c..18698f9 100644 --- a/build.boo +++ b/build.boo @@ -1,66 +1,66 @@ -solution_file = "Phantom.sln" -configuration = "release" -test_assemblies = "src/Phantom.Tests/bin/${configuration}/Phantom.Tests.dll" - -target default, (init, compile, test, deploy, package): - pass - -target ci, (init, compile, coverage, deploy, package): - pass - -target init: - rmdir("build") - -desc "Compiles the solution" -target compile: - msbuild(file: solution_file, configuration: configuration) - -desc "Executes tests" -target test: - nunit(assembly: test_assemblies, enableTeamCity: true) - -desc "Copies the binaries to the 'build' directory" -target deploy: - print "Copying to build dir" - - with FileList("src/Phantom/bin/${configuration}"): - .Include("*.{dll,exe}") - .ForEach def(file): - file.CopyToDirectory("build/${configuration}/Phantom") - - with FileList(): - .Include("License.html") - .Include("readme.txt") - .ForEach def(file): - file.CopyToDirectory("build/${configuration}") - - with FileList("src/Phantom.Integration.Nant/bin/${configuration}"): - .Include("NAnt.Core.dll") - .Include("Phantom.Integration.Nant.*") - .Include("*.txt") - .ForEach def(file): - file.CopyToDirectory("build/${configuration}/NantIntegration") - -desc "Creates zip package" -target package: - zip("build/${configuration}", 'build/Phantom.zip') - -desc "Runs code coverage with ncover (only runs on build server)" -target coverage: - ncover_path = "C:/Program Files (x86)/ncover" - app_assemblies = ("Phantom.Core",) - teamcity_launcher = env("teamcity.dotnet.nunitlauncher") - - with ncover(): - .toolPath = "${ncover_path}/NCover.console.exe" - .reportDirectory = "build/Coverage" - .workingDirectory = "src/Phantom.Tests/bin/${configuration}" - .applicationAssemblies = app_assemblies - .program = "${teamcity_launcher} v2.0 x86 NUnit-2.4.6" - .testAssembly = "Phantom.Tests.dll" - .excludeAttributes = "Phantom.Core.ExcludeFromCoverageAttribute;System.Runtime.CompilerServices.CompilerGeneratedAttribute" - - with ncover_explorer(): - .toolPath = "${ncover_path}/NCoverExplorer.console.exe" - .project = "Phantom" +solution_file = "Phantom.sln" +configuration = "release" +test_assemblies = "src/Phantom.Tests/bin/${configuration}/Phantom.Tests.dll" + +target default, (init, compile, test, deploy, package): + pass + +target ci, (init, compile, coverage, deploy, package): + pass + +target init: + rmdir("build") + +desc "Compiles the solution" +target compile: + msbuild(file: solution_file, configuration: configuration) + +desc "Executes tests" +target test: + nunit(assembly: test_assemblies, enableTeamCity: true) + +desc "Copies the binaries to the 'build' directory" +target deploy: + print "Copying to build dir" + + with FileList("src/Phantom/bin/${configuration}"): + .Include("*.{dll,exe}") + .ForEach def(file): + file.CopyToDirectory("build/${configuration}/Phantom") + + with FileList(): + .Include("License.html") + .Include("readme.txt") + .ForEach def(file): + file.CopyToDirectory("build/${configuration}") + + with FileList("src/Phantom.Integration.Nant/bin/${configuration}"): + .Include("NAnt.Core.dll") + .Include("Phantom.Integration.Nant.*") + .Include("*.txt") + .ForEach def(file): + file.CopyToDirectory("build/${configuration}/NantIntegration") + +desc "Creates zip package" +target package: + zip("build/${configuration}", 'build/Phantom.zip') + +desc "Runs code coverage with ncover (only runs on build server)" +target coverage: + ncover_path = "C:/Program Files (x86)/ncover" + app_assemblies = ("Phantom.Core",) + teamcity_launcher = env("teamcity.dotnet.nunitlauncher") + + with ncover(): + .toolPath = "${ncover_path}/NCover.console.exe" + .reportDirectory = "build/Coverage" + .workingDirectory = "src/Phantom.Tests/bin/${configuration}" + .applicationAssemblies = app_assemblies + .program = "${teamcity_launcher} v2.0 x86 NUnit-2.4.6" + .testAssembly = "Phantom.Tests.dll" + .excludeAttributes = "Phantom.Core.ExcludeFromCoverageAttribute;System.Runtime.CompilerServices.CompilerGeneratedAttribute" + + with ncover_explorer(): + .toolPath = "${ncover_path}/NCoverExplorer.console.exe" + .project = "Phantom" .reportDirectory = "build/Coverage" \ No newline at end of file diff --git a/build_debug.bat b/build_debug.bat index 210d848..d145fce 100644 --- a/build_debug.bat +++ b/build_debug.bat @@ -1,3 +1,3 @@ -@echo off -%windir%\microsoft.net\framework\v4.0.30319\msbuild Phantom.sln /v:minimal +@echo off +%windir%\microsoft.net\framework\v4.0.30319\msbuild Phantom.sln /v:minimal src\phantom\bin\debug\phantom.exe %* \ No newline at end of file diff --git a/readme.txt b/readme.txt index 8cdd695..280ae98 100644 --- a/readme.txt +++ b/readme.txt @@ -1,48 +1,48 @@ -Phantom is a .NET build system written in C# and Boo. - -For discussion, please use the mailing list: -http://groups.google.com/group/phantom-discuss - -For complete documentation see the Phantom wiki: -http://wiki.github.com/JeremySkinner/Phantom - -Posts about Phantom can be found on my blog: -http://www.jeremyskinner.co.uk - -This project is licensed under the Microsoft Public License. -http://www.microsoft.com/opensource/licenses.mspx - -Example: - -desc "Compiles the solution" -target compile: - msbuild(file: "MySolution.sln", configuration: "release") - -desc "Executes tests" -target test: - nunit(assembly: "path/to/TestAssembly.dll") - -desc "Copies the binaries to the 'build' directory" -target deploy: - rmdir('build') - - with FileList("src/MyApp/bin/release"): - .Include("*.{dll,exe}") - .ForEach def(file): - file.CopyToDirectory("build") - -desc "Creates zip package" -target package: - zip("build", 'build/MyApp.zip') - - ----------------- -Acknowledgements ----------------- -Many thanks to the following for their contributions to this project: - -- Andrey Shchekin (http://www.ashmind.com) -- Ben Scheirman (http://flux88.com/) -- Emil Cardell (http://www.unwillingcoder.com) -- Mark Embling (http://www.markembling.info) +Phantom is a .NET build system written in C# and Boo. + +For discussion, please use the mailing list: +http://groups.google.com/group/phantom-discuss + +For complete documentation see the Phantom wiki: +http://wiki.github.com/JeremySkinner/Phantom + +Posts about Phantom can be found on my blog: +http://www.jeremyskinner.co.uk + +This project is licensed under the Microsoft Public License. +http://www.microsoft.com/opensource/licenses.mspx + +Example: + +desc "Compiles the solution" +target compile: + msbuild(file: "MySolution.sln", configuration: "release") + +desc "Executes tests" +target test: + nunit(assembly: "path/to/TestAssembly.dll") + +desc "Copies the binaries to the 'build' directory" +target deploy: + rmdir('build') + + with FileList("src/MyApp/bin/release"): + .Include("*.{dll,exe}") + .ForEach def(file): + file.CopyToDirectory("build") + +desc "Creates zip package" +target package: + zip("build", 'build/MyApp.zip') + + +---------------- +Acknowledgements +---------------- +Many thanks to the following for their contributions to this project: + +- Andrey Shchekin (http://www.ashmind.com) +- Ben Scheirman (http://flux88.com/) +- Emil Cardell (http://www.unwillingcoder.com) +- Mark Embling (http://www.markembling.info) - Mikael Henrixon (http://blog.zoolutions.se) \ No newline at end of file diff --git a/src/Phantom/Phantom.csproj b/src/Phantom/Phantom.csproj index c7d4b88..46f1abe 100644 --- a/src/Phantom/Phantom.csproj +++ b/src/Phantom/Phantom.csproj @@ -1,123 +1,123 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {8080E03B-6DDD-4CF0-A473-355AECC0E8B0} - Exe - Properties - Phantom - Phantom - v4.0 - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - AllRules.ruleset - - - - False - ..\..\lib\boo\Boo.Lang.Useful.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - CommonAssemblyInfo.cs - - - - - - {C15890B0-E874-48EE-97F4-9DD24C29355C} - Phantom.Core - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {8080E03B-6DDD-4CF0-A473-355AECC0E8B0} + Exe + Properties + Phantom + Phantom + v4.0 + 512 + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + AllRules.ruleset + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + AllRules.ruleset + + + + False + ..\..\lib\boo\Boo.Lang.Useful.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + CommonAssemblyInfo.cs + + + + + + {C15890B0-E874-48EE-97F4-9DD24C29355C} + Phantom.Core + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Phantom/Program.cs b/src/Phantom/Program.cs index b4a42c2..1bdbf23 100644 --- a/src/Phantom/Program.cs +++ b/src/Phantom/Program.cs @@ -1,81 +1,81 @@ -#region License - -// Copyright Jeremy Skinner (http://www.jeremyskinner.co.uk) and Contributors -// -// Licensed under the Microsoft Public License. You may -// obtain a copy of the license at: -// -// http://www.microsoft.com/opensource/licenses.mspx -// -// By using this source code in any fashion, you are agreeing -// to be bound by the terms of the Microsoft Public License. -// -// You must not remove this notice, or any other, from this software. - -#endregion - -namespace Phantom { - using System; - using System.Linq; - using Boo.Lang.Useful.CommandLine; - using Core; - - internal class Program { - static void Main(string[] args) { - var program = new Program(); - program.Execute(args); - } - - void Execute(string[] args) { - try { - WriteHeader(); - - var options = new PhantomOptions(); - - try { - options.Parse(args); - } - catch (CommandLineException exception) { - Console.WriteLine(exception.Message); - options.PrintHelp(); - return; - } - - if (options.Help) { - options.PrintHelp(); - return; - } - - var runner = BuildRunner.Create(); - - if (options.ShowTargets) { - runner.OutputTargets(options); - return; - } - - PrintSelectedTargets(options); - runner.Execute(options); - } - catch (Exception exception) { - Environment.ExitCode = 1; - Console.WriteLine(exception); - } - } - - void PrintSelectedTargets(PhantomOptions options) { - string targets = string.Join(", ", options.TargetNames.ToArray()); - Console.WriteLine("Targets specified: {0}", targets); - Console.WriteLine(); - Console.WriteLine(); - } - - void WriteHeader() { - string version = typeof (Program).Assembly.GetName().Version.ToString(); - Console.WriteLine("Phantom v{0}", version); - Console.WriteLine(string.Format("Copyright (c) 2009-{0} Jeremy Skinner and Contributors", DateTime.Today.Year)); - Console.WriteLine("http://github.com/JeremySkinner/Phantom"); - Console.WriteLine(); - Console.WriteLine(); - } - } +#region License + +// Copyright Jeremy Skinner (http://www.jeremyskinner.co.uk) and Contributors +// +// Licensed under the Microsoft Public License. You may +// obtain a copy of the license at: +// +// http://www.microsoft.com/opensource/licenses.mspx +// +// By using this source code in any fashion, you are agreeing +// to be bound by the terms of the Microsoft Public License. +// +// You must not remove this notice, or any other, from this software. + +#endregion + +namespace Phantom { + using System; + using System.Linq; + using Boo.Lang.Useful.CommandLine; + using Core; + + internal class Program { + static void Main(string[] args) { + var program = new Program(); + program.Execute(args); + } + + void Execute(string[] args) { + try { + WriteHeader(); + + var options = new PhantomOptions(); + + try { + options.Parse(args); + } + catch (CommandLineException exception) { + Console.WriteLine(exception.Message); + options.PrintHelp(); + return; + } + + if (options.Help) { + options.PrintHelp(); + return; + } + + var runner = BuildRunner.Create(); + + if (options.ShowTargets) { + runner.OutputTargets(options); + return; + } + + PrintSelectedTargets(options); + runner.Execute(options); + } + catch (Exception exception) { + Environment.ExitCode = 1; + Console.WriteLine(exception); + } + } + + void PrintSelectedTargets(PhantomOptions options) { + string targets = string.Join(", ", options.TargetNames.ToArray()); + Console.WriteLine("Targets specified: {0}", targets); + Console.WriteLine(); + Console.WriteLine(); + } + + void WriteHeader() { + string version = typeof (Program).Assembly.GetName().Version.ToString(); + Console.WriteLine("Phantom v{0}", version); + Console.WriteLine(string.Format("Copyright (c) 2009-{0} Jeremy Skinner and Contributors", DateTime.Today.Year)); + Console.WriteLine("http://github.com/JeremySkinner/Phantom"); + Console.WriteLine(); + Console.WriteLine(); + } + } } \ No newline at end of file