Sha256: 60fe31191a154b1081eb6a4de7609f510876a41cd47f28b44bc7633deec0751d

Contents?: true

Size: 1.97 KB

Versions: 4

Compression:

Stored size: 1.97 KB

Contents

require_relative 'cookbook-release/commit'
require_relative 'cookbook-release/git-utilities'
require_relative 'cookbook-release/supermarket'
require_relative 'cookbook-release/release'
require_relative 'cookbook-release/changelog'

require 'rake'
require 'rake/tasklib'

module CookbookRelease
  module Rake

    class RepoTask < ::Rake::TaskLib
      def initialize(opts = {}, &html_block)
        desc "Display raw changelog between branches"
        task "changelog:raw" do
          git = GitUtilities.new
          puts Changelog.new(git, opts).raw
        end

        desc "Display html changelog between branches"
        task "changelog:html" do
          git = GitUtilities.new
          html = Changelog.new(git, opts).html
          if block_given?
            html = html_block.call(html)
          end
          puts html
        end
      end
    end

    class CookbookTask < ::Rake::TaskLib

      def initialize(namespaced=false)
        define_tasks(namespaced)
      end

      def define_tasks(namespaced)

        desc "Prepare cookbook release and push tag to git"
        task "release!" do
          opts = {
            no_prompt: ENV['NO_PROMPT'],
            category: ENV['COOKBOOK_CATEGORY'],
          }
          git = GitUtilities.new
          Release.new(git, opts).release!
        end

        desc "Suggest new release version"
        task "release:suggest_version" do
          git = GitUtilities.new
          release = Release.new(git)
          release.display_suggested_version(*release.new_version)
        end

        desc "Display last released version"
        task "release:version" do
          git = GitUtilities.new
          release = Release.new(git)
          puts release.last_release
        end

        desc "Display changelog since last release"
        task "release:changelog" do
          git = GitUtilities.new
          release = Release.new(git)
          release.display_changelog(release.new_version.first)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cookbook-release-1.1.3 lib/cookbook-release.rb
cookbook-release-1.1.2 lib/cookbook-release.rb
cookbook-release-1.1.1 lib/cookbook-release.rb
cookbook-release-1.1.0 lib/cookbook-release.rb