diff --git a/Rakefile b/Rakefile index 6207fb9ece8..0f752498845 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,4 @@ require 'rake' -require 'rubygems/package_task' require 'thor/group' begin require 'spree/testing_support/common_rake' @@ -8,26 +7,19 @@ rescue LoadError exit end -spec = eval(File.read('solidus.gemspec')) -Gem::PackageTask.new(spec) do |pkg| - pkg.gem_spec = spec -end - task default: :test desc "Runs all tests in all Spree engines" -task :test do - Rake::Task['test_app'].invoke +task :test => :test_app do %w(api backend core frontend sample).each do |gem_name| Dir.chdir("#{File.dirname(__FILE__)}/#{gem_name}") do - system("rspec") or exit!(1) + sh 'rspec' end end end desc "Generates a dummy app for testing for every Spree engine" task :test_app do - require File.expand_path('../core/lib/generators/spree/install/install_generator', __FILE__) %w(api backend core frontend sample).each do |engine| ENV['LIB_NAME'] = File.join('spree', engine) ENV['DUMMY_PATH'] = File.expand_path("../#{engine}/spec/dummy", __FILE__) @@ -37,68 +29,59 @@ end desc "clean the whole repository by removing all the generated files" task :clean do - puts "Deleting sandbox..." - FileUtils.rm_rf("sandbox") - puts "Deleting pkg directory.." - FileUtils.rm_rf("pkg") + rm_f "Gemfile.lock" + rm_rf "sandbox" + rm_rf "pkg" - %w(api backend core frontend).each do |gem_name| - puts "Cleaning #{gem_name}:" - puts " Deleting #{gem_name}/Gemfile" - FileUtils.rm_f("#{gem_name}/Gemfile") - puts " Deleting #{gem_name}/pkg" - FileUtils.rm_rf("#{gem_name}/pkg") - puts " Deleting #{gem_name}'s dummy application" - Dir.chdir("#{gem_name}/spec") do - FileUtils.rm_rf("dummy") - end + %w(api backend core frontend sample).each do |gem_name| + rm_f "#{gem_name}/Gemfile.lock" + rm_rf "#{gem_name}/pkg" + rm_rf "#{gem_name}/spec/dummy" end end namespace :gem do - desc "run rake gem for all gems" - task :build do - %w(core api backend frontend sample ).each do |gem_name| - puts "########################### #{gem_name} #########################" - puts "Deleting #{gem_name}/pkg" - FileUtils.rm_rf("#{gem_name}/pkg") - cmd = "cd #{gem_name} && bundle exec rake gem"; puts cmd; system cmd + def version + File.read(File.expand_path("../SOLIDUS_VERSION", __FILE__)).strip + end + + def for_each_gem + %w(core api backend frontend sample).each do |gem_name| + yield "pkg/solidus_#{gem_name}-#{version}.gem" end - puts "Deleting pkg directory" - FileUtils.rm_rf("pkg") - cmd = "bundle exec rake gem"; puts cmd; system cmd + yield "pkg/solidus-#{version}.gem" end -end -namespace :gem do - desc "run gem install for all gems" - task :install do - version = File.read(File.expand_path("../SOLIDUS_VERSION", __FILE__)).strip + desc "Build all solidus gems" + task :build do + pkgdir = File.expand_path("../pkg", __FILE__) + FileUtils.mkdir_p pkgdir %w(core api backend frontend sample).each do |gem_name| - puts "########################### #{gem_name} #########################" - puts "Deleting #{gem_name}/pkg" - FileUtils.rm_rf("#{gem_name}/pkg") - cmd = "cd #{gem_name} && bundle exec rake gem"; puts cmd; system cmd - cmd = "cd #{gem_name}/pkg && gem install solidus_#{gem_name}-#{version}.gem"; puts cmd; system cmd + Dir.chdir(gem_name) do + sh "gem build solidus_#{gem_name}.gemspec" + mv "solidus_#{gem_name}-#{version}.gem", pkgdir + end end - puts "Deleting pkg directory" - FileUtils.rm_rf("pkg") - cmd = "bundle exec rake gem"; puts cmd; system cmd - cmd = "gem install pkg/solidus-#{version}.gem"; puts cmd; system cmd + + sh "gem build solidus.gemspec" + mv "solidus-#{version}.gem", pkgdir end -end -namespace :gem do - desc "Release all gems to gemcutter. Package spree components, then push spree" - task :release do - version = File.read(File.expand_path("../SOLIDUS_VERSION", __FILE__)).strip + desc "Install all solidus gems" + task :install => :build do + for_each_gem do |gem_path| + sh "gem install #{gem_path}" + end + end - %w(core api backend frontend sample).each do |gem_name| - puts "########################### #{gem_name} #########################" - cmd = "cd #{gem_name}/pkg && gem push solidus_#{gem_name}-#{version}.gem"; puts cmd; system cmd + desc "Release all gems to rubygems" + task :release => :build do + sh "git tag -a -m \"Version #{version}\" v#{version}" + + for_each_gem do |gem_path| + sh "gem push '#{gem_path}'" end - cmd = "gem push pkg/solidus-#{version}.gem"; puts cmd; system cmd end end diff --git a/api/Rakefile b/api/Rakefile index 4113ae2cc01..e3c093bb1e1 100644 --- a/api/Rakefile +++ b/api/Rakefile @@ -1,26 +1,12 @@ require 'rubygems' require 'rake' require 'rake/testtask' -require 'rake/packagetask' -require 'rubygems/package_task' require 'rspec/core/rake_task' require 'spree/testing_support/common_rake' require 'rails/all' -Bundler::GemHelper.install_tasks RSpec::Core::RakeTask.new -spec = eval(File.read('solidus_api.gemspec')) -Gem::PackageTask.new(spec) do |p| - p.gem_spec = spec -end - -desc "Release to gemcutter" -task :release do - version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip - cmd = "cd pkg && gem push solidus_api-#{version}.gem"; puts cmd; system cmd -end - task :default => :spec desc "Generates a dummy app for testing" diff --git a/backend/Rakefile b/backend/Rakefile index a8e0a885ecc..3c93e091063 100644 --- a/backend/Rakefile +++ b/backend/Rakefile @@ -1,25 +1,11 @@ require 'rubygems' require 'rake' require 'rake/testtask' -require 'rake/packagetask' -require 'rubygems/package_task' require 'rspec/core/rake_task' require 'spree/testing_support/common_rake' -Bundler::GemHelper.install_tasks RSpec::Core::RakeTask.new -spec = eval(File.read('solidus_backend.gemspec')) -Gem::PackageTask.new(spec) do |p| - p.gem_spec = spec -end - -desc "Release to gemcutter" -task :release do - version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip - cmd = "cd pkg && gem push solidus_backend-#{version}.gem"; puts cmd; system cmd -end - task :default => :spec desc "Generates a dummy app for testing" diff --git a/core/Rakefile b/core/Rakefile index 93a012166c1..8cbaba0a507 100644 --- a/core/Rakefile +++ b/core/Rakefile @@ -1,26 +1,12 @@ require 'rubygems' require 'rake' require 'rake/testtask' -require 'rake/packagetask' -require 'rubygems/package_task' require 'rspec/core/rake_task' require 'spree/testing_support/common_rake' load 'lib/tasks/exchanges.rake' -Bundler::GemHelper.install_tasks RSpec::Core::RakeTask.new -spec = eval(File.read('solidus_core.gemspec')) -Gem::PackageTask.new(spec) do |p| - p.gem_spec = spec -end - -desc "Release to gemcutter" -task :release do - version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip - cmd = "cd pkg && gem push solidus_core-#{version}.gem"; puts cmd; system cmd -end - task :default => :spec desc "Generates a dummy app for testing" diff --git a/frontend/Rakefile b/frontend/Rakefile index 257bc77e81f..a0aa102367e 100644 --- a/frontend/Rakefile +++ b/frontend/Rakefile @@ -1,25 +1,11 @@ require 'rubygems' require 'rake' require 'rake/testtask' -require 'rake/packagetask' -require 'rubygems/package_task' require 'rspec/core/rake_task' require 'spree/testing_support/common_rake' -Bundler::GemHelper.install_tasks RSpec::Core::RakeTask.new -spec = eval(File.read('solidus_frontend.gemspec')) -Gem::PackageTask.new(spec) do |p| - p.gem_spec = spec -end - -desc "Release to gemcutter" -task :release do - version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip - cmd = "cd pkg && gem push solidus_frontend-#{version}.gem"; puts cmd; system cmd -end - task :default => :spec desc "Generates a dummy app for testing" diff --git a/install.rb b/install.rb deleted file mode 100644 index bf5e914c321..00000000000 --- a/install.rb +++ /dev/null @@ -1,20 +0,0 @@ -require 'fileutils' - -version = ARGV.pop - -%w( core api backend frontend sample ).each do |framework| - puts "Installing #{framework}..." - - Dir.chdir(framework) do - `gem build spree_#{framework}.gemspec` - `gem install spree_#{framework}-#{version}.gem --no-ri --no-rdoc` - FileUtils.remove "spree_#{framework}-#{version}.gem" - end - -end - -puts "Installing Spree..." - `gem build spree.gemspec` - `gem install spree-#{version}.gem --no-ri --no-rdoc ` - - FileUtils.remove "spree-#{version}.gem" diff --git a/sample/Rakefile b/sample/Rakefile index ba3d538817d..5bce1a08a8a 100644 --- a/sample/Rakefile +++ b/sample/Rakefile @@ -1,22 +1,8 @@ require 'rake' require 'rake/testtask' -require 'rake/packagetask' -require 'rubygems/package_task' require 'rspec/core/rake_task' require 'spree/testing_support/common_rake' -spec = eval(File.read('solidus_sample.gemspec')) - -Gem::PackageTask.new(spec) do |p| - p.gem_spec = spec -end - -desc "Release to gemcutter" -task :release do - version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip - cmd = "cd pkg && gem push solidus_sample-#{version}.gem"; puts cmd; system cmd -end - desc "Generates a dummy app for testing" task :test_app do ENV['LIB_NAME'] = 'spree/sample'