forked from thoughtbot/griddler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
39 lines (32 loc) · 919 Bytes
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env rake
begin
require 'bundler/setup'
require 'bundler/gem_tasks'
rescue LoadError
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
end
Bundler::GemHelper.install_tasks
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
task default: :spec
desc "Tag #{Bundler::GemHelper.new.send(:version_tag)}, build and push to gemfury"
task :release_internal do |t|
require 'gemfury'
class ReleaseInternalGem < Bundler::GemHelper
def release_gem
guard_clean
built_gem_path = build_gem
tag_version { git_push } unless already_tagged?
`fury push #{built_gem_path}`
Bundler.ui.confirm "Pushed #{name} #{version} to gemfury"
end
end
ReleaseInternalGem.new.release_gem
end
module Bundler
class GemHelper
def release_gem
raise 'STOP. This is an internal gem. Use `rake release_internal` instead'
end
end
end