Class: PoiseBoiler::Helpers::Rake::Release

Inherits:
Halite::HelperBase
  • Object
show all
Includes:
BumpHelpers
Defined in:
lib/poise_boiler/helpers/rake/release.rb

Overview

Helper for a Rakefile to install tasks for managing verbose/debug output.

Examples:

Installing tasks

require 'poise_boiler/helpers/rake/debug'
PoiseBoiler::Helpers::Rake::Debug.install

Runng a task in verbose mode

$ rake verbose release

Runng a task in debug mode

$ rake debug release

Since:

  • 1.2.0

Constant Summary

Constants included from BumpHelpers

BumpHelpers::VERSION_CONST

Instance Method Summary collapse

Methods included from BumpHelpers

#bump_version!, #bumped_version, #find_version_rb, #latest_tag

Instance Method Details

#installvoid

This method returns an undefined value.

Install the rake tasks.

Since:

  • 1.2.0



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/poise_boiler/helpers/rake/release.rb', line 40

def install
  # Delayed so that Rake doesn't need to be loaded to run this file.
  extend ::Rake::DSL

  # Rename the original release task.
  release_task = ::Rake.application.lookup('release')
  if release_task
    release_actions = release_task.actions.dup
    task 'release:original' => release_task.prerequisites.dup do
      release_actions.map(&:call)
    end
    release_task.clear
  end

  # No-op Bundler's release:source_control_push task.
  source_control_push_task = ::Rake.application.lookup('release:source_control_push')
  source_control_push_task.clear if source_control_push_task

  # Tag the release.
  task 'release:tag' do
    tag_release!(commit: false)
  end

  # Make the new release tasks.
  desc "Bump, tag, and release #{gem_name}"
  task 'release' do
    release_gem!(:patch)
  end

  desc "Bump minor, tag, and release #{gem_name}"
  task 'release:minor' do
    release_gem!(:minor)
  end

  desc "Bump major, tag, and release #{gem_name}"
  task 'release:major' do
    release_gem!(:major)
  end
end