Sha256: bdfe6554aa9c34ba1c82b0476dfaa1e3476357c5308fbdc136a149bad57e48ba

Contents?: true

Size: 931 Bytes

Versions: 13

Compression:

Stored size: 931 Bytes

Contents

require 'rubygems/tasks/task'

module Gem
  class Tasks
    #
    # The `release` task.
    #
    class Release < Task

      #
      # Initializes the `release` task.
      #
      # @param [Hash] options
      #   Additional options for the `release` task.
      #
      def initialize(options={})
        super()

        yield self if block_given?
        define
      end

      #
      # Defines the `release` task.
      #
      def define
        @project.gemspecs.each_key do |name|
          task :release => [
            "build:#{name}",
            'scm:tag',
            'scm:push',
            "push:#{name}",
            "sign:#{name}"
          ].select { |name| task?(name) }
        end

        desc "Performs a release"
        task :release => [
          :build,
          'scm:tag',
          'scm:push',
          :push,
          :sign
        ].select { |name| task?(name) }
      end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rubygems-tasks-0.2.6 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.5 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.4 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.3 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.2 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.1 lib/rubygems/tasks/release.rb
rubygems-tasks-0.2.0 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.2 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.1 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.0 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.0.pre3 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.0.pre2 lib/rubygems/tasks/release.rb
rubygems-tasks-0.1.0.pre1 lib/rubygems/tasks/release.rb