Sha256: 29142e6282be4bf09c1c2dd0ea960f882e4e839c9eec96c4f70ab5c4740cc879

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

desc "Validates your Changelog, updates your VERSION constant, commits that, then releases your gem."
task 'changelog:release', [:repo_path, :changelog_path, :version_path] do |_task, arguments|
  Rake::Task['changelog:validate'].execute(arguments)
  Rake::Task['changelog:sync'].execute(arguments)
  Rake::Task['changelog:commit'].execute(arguments)

  # Merely requiring `bundler/gem_tasks` instantiates & caches a gemspec. At this point in this code,
  # it's already set and attached to the `Bundler::GemHelper` module. In fact, it's there before this
  # file is laoded at all. This means that our changes to the filesystem won't change the version bundler
  # thinks our gem is. We could instantiate another gemspec and attach it, or we could try modifying the
  # gemspec in situ, but both would be extremely brittle. What we do instead, is start another process,
  # and because that process doesn't have the state ours does already, our changes to the filesystem will
  # be picked up, and we'll actually cut a release of the new version.
  exec('rake release')
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
structured_changelog-0.8.2 lib/structured_changelog/tasks/release.rb
structured_changelog-0.8.1 lib/structured_changelog/tasks/release.rb
structured_changelog-0.8.0 lib/structured_changelog/tasks/release.rb