Class | Rake::GemPackageTask
In: | lib/rake/gempackagetask.rb
Parent: | PackageTask

Create a package based upon a Gem spec. Gem packages, as well as zip files and tar/gzipped packages can be produced by this task.

In addition to the Rake targets generated by PackageTask, a GemPackageTask will also generate the following tasks:

"package_dir/name-version.gem"
  Create a Ruby GEM package with the given name and version.

Example using a Ruby GEM spec:

      require 'rubygems'

      spec = Gem::Specification.new do |s|
        s.platform = Gem::Platform::RUBY
        s.summary = "Ruby based make-like utility."
        s.name = 'rake'
        s.version = PKG_VERSION
        s.requirements << 'none'
        s.require_path = 'lib'
        s.autorequire = 'rake'
        s.files = PKG_FILES
        s.description = <<EOF
      Rake is a Make-like program implemented in Ruby. Tasks
      and dependencies are specified in standard Ruby syntax.
      EOF
      end

      Rake::GemPackageTask.new(spec) do |pkg|
        pkg.need_zip = true
        pkg.need_tar = true
      end

### Methods

define gem_file init new

### Attributes

gem_spec | [RW] | Ruby GEM spec containing the metadata for this package. The name, version and package_files are automatically determined from the GEM spec and don‘t need to be explicitly provided.

### Public Class methods

new(gem_spec) {|self if block_given?| ...}

Create a GEM Package task library. Automatically define the gem if a block is given. If no block is supplied, then `define` needs to be called to define the task.

### Public Instance methods

define()

Create the Rake tasks and actions specified by this GemPackageTask. (`define` is automatically called if a block is given to `new`).

gem_file()
init(gem)

Initialization tasks without the "yield self" or define operations.

[Validate]