Skip to content

Commit

Permalink
Merge pull request solidusio#5413 from solidusio/elia/gem-releasing
Browse files Browse the repository at this point in the history
Use bundler gem tasks instead of gem_release
  • Loading branch information
elia authored Oct 4, 2023
2 parents 743f888 + ccf0eaa commit 81ac89d
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 52 deletions.
7 changes: 0 additions & 7 deletions .gem_release.yml

This file was deleted.

1 change: 0 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ group :utils do
gem 'rubocop', '~> 1', require: false
gem 'rubocop-performance', '~> 1.4', require: false
gem 'rubocop-rails', '~> 2.9', require: false
gem 'gem-release', require: false
end

gem 'rspec_junit_formatter', require: false, group: :ci
Expand Down
55 changes: 11 additions & 44 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# frozen_string_literal: true

require 'bundler'
require 'bundler/gem_tasks'

task default: :spec

Expand Down Expand Up @@ -53,55 +54,21 @@ task :clean do
end

SOLIDUS_GEM_NAMES = %w[core api backend sample]
GEM_TASKS_NAME = %w[build install]

namespace :gem do
def version
require_relative 'core/lib/spree/core/version'
Spree.solidus_version
end

def for_each_gem
GEM_TASKS_NAME.each do |task_name|
desc "Run rake gem:#{task} for each Solidus gem"
task task_name do
SOLIDUS_GEM_NAMES.each do |gem_name|
print_title(gem_name)
yield "pkg/solidus_#{gem_name}-#{version}.gem"
cd(gem_name) { sh "rake #{task_name}" }
end
print_title
yield "pkg/solidus-#{version}.gem"
end
end

desc "Build all solidus gems"
task :build do
pkgdir = File.expand_path('pkg', __dir__)
FileUtils.mkdir_p pkgdir

SOLIDUS_GEM_NAMES.each do |gem_name|
Dir.chdir(gem_name) do
sh "gem build solidus_#{gem_name}.gemspec"
mv "solidus_#{gem_name}-#{version}.gem", pkgdir
end
end

print_title
sh "gem build solidus.gemspec"
mv "solidus-#{version}.gem", pkgdir
end

desc "Install all solidus 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}"

for_each_gem do |gem_path|
sh "gem push '#{gem_path}'"
end
task :releasez do
require_relative 'core/lib/spree/core/version'
SOLIDUS_GEM_NAMES.each do |gem_name|
sh "gem push #{gem_name}/pkg/solidus_#{gem_name}-#{Spree.solidus_version}.gem"
end
end

Expand Down
1 change: 1 addition & 0 deletions api/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'spree/testing_support/dummy_app/rake_tasks'
require 'bundler/gem_tasks'

RSpec::Core::RakeTask.new
task default: :spec
Expand Down
1 change: 1 addition & 0 deletions backend/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ require 'rubygems'
require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'bundler/gem_tasks'

require 'solidus_backend'
require 'spree/testing_support/dummy_app/rake_tasks'
Expand Down
1 change: 1 addition & 0 deletions core/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'spree/testing_support/dummy_app/rake_tasks'
require 'bundler/gem_tasks'

RSpec::Core::RakeTask.new
task default: :spec
Expand Down
1 change: 1 addition & 0 deletions sample/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ require 'rake'
require 'rake/testtask'
require 'rspec/core/rake_task'
require 'spree/testing_support/dummy_app/rake_tasks'
require 'bundler/gem_tasks'

RSpec::Core::RakeTask.new
task default: :spec
Expand Down

0 comments on commit 81ac89d

Please sign in to comment.