Skip to content

Commit

Permalink
Add bump:dev and bump:pre tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
nobu committed Nov 10, 2023
1 parent e04af61 commit f67059f
Showing 1 changed file with 53 additions and 4 deletions.
57 changes: 53 additions & 4 deletions rakelib/version.rake
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,72 @@ class << (helper = Bundler::GemHelper.instance)
update_gemspec
commit_bump
end

def next_dev
v = gemspec.version.segments
if v.size > 4
v[-1] = v[-1].succ
else
v[2] = v[2].succ if v.size == 3
v[3..-1] = "dev.1"
end
Gem::Version.new(v.join("."))
end

def next_preview
v = gemspec.version.segments
if v[3] == "pre"
v[-1] = v[-1].succ
else
v[3..-1] = "pre.1"
end
Gem::Version.new(v.join("."))
end

def next_release
if gemspec.version.prerelease?
gemspec.version.release
else
v = gemspec.version.segments[0, 3]
v[-1] = v[-1].succ
Gem::Version.new(v.join("."))
end
end

def next_minor
major, minor = gemspec.version.segments
Gem::Version.new("#{major}.#{minor+1}.0")
end

def next_major
major, = gemspec.version.segments
Gem::Version.new("#{major+1}.0.0")
end
end

desc "Bump to development"
task "bump:dev" do
helper.version = helper.next_dev
end

major, minor, teeny = helper.gemspec.version.segments
desc "Bump to prerelease"
task "bump:pre" do
helper.version = helper.next_preview
end

desc "Bump teeny version"
task "bump:teeny" do
helper.version = Gem::Version.new("#{major}.#{minor}.#{teeny+1}")
helper.version = helper.next_release
end

desc "Bump minor version"
task "bump:minor" do
helper.version = Gem::Version.new("#{major}.#{minor+1}.0")
helper.version = helper.next_minor
end

desc "Bump major version"
task "bump:major" do
helper.version = Gem::Version.new("#{major+1}.0.0")
helper.version = helper.next_major
end

desc "Bump teeny version"
Expand Down

0 comments on commit f67059f

Please sign in to comment.