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.
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