diff options
Diffstat (limited to 'lib/tasks')
-rw-r--r-- | lib/tasks/gems.rake | 45 | ||||
-rw-r--r-- | lib/tasks/task_helper.rb | 19 |
2 files changed, 41 insertions, 23 deletions
diff --git a/lib/tasks/gems.rake b/lib/tasks/gems.rake index cfeca1f..27eb04c 100644 --- a/lib/tasks/gems.rake +++ b/lib/tasks/gems.rake @@ -1,41 +1,40 @@ -require File.expand_path('../../../lib/leap_web/version', __FILE__) +require File.expand_path('../task_helper', __FILE__) +include TaskHelper -namespace :gem do - engines = %w(core users certs help) +namespace :gem do desc "run rake gem for all gems" - task :build do - engines.each do |gem_name| - puts "########################### #{gem_name} #########################" - cmd = "rm -rf #{gem_name}/pkg"; puts cmd; system cmd - cmd = "cd #{gem_name} && bundle exec rake gem"; puts cmd; system cmd + task :build => :clear do + each_gem do |gem_name| + putsys "cd #{gem_name} && bundle exec rake gem" + end + putsys "bundle exec rake gem" + end + + desc "run rake gem for all gems" + task :clear do + each_gem do |gem_name| + putsys "rm -rf #{gem_name}/pkg" end - cmd = "rm -rf pkg"; puts cmd; system cmd - cmd = "bundle exec rake gem"; puts cmd; system cmd + putsys "rm -rf pkg" end desc "run gem install for all gems" - task :install do + task :install => :build do - engines.each do |gem_name| - puts "########################### #{gem_name} #########################" - cmd = "rm -rf #{gem_name}/pkg"; puts cmd; system cmd - cmd = "cd #{gem_name} && bundle exec rake gem"; puts cmd; system cmd - cmd = "cd #{gem_name}/pkg && gem install leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem"; puts cmd; system cmd + each_gem do |gem_name| + putsys "cd #{gem_name}/pkg && gem install leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem" end - cmd = "rm -rf pkg"; puts cmd; system cmd - cmd = "bundle exec rake gem"; puts cmd; system cmd - cmd = "gem install pkg/leap_web-#{LeapWeb::VERSION}.gem"; puts cmd; system cmd + putsys "gem install pkg/leap_web-#{LeapWeb::VERSION}.gem" end desc "Release all gems to gemcutter. Package leap web components, then push" task :release do - engines.each do |gem_name| - puts "########################### #{gem_name} #########################" - cmd = "cd #{gem_name}/pkg && gem push leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem"; puts cmd; system cmd + each_gem do |gem_name| + putsys "cd #{gem_name}/pkg && gem push leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem" end - cmd = "gem push pkg/leap_web-#{LeapWeb::VERSION}.gem"; puts cmd; system cmd + putsys "gem push pkg/leap_web-#{LeapWeb::VERSION}.gem" end end diff --git a/lib/tasks/task_helper.rb b/lib/tasks/task_helper.rb new file mode 100644 index 0000000..aa37698 --- /dev/null +++ b/lib/tasks/task_helper.rb @@ -0,0 +1,19 @@ +require File.expand_path('../../../lib/leap_web/version', __FILE__) + +module TaskHelper + + ENGINES = %w(core users certs help) + + def putsys(cmd) + puts cmd + system cmd + end + + def each_gem + ENGINES.each do |gem_name| + puts "########################### #{gem_name} #########################" + yield gem_name + end + end +end + |