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 +}