Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Inital nuget task addition to the rake build. Generates .nupkg and .s…

…ymbols.nupkg
  • Loading branch information...
commit 6abc5e59b834758f402e483d7ca0e50eeea0acf7 1 parent 48c8a9a
@andypike andypike authored
View
7 how_to_build.txt
@@ -15,7 +15,7 @@ Prerequisites
gem install albacore
-If you have already installed albacore, please update to the lastest version (0.2.2+):
+If you have already installed albacore, please update to the lastest version (0.2.6+):
gem update albacore
@@ -36,9 +36,14 @@ To run a particular task ('test' for example), use the following command:
rake test
+You can run multiple tasks by listing them ('test' then 'nuget' for example):
+
+ rake test nuget
+
After the build has completed, there will be a new folder in the root called "build". It contains the following folders:
* binaries -> All the Nancy assembilies and their dependencies
* packages -> Zip file containing the binaries (other configurations might be added in the future)
+* nuget -> NuGet packages generated from this build
* documentation -> Generated documentation (todo)
* coverage -> Test coverage reports (todo)
View
29 rakefile.rb
@@ -74,14 +74,34 @@
zip.output_path = "#{OUTPUT}/packages"
end
+desc "Generates NuGet packages for each project that contains a nuspec"
+task :nuget => [:publish] do
+ Dir.mkdir("#{OUTPUT}/nuget")
+ nuspecs = FileList["src/**/*.nuspec"]
+ root = File.dirname(__FILE__)
+
+ # TODO: Update the nuspecs with common values (version, summary, authors etc)
+
+
+ # Generate the NuGet packages
+ nuspecs.each do |nuspec|
+ puts "Processing nuspec #{nuspec}"
+
+ nuget = NuGetPack.new
+ nuget.command = "tools/nuget/nuget.exe"
+ nuget.nuspec = root + '/' + nuspec
+ nuget.output = "#{OUTPUT}/nuget"
+ nuget.parameters = "-Symbols", "-BasePath #{root}" #using base_folder throws as there are two options that begin with b in nuget 1.4
+ nuget.execute
+ end
+end
#TODO:
#-----
-# 6. TeamCity integration
-# 7. Documentation (docu?) - Started, seems to have trouble with .NET 4 assembilies. Needs investigation.
+# 7. Documentation (docu?) - Started, seems to have trouble with .NET 4 assembilies. Needs investigation and probably new build of docu for .NET 4.
# 8. Test coverage report (NCover?)
-# 9. NuGet task (waiting for albacore pull)
+# 9. NuGet tasks
# 10. Git info into shared assemby info (see fubumvc sample, also psake sample in mefcontrib)
#DONE:
@@ -90,4 +110,5 @@
# 2. Fix test tasks - DONE
# 3. Set task dependencies - DONE
# 4. Zip binaries with docs (named with version number) - DONE
-# 5. Create a how to build file - DONE
+# 5. Create a how to build file - DONE
+# 6. TeamCity integration - DONE
View
23 src/Nancy.Authentication.Forms/nancy.authentication.forms.nuspec
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Authentication.Forms</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>A forms authentication provider for Nancy.</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ </dependencies>
+ <tags>Nancy Authentication</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Authentication.Forms.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Authentication.Forms.pdb" target="lib\net40" />
+ <file src="src\Nancy.Authentication.Forms\**\*.cs" target="src" />
+ </files>
+</package>
View
23 src/Nancy.Hosting.Aspnet/nancy.hosting.aspnet.nuspec
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Hosting.Aspnet</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables hosting Nancy on ASP.NET</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ </dependencies>
+ <tags>Nancy ASP.NET</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Hosting.Aspnet.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Hosting.Aspnet.pdb" target="lib\net40" />
+ <file src="src\Nancy.Hosting.Aspnet\**\*.cs" target="src" />
+ </files>
+</package>
View
24 src/Nancy.Hosting.Self/nancy.hosting.self.nuspec
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Hosting.Self</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables hosting Nancy in any application.</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ </dependencies>
+ <tags>Nancy</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Hosting.Self.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Hosting.Self.pdb" target="lib\net40" />
+ <file src="src\Nancy.Hosting.Self\**\*.cs" target="src" />
+ <file src="src\Nancy.Hosting.Wcf\FileSystemRootPathProvider.cs" target="src" />
+ </files>
+</package>
View
23 src/Nancy.Hosting.Wcf/nancy.hosting.wcf.nuspec
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Hosting.Wcf</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables hosting Nancy on WCF.</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ </dependencies>
+ <tags>Nancy WCF</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Hosting.Wcf.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Hosting.Wcf.pdb" target="lib\net40" />
+ <file src="src\Nancy.Hosting.Wcf\**\*.cs" target="src" />
+ </files>
+</package>
View
26 src/Nancy.Testing/nancy.testing.nuspec
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Testing</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Test harness for Nancy applications.</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ <dependency id="xunit" version="1.7.0.1540" />
+ </dependencies>
+ <tags>Nancy Testing</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Testing.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Testing.pdb" target="lib\net40" />
+ <file src="build\binaries\HtmlAgilityPack.dll" target="lib\net40" />
+ <file src="build\binaries\HtmlAgilityPlus.dll" target="lib\net40" />
+ <file src="src\Nancy.Testing\**\*.cs" target="src" />
+ </files>
+</package>
View
24 src/Nancy.ViewEngines.DotLiquid/nancy.viewengines.dotliquid.nuspec
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Viewengines.DotLiquid</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables using the DotLiquid view engine with nancy</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ <dependency id="DotLiquid" version="[1.5.4.0]" />
+ </dependencies>
+ <tags>Nancy Viewengine Spark</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Viewengines.DotLiquid.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Viewengines.DotLiquid.pdb" target="lib\net40" />
+ <file src="src\Nancy.Viewengines.DotLiquid\**\*.cs" target="src" />
+ </files>
+</package>
View
26 src/Nancy.ViewEngines.NDjango/nancy.viewengines.ndjango.nuspec
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Viewengines.NDjango</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables using the NDjango view engine with nancy</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ <dependency id="ndjango" version="[0.9.9.0]" />
+ </dependencies>
+ <tags>Nancy Viewengine NDjango</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Viewengines.NDjango.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Viewengines.NDjango.pdb" target="lib\net40" />
+ <file src="build\binaries\FSharp.PowerPack.Compatibility.dll" target="lib\net40" />
+ <file src="build\binaries\FSharp.PowerPack.dll" target="lib\net40" />
+ <file src="src\Nancy.Viewengines.NDjango\**\*.cs" target="src" />
+ </files>
+</package>
View
24 src/Nancy.ViewEngines.Razor/nancy.viewengines.razor.nuspec
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Viewengines.Razor</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables using the Razor view engine with nancy</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ </dependencies>
+ <tags>Nancy Viewengine Razor</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Viewengines.Razor.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Viewengines.Razor.pdb" target="lib\net40" />
+ <file src="build\binaries\System.Web.Razor.dll" target="lib\net40" />
+ <file src="src\Nancy.Viewengines.Razor\**\*.cs" target="src" />
+ </files>
+</package>
View
24 src/Nancy.ViewEngines.Spark/nancy.viewengines.spark.nuspec
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy.Viewengines.Spark</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Enables using the Spark view engine with nancy</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <dependencies>
+ <dependency id="Nancy" version="[0.6.0]" />
+ <dependency id="Spark" version="[1.5.1]" />
+ </dependencies>
+ <tags>Nancy Viewengine Spark</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.Viewengines.Spark.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.Viewengines.Spark.pdb" target="lib\net40" />
+ <file src="src\Nancy.Viewengines.Spark\**\*.cs" target="src" />
+ </files>
+</package>
View
20 src/Nancy/nancy.nuspec
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+ <id>Nancy</id>
+ <version>0.6.0</version>
+ <authors>Andreas Håkansson, Steven Robbins and contributors</authors>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</description>
+ <summary>Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Nancy aim at delivering a low ceremony approach to building light, fast web applications.</summary>
+ <language>en-US</language>
+ <licenseUrl>https://github.com/thecodejunkie/Nancy/blob/master/license.txt</licenseUrl>
+ <projectUrl>http://nancyfx.org</projectUrl>
+ <tags>Nancy</tags>
+ </metadata>
+ <files>
+ <file src="build\binaries\Nancy.dll" target="lib\net40" />
+ <file src="build\binaries\Nancy.pdb" target="lib\net40" />
+ <file src="src\Nancy\**\*.cs" target="src" />
+ </files>
+</package>
View
2  src/SharedAssemblyInfo.cs
@@ -1,9 +1,9 @@
using System.Reflection;
using System.Runtime.InteropServices;
-
[assembly: AssemblyTitle("Nancy")]
[assembly: AssemblyDescription("A Sinatra inspired web framework for the .NET platform")]
[assembly: AssemblyCompany("Nancy")]
[assembly: AssemblyProduct("Nancy")]
[assembly: AssemblyCopyright("Copyright (C) Andreas Hakansson, Steven Robbins and contributors")]
[assembly: AssemblyVersion("0.6.0")]
+
View
BIN  tools/nuget/NuGet.exe
Binary file not shown
Please sign in to comment.
Something went wrong with that request. Please try again.