diff --git a/fubuTemplate/fubuDependencies.txt b/fubuTemplate/fubuDependencies.txt
deleted file mode 100644
index 9983f717cd..0000000000
--- a/fubuTemplate/fubuDependencies.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Bottles.dll
-FubuCore.dll
-FubuMVC.Core.dll
-FubuMVC.Spark.dll
-FubuMVC.StructureMap.dll
-HtmlTags.dll
-Ionic.Zip.dll
-Microsoft.Practices.ServiceLocation.dll
-Spark.dll
-StructureMap.dll
diff --git a/fubuTemplate/packages.config b/fubuTemplate/packages.config
deleted file mode 100644
index bddfed5e3c..0000000000
--- a/fubuTemplate/packages.config
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Controllers/Home/HomeController.cs b/fubuTemplate/src/FUBUPROJECTNAME/Controllers/Home/HomeController.cs
deleted file mode 100644
index 6c6a58d80c..0000000000
--- a/fubuTemplate/src/FUBUPROJECTNAME/Controllers/Home/HomeController.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using FUBUPROJECTNAME.Models.View;
-
-namespace FUBUPROJECTNAME.Controllers.Home
-{
- public class HomeController
- {
- public WelcomeViewModel Welcome()
- {
- return new WelcomeViewModel();
- }
- }
-}
\ No newline at end of file
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMEHtmlConventions.cs b/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMEHtmlConventions.cs
deleted file mode 100644
index bf915db898..0000000000
--- a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMEHtmlConventions.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using FubuMVC.Core.UI;
-
-namespace FUBUPROJECTNAME
-{
- public class FUBUPROJECTSHORTNAMEHtmlConventions:HtmlConventionRegistry
- {
- public FUBUPROJECTSHORTNAMEHtmlConventions()
- {
- //Add Html Conventions Here
- }
- }
-}
\ No newline at end of file
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Models/View/WelcomeViewModel.cs b/fubuTemplate/src/FUBUPROJECTNAME/Models/View/WelcomeViewModel.cs
deleted file mode 100644
index 53dff9c0a0..0000000000
--- a/fubuTemplate/src/FUBUPROJECTNAME/Models/View/WelcomeViewModel.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace FUBUPROJECTNAME.Models.View
-{
- public class WelcomeViewModel
- {
-
- }
-}
\ No newline at end of file
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Views/Home/Welcome.spark b/fubuTemplate/src/FUBUPROJECTNAME/Views/Home/Welcome.spark
deleted file mode 100644
index 40a74c8803..0000000000
--- a/fubuTemplate/src/FUBUPROJECTNAME/Views/Home/Welcome.spark
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- Welcome to FubuMVC
-
-
- Welcome to FubuMVC
- If you see this. It works.
-
-
\ No newline at end of file
diff --git a/fubuTemplate/FUBUPROJECTNAME.sln b/fubuTemplates/default/src/FUBUPROJECTNAME.sln
similarity index 87%
rename from fubuTemplate/FUBUPROJECTNAME.sln
rename to fubuTemplates/default/src/FUBUPROJECTNAME.sln
index 2213dff576..887a80f961 100644
--- a/fubuTemplate/FUBUPROJECTNAME.sln
+++ b/fubuTemplates/default/src/FUBUPROJECTNAME.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FUBUPROJECTNAME", "src\FUBUPROJECTNAME\FUBUPROJECTNAME.csproj", "{FACEFACE-FACE-FACE-FACE-FACEFACEFACE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FUBUPROJECTNAME", "FUBUPROJECTNAME\FUBUPROJECTNAME.csproj", "{FACEFACE-FACE-FACE-FACE-FACEFACEFACE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj b/fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj
similarity index 75%
rename from fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj
rename to fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj
index 145baec04c..6cdb0611e1 100644
--- a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj
+++ b/fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTNAME.csproj
@@ -34,32 +34,32 @@
- ..\..\lib\Bottles\lib\Bottles.dll
+ ..\packages\Bottles\lib\Bottles.dll
- ..\..\lib\FubuCore\lib\FubuCore.dll
+ ..\packages\FubuCore\lib\FubuCore.dll
- ..\..\lib\FubuMVC.References\lib\FubuMVC.Core.dll
+ ..\packages\FubuMVC.References\lib\net40\FubuMVC.Core.dll
- ..\..\lib\FubuMVC.Spark\lib\net40\FubuMVC.Spark.dll
+ ..\packages\FubuMVC.Spark\lib\net40\FubuMVC.Spark.dll
- ..\..\lib\FubuMVC.References\lib\FubuMVC.StructureMap.dll
+ ..\packages\FubuMVC.References\lib\net40\FubuMVC.StructureMap.dll
- ..\..\lib\HtmlTags\lib\4.0\HtmlTags.dll
+ ..\packages\HtmlTags\lib\4.0\HtmlTags.dll
- ..\..\lib\CommonServiceLocator\lib\NET35\Microsoft.Practices.ServiceLocation.dll
+ ..\packages\CommonServiceLocator\lib\NET35\Microsoft.Practices.ServiceLocation.dll
- ..\..\lib\Spark\lib\NET40\Spark.dll
+ ..\packages\Spark\lib\NET40\Spark.dll
- ..\..\lib\structuremap\lib\StructureMap.dll
+ ..\packages\structuremap\lib\StructureMap.dll
@@ -76,25 +76,23 @@
Web.config
+
-
-
Global.asax
-
-
-
-
+
+
+
@@ -115,11 +113,6 @@
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs b/fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs
similarity index 75%
rename from fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs
rename to fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs
index b4a6a5cd29..08f3255e9e 100644
--- a/fubuTemplate/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs
+++ b/fubuTemplates/default/src/FUBUPROJECTNAME/FUBUPROJECTSHORTNAMERegistry.cs
@@ -1,6 +1,5 @@
using FubuMVC.Core;
using FubuMVC.Spark;
-using FUBUPROJECTNAME.Controllers.Home;
namespace FUBUPROJECTNAME
{
@@ -17,15 +16,12 @@ public FUBUPROJECTSHORTNAMERegistry()
.IncludeClassesSuffixedWithController();
Routes
- .HomeIs(c => c.Welcome())
.IgnoreControllerNamespaceEntirely();
-
+
this.UseSpark();
Views
.TryToAttachWithDefaultConventions();
-
- HtmlConvention();
}
}
}
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Global.asax b/fubuTemplates/default/src/FUBUPROJECTNAME/Global.asax
similarity index 100%
rename from fubuTemplate/src/FUBUPROJECTNAME/Global.asax
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Global.asax
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Global.asax.cs b/fubuTemplates/default/src/FUBUPROJECTNAME/Global.asax.cs
similarity index 91%
rename from fubuTemplate/src/FUBUPROJECTNAME/Global.asax.cs
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Global.asax.cs
index ae6e6c6797..c4ec043fef 100644
--- a/fubuTemplate/src/FUBUPROJECTNAME/Global.asax.cs
+++ b/fubuTemplates/default/src/FUBUPROJECTNAME/Global.asax.cs
@@ -1,5 +1,4 @@
using System.Web;
-using System.Web.Routing;
using Bottles;
using FubuMVC.Core;
using StructureMap;
@@ -14,7 +13,7 @@ protected void Application_Start()
FubuApplication
.For()
.StructureMap(() => new Container(SetupContainer))
- .Bootstrap(RouteTable.Routes);
+ .Bootstrap();
// If there is an error during bootstrapping, it will not automatically be considered
// fatal and there will be no YSOD. This is to help during initial debugging and
@@ -27,4 +26,4 @@ private static void SetupContainer(ConfigurationExpression x)
{
}
}
-}
\ No newline at end of file
+}
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Properties/AssemblyInfo.cs b/fubuTemplates/default/src/FUBUPROJECTNAME/Properties/AssemblyInfo.cs
similarity index 100%
rename from fubuTemplate/src/FUBUPROJECTNAME/Properties/AssemblyInfo.cs
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Properties/AssemblyInfo.cs
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Web.Debug.config b/fubuTemplates/default/src/FUBUPROJECTNAME/Web.Debug.config
similarity index 100%
rename from fubuTemplate/src/FUBUPROJECTNAME/Web.Debug.config
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Web.Debug.config
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Web.Release.config b/fubuTemplates/default/src/FUBUPROJECTNAME/Web.Release.config
similarity index 100%
rename from fubuTemplate/src/FUBUPROJECTNAME/Web.Release.config
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Web.Release.config
diff --git a/fubuTemplate/src/FUBUPROJECTNAME/Web.config b/fubuTemplates/default/src/FUBUPROJECTNAME/Web.config
similarity index 100%
rename from fubuTemplate/src/FUBUPROJECTNAME/Web.config
rename to fubuTemplates/default/src/FUBUPROJECTNAME/Web.config
diff --git a/fubuTemplates/default/src/FUBUPROJECTNAME/packages.config b/fubuTemplates/default/src/FUBUPROJECTNAME/packages.config
new file mode 100644
index 0000000000..e9c0251b34
--- /dev/null
+++ b/fubuTemplates/default/src/FUBUPROJECTNAME/packages.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fubuTemplate/fubuTemplateIgnore.txt b/fubuTemplates/fubuTemplateIgnore.txt
similarity index 62%
rename from fubuTemplate/fubuTemplateIgnore.txt
rename to fubuTemplates/fubuTemplateIgnore.txt
index 3764ad4d9d..12430b27f9 100644
--- a/fubuTemplate/fubuTemplateIgnore.txt
+++ b/fubuTemplates/fubuTemplateIgnore.txt
@@ -3,4 +3,3 @@ obj
*.suo
*ReSharper*
*.user
-FubuMVC/*.dll
diff --git a/packaging/nuget/fubumvc.references.nuspec b/packaging/nuget/fubumvc.references.nuspec
index c0fe96d532..3ec28f849a 100644
--- a/packaging/nuget/fubumvc.references.nuspec
+++ b/packaging/nuget/fubumvc.references.nuspec
@@ -30,5 +30,6 @@
+
-
\ No newline at end of file
+
diff --git a/rakefile.rb b/rakefile.rb
index 9863dfc2f9..d5a6e37c27 100644
--- a/rakefile.rb
+++ b/rakefile.rb
@@ -158,47 +158,61 @@ def self.storyteller(args)
def self.fubu(args)
fubu = Platform.runtime("src/fubu/bin/#{COMPILE_TARGET}/fubu.exe")
- sh "#{fubu} #{args}"
+ sh "#{fubu} #{args}"
end
-FUBUTEMPLATE_DIR = 'fubuTemplate'
+FUBUTEMPLATE_DIR = 'fubuTemplates'
namespace :template do
- desc "Cleans, Updates, and Zips fubuTemplate"
- task :build => ["template:clean", "template:update", "template:nugetclean", "template:zip"]
- nuget = "buildsupport/nuget.exe"
+ desc 'Cleans, Updates, and Zips Fubu templates'
+ task :build => ['template:clean', 'template:update', 'template:slimdown_nuget_pkgs', 'template:zip_all', 'template:build_artifacts_cleanup']
+ nuget = 'buildsupport/nuget.exe'
- desc "Updates and zips default FubuTemplate"
- zip :zip do |zip|
- zip.directories_to_zip = [FUBUTEMPLATE_DIR]
- zip.output_file = 'fubuTemplate.zip'
+
+ desc 'Updates and zips default Fubu templates'
+ task :zip_all do
+ # first clear out old templates
+ Dir['build/*Template.zip'].each {|zip_file| rm_rf zip_file}
+
+ Dir["#{FUBUTEMPLATE_DIR}/*/"].each do |template_dir|
+ Rake::Task['template:zip'].execute template_dir
+ end
+ end
+
+ zip :zip do |zip, subdir|
+ folder_name = File.basename subdir
+ zip.directories_to_zip = [subdir]
+ zip.output_file = "#{folder_name}Template.zip"
zip.output_path = ['build']
end
- desc "Update fubuTemplate dependencies"
+ desc 'Update Fubu templates dependencies'
task :update do
- packages_config = File.join(FUBUTEMPLATE_DIR, "/packages.config")
- dependencies_dir = File.join(FUBUTEMPLATE_DIR, 'lib')
- unless File.exists?(packages_config)
- puts "No fubuDependencies.txt file"
- return
+ Dir["#{FUBUTEMPLATE_DIR}/*/"].each do |template_dir|
+ packages_config = File.join(template_dir, 'src/FUBUPROJECTNAME/packages.config')
+ dependencies_dir = File.join(template_dir, 'src/packages')
+ unless File.exists?(packages_config)
+ puts "No packages.config file for brining in dependencies into template #{template_dir}"
+ return
+ end
+ mkdir_p(dependencies_dir)
+ # Run nuget here
+ sh "#{nuget} install #{packages_config} -o #{dependencies_dir} -ExcludeVersion"
+ cp_r "#{template_dir}src/packages/FubuMVC/content/fubu-content/", "#{template_dir}src/FUBUPROJECTNAME/fubu-content"
end
- mkdir_p(dependencies_dir)
- # Run nuget here
- sh "#{nuget} install #{packages_config} -o #{dependencies_dir} -ExcludeVersion"
end
- desc "Cleans nuget install downloading source"
- task :nugetclean, [:dry_run] do |t,args|
+ desc 'Cleans nuget install downloading source'
+ task :slimdown_nuget_pkgs, [:dry_run] do |t, args|
Dir.chdir(FUBUTEMPLATE_DIR) do
- files = Dir.glob("lib/**/src")
- nupkg = Dir.glob("lib/**/*.nupkg")
+ files = Dir.glob('*/src/packages/**/src')
+ nupkg = Dir.glob('*/src/packages/**/*.nupkg')
files << nupkg
args[:dry_run] ? puts(files) : rm_r(files)
end
end
- desc "Cleans matching files in fubuTemplateIgnore.txt"
+ desc 'Cleans matching files in fubuTemplateIgnore.txt'
task :clean, [:dry_run] do |t, args|
Dir.chdir(FUBUTEMPLATE_DIR) do
files = IO.readlines('fubuTemplateIgnore.txt')
@@ -208,5 +222,15 @@ def self.fubu(args)
args[:dry_run] ? puts(files) : rm_r(files)
end
end
+
+ task :build_artifacts_cleanup do
+ Dir["#{FUBUTEMPLATE_DIR}/*/src/"].each do |template_dir|
+ nuget_pkg_dirs = File.join(template_dir, 'packages/*/')
+ fubu_content_dir = File.join(template_dir, 'FUBUPROJECTNAME/fubu-content')
+
+ Dir[nuget_pkg_dirs].each {|nuget_pkg_dir| rm_rf nuget_pkg_dir}
+ rm_rf fubu_content_dir
+ end
+ end
end
diff --git a/src/Fubu/NewCommand.cs b/src/Fubu/NewCommand.cs
index 77e1587733..a46254cabf 100755
--- a/src/Fubu/NewCommand.cs
+++ b/src/Fubu/NewCommand.cs
@@ -18,7 +18,7 @@ public class NewCommand : FubuCommand
{
// Error code for file exists http://msdn.microsoft.com/en-us/library/aa232676(v=vs.60).aspx
public const int DIRECTORY_ALREADY_EXISTS = 58;
- private static readonly string TemplateZip = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "fubuTemplate.zip");
+ private static readonly string TemplateZip = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "defaultTemplate.zip");
private static readonly FileSet TopLevelFileSet = new FileSet
{
DeepSearch = false,
@@ -125,4 +125,4 @@ public void ParseFile(string file)
}
}
}
-}
\ No newline at end of file
+}