summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gems.rake40
-rw-r--r--lib/tasks/task_helper.rb19
2 files changed, 59 insertions, 0 deletions
diff --git a/lib/tasks/gems.rake b/lib/tasks/gems.rake
new file mode 100644
index 0000000..27eb04c
--- /dev/null
+++ b/lib/tasks/gems.rake
@@ -0,0 +1,40 @@
+require File.expand_path('../task_helper', __FILE__)
+include TaskHelper
+
+
+namespace :gem do
+
+ desc "run rake gem for all gems"
+ 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
+ putsys "rm -rf pkg"
+ end
+
+ desc "run gem install for all gems"
+ task :install => :build do
+
+ each_gem do |gem_name|
+ putsys "cd #{gem_name}/pkg && gem install leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem"
+ end
+ 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
+
+ each_gem do |gem_name|
+ putsys "cd #{gem_name}/pkg && gem push leap_web_#{gem_name}-#{LeapWeb::VERSION}.gem"
+ end
+ 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
+