lib/capistrano/ext/capstrap/chef.rb in capstrap-0.1.0 vs lib/capistrano/ext/capstrap/chef.rb in capstrap-0.2.0

- old
+ new

@@ -5,14 +5,54 @@ configuration.load do namespace :chef do namespace :install do - desc "Installs chef solo" + desc "Installs chef gem" + task :lib do + unless chef_installed? + cmd = [ + %{use #{ruby}@global}, + %{gem install chef} + ] + rvm_run cmd.join(" && ") + end + end + + desc "Installs chef cookbook git repository" + task :cookbooks do + unless cookbooks_repo_installed? + cmd = [ + %{git clone #{cookbooks_repo} #{cookbooks_path}}, + %{cd #{cookbooks_path}}, + %{git submodule init}, + %{git submodule update} + ] + run cmd.join(" && ") + end + end + + desc "Installs chef configuration git repository" + task :config do + unless config_repo_installed? + cmd = [ + %{git clone #{config_repo} #{config_path}}, + %{cd #{config_path}}, + %{git submodule init}, + %{git submodule update} + ] + run cmd.join(" && ") + end + end + end + + namespace :execute do + + desc "Executes chef solo configuration" task :solo do cmd = [ - %{use default@global}, - %{gem install chef} + %{use #{ruby}}, + %{chef-solo} ] rvm_run cmd.join(" && ") end end end