Skip to content

Commit

Permalink
SPREE_VERSION removed, total cleanup of gemspecs and rakefiles, spree…
Browse files Browse the repository at this point in the history
….yml generation removed
  • Loading branch information
damianlegawiec committed Feb 28, 2016
1 parent 8c6707c commit 8404b8f
Show file tree
Hide file tree
Showing 19 changed files with 110 additions and 210 deletions.
112 changes: 50 additions & 62 deletions Rakefile
Expand Up @@ -5,100 +5,88 @@ begin
require 'spree/testing_support/common_rake'
rescue LoadError
raise "Could not find spree/testing_support/common_rake. You need to run this command using Bundler."
exit
end

spec = eval(File.read('spree.gemspec'))
Gem::PackageTask.new(spec) do |pkg|
pkg.gem_spec = spec
end
SPREE_GEMS = %w(core api cmd backend frontend sample).freeze

task default: :test

desc "Runs all tests in all Spree engines"
task :test do
Rake::Task['test_app'].invoke
%w(api backend core frontend sample).each do |gem_name|
task test: :test_app do
SPREE_GEMS.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__)
Rake::Task['common:test_app'].execute
SPREE_GEMS.each do |gem_name|
Dir.chdir("#{File.dirname(__FILE__)}/#{gem_name}") do
sh 'rake test_app'
end
end
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 cmd 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
SPREE_GEMS.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 cmd).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
require 'spree/core/version'
Spree.version
end

def for_each_gem
SPREE_GEMS.each do |gem_name|
yield "pkg/spree_#{gem_name}-#{version}.gem"
end
puts "Deleting pkg directory"
FileUtils.rm_rf("pkg")
cmd = "bundle exec rake gem"; puts cmd; system cmd
yield "pkg/spree-#{version}.gem"
end
end

namespace :gem do
desc "run gem install for all gems"
task :install do
version = File.read(File.expand_path("../SPREE_VERSION", __FILE__)).strip
desc "Build all spree gems"
task :build do
pkgdir = File.expand_path("../pkg", __FILE__)
FileUtils.mkdir_p pkgdir

%w(core api backend frontend sample cmd).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 spree_#{gem_name}-#{version}.gem"; puts cmd; system cmd
SPREE_GEMS.each do |gem_name|
Dir.chdir(gem_name) do
sh "gem build spree_#{gem_name}.gemspec"
mv "spree_#{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/spree-#{version}.gem"; puts cmd; system cmd

sh "gem build spree.gemspec"
mv "spree-#{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("../SPREE_VERSION", __FILE__)).strip
desc "Install all spree gems"
task install: :build do
for_each_gem do |gem_path|
Bundler.with_clean_env do
sh "gem install #{gem_path}"
end
end
end

desc "Release all gems to rubygems"
task release: :build do
sh "git tag -a -m \"Version #{version}\" v#{version}"

%w(core api backend frontend sample cmd).each do |gem_name|
puts "########################### #{gem_name} #########################"
cmd = "cd #{gem_name}/pkg && gem push spree_#{gem_name}-#{version}.gem"; puts cmd; system cmd
for_each_gem do |gem_path|
sh "gem push '#{gem_path}'"
end
cmd = "gem push pkg/spree-#{version}.gem"; puts cmd; system cmd
end
end

Expand Down
1 change: 0 additions & 1 deletion SPREE_VERSION

This file was deleted.

16 changes: 1 addition & 15 deletions api/Rakefile
@@ -1,27 +1,13 @@
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('spree_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("../../SPREE_VERSION", __FILE__)).strip
cmd = "cd pkg && gem push spree_api-#{version}.gem"; puts cmd; system cmd
end

task :default => :spec
task default: :spec

desc "Generates a dummy app for testing"
task :test_app do
Expand Down
34 changes: 17 additions & 17 deletions api/spree_api.gemspec
@@ -1,22 +1,22 @@
# -*- encoding: utf-8 -*-
version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
require_relative '../core/lib/spree/core/version.rb'

Gem::Specification.new do |gem|
gem.authors = ["Ryan Bigg"]
gem.email = ["ryan@spreecommerce.com"]
gem.description = %q{Spree's API}
gem.summary = %q{Spree's API}
gem.homepage = 'https://spreecommerce.com'
gem.license = %q{BSD-3}
Gem::Specification.new do |s|
s.authors = ["Ryan Bigg"]
s.email = ["ryan@spreecommerce.com"]
s.description = %q{Spree's API}
s.summary = %q{Spree's API}
s.homepage = 'https://spreecommerce.com'
s.license = 'BSD-3'

gem.files = `git ls-files`.split($\)
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
gem.name = "spree_api"
gem.require_paths = ["lib"]
gem.version = version
s.files = `git ls-files`.split($\)
s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
s.test_files = s.files.grep(%r{^(test|spec|features)/})
s.name = "spree_api"
s.require_paths = ["lib"]
s.version = Spree.version

gem.add_dependency 'spree_core', version
gem.add_dependency 'rabl', '~> 0.11.6'
gem.add_dependency 'versioncake', '~> 2.3.1'
s.add_dependency 'spree_core', s.version
s.add_dependency 'rabl', '~> 0.11.6'
s.add_dependency 'versioncake', '~> 2.3.1'
end
16 changes: 1 addition & 15 deletions backend/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'

Bundler::GemHelper.install_tasks
RSpec::Core::RakeTask.new

spec = eval(File.read('spree_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("../../SPREE_VERSION", __FILE__)).strip
cmd = "cd pkg && gem push spree_backend-#{version}.gem"; puts cmd; system cmd
end

task :default => :spec
task default: :spec

desc "Generates a dummy app for testing"
task :test_app do
Expand Down
10 changes: 5 additions & 5 deletions backend/spree_backend.gemspec
@@ -1,25 +1,25 @@
# encoding: UTF-8
version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
require_relative '../core/lib/spree/core/version.rb'

Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = 'spree_backend'
s.version = version
s.version = Spree.version
s.summary = 'backend e-commerce functionality for the Spree project.'
s.description = 'Required dependency for Spree'

s.author = 'Sean Schofield'
s.email = 'sean@spreecommerce.com'
s.homepage = 'https://spreecommerce.com'
s.license = %q{BSD-3}
s.license = 'BSD-3'
s.rubyforge_project = 'spree_backend'

s.files = `git ls-files`.split("\n")
s.require_path = 'lib'
s.requirements << 'none'

s.add_dependency 'spree_api', version
s.add_dependency 'spree_core', version
s.add_dependency 'spree_api', s.version
s.add_dependency 'spree_core', s.version

s.add_dependency 'bootstrap-sass', '~> 3.3'
s.add_dependency 'jquery-rails', '~> 4.1'
Expand Down
14 changes: 3 additions & 11 deletions cmd/lib/spree_cmd/extension.rb
@@ -1,10 +1,9 @@
module SpreeCmd

class Extension < Thor::Group
include Thor::Actions

desc "builds a spree extension"
argument :file_name, :type => :string, :desc => 'rails app_path', :default => '.'
argument :file_name, type: :string, desc: 'rails app_path', default: '.'

source_root File.expand_path('../templates/extension', __FILE__)

Expand All @@ -30,16 +29,14 @@ def generate
end

def final_banner
say %Q{
say %{
#{'*' * 80}
Your extension has been generated with a gemspec dependency on Spree #{spree_version}.
Your extension has been generated with a gemspec dependency on Spree #{Spree.version}.
For more information on the versioning of Spree.
See https://guides.spreecommerce.com/developer/extensions_tutorial.html#versioning-your-extension
Consider listing your extension in the official extension registry https://spreecommerce.com/extensions
#{'*' * 80}
}
end
Expand All @@ -49,16 +46,11 @@ def class_name
Thor::Util.camel_case file_name
end

def spree_version
'3.1.0.beta'
end

def use_prefix(prefix)
unless file_name =~ /^#{prefix}/
@file_name = prefix + Thor::Util.snake_case(file_name)
end
end
end

end
end
4 changes: 2 additions & 2 deletions cmd/lib/spree_cmd/templates/extension/extension.gemspec
Expand Up @@ -2,7 +2,7 @@
Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = '<%= file_name %>'
s.version = '<%= spree_version %>'
s.version = '<%= Spree.version %>'
s.summary = 'TODO: Add gem summary here'
s.description = 'TODO: Add (optional) gem description here'
s.required_ruby_version = '>= 2.0.0'
Expand All @@ -16,7 +16,7 @@ Gem::Specification.new do |s|
s.require_path = 'lib'
s.requirements << 'none'

s.add_dependency 'spree_core', '~> <%= spree_version %>'
s.add_dependency 'spree_core', '~> <%= Spree.version %>'

s.add_development_dependency 'capybara', '~> 2.4'
s.add_development_dependency 'coffee-rails'
Expand Down
6 changes: 3 additions & 3 deletions cmd/spree_cmd.gemspec
@@ -1,14 +1,14 @@
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
require_relative '../core/lib/spree/core/version.rb'

Gem::Specification.new do |s|
s.name = "spree_cmd"
s.version = version
s.version = Spree.version
s.authors = ["Chris Mar"]
s.email = ["chris@spreecommerce.com"]
s.homepage = "http://spreecommerce.com"
s.license = %q{BSD-3}
s.license = 'BSD-3'
s.summary = %q{Spree Commerce command line utility}
s.description = %q{tools to create new Spree stores and extensions}

Expand Down
17 changes: 1 addition & 16 deletions core/Rakefile
@@ -1,27 +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('spree_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("../../SPREE_VERSION", __FILE__)).strip
cmd = "cd pkg && gem push spree_core-#{version}.gem"; puts cmd; system cmd
end

task :default => :spec
task default: :spec

desc "Generates a dummy app for testing"
task :test_app do
Expand Down

0 comments on commit 8404b8f

Please sign in to comment.