Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple Rake tasks for managing and releasing Ruby projects.
tag: 0.1.0.pre1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/rubygems
spec
.document
.gitignore
.rspec
.yardopts
ChangeLog.md
LICENSE.txt
README.md
Rakefile
gemspec.yml
rubygems-tasks.gemspec

README.md

rubygems-tasks

Description

rubygems-tasks provides simple Rake tasks for building, installing and releasing Ruby gems.

require 'rubygems/tasks'
Gem::Tasks.new

Philosophy

The Rake tasks which you use to manage a Ruby project should not be coupled to the project generator which you used to create the project. Project generators have nothing to do with the Rake tasks used to build, install and release a Ruby project.

Each project generator (Hoe, Jeweler, Bundler, etc) having their own set of Rake tasks introduces differing functionality between projects, and creates factions between developers. Ruby Developers should not be factionalized by their project generator or Rake tasks. Ruby Developers should have a common set of Rake tasks that they can use in any project. This is what rubygems-tasks seeks to accomplish.

Features

  • Provides tasks to build, install and push gems to rubygems.org.
    • Loads all project metadata from the .gemspec file.
    • Supports loading multiple .gemspec files.
    • Supports pushing gems to alternate RubyGems servers.
  • Supports optionally building .tar.gz and .zip archives.
    • build:tar
    • build:zip
  • Supports Git, Mercurial and SubVersion Source-Code-Managers (SCMs).
  • Provides optional sign tasks for package integrity:
    • sign:checksum
    • sign:pgp
  • Provides a console task, for jumping right into your code.
  • Defines task aliases for users coming from Jeweler or Hoe.
  • ANSI coloured messages!

Anti-Features

  • Does not parse project metadata from the README or the ChangeLog.
  • Does not generate or modify code.
  • Does not automatically commit changes.
  • Does not inject dependencies into gems.
  • Zero dependencies.

Install

$ gem install rubygems-tasks

Examples

Specifying an alternate Ruby Console to run:

Gem::Tasks.new do |tasks|
  tasks.console.command = 'pry'
end

Enable pushing gems to an in-house RubyGems server:

Gem::Tasks.new do |tasks|
  tasks.push.host = 'gems.company.come'
end

Disable the push task:

Gem::Tasks.new(:push => false)

Enable building .tar.gz and .zip archives:

Gem::Tasks.new(:build => {:tar => true, :zip => true})

Enable Checksums and PGP signatures for built packages:

Gem::Tasks.new(:sign => {:checksum => true, :pgp => true})

Selectively defining tasks:

Gem::SCM::Status.new
Gem::SCM::Tag.new(:format => 'REL-%s')
Gem::Build::Tar.new
Gem::Sign::Checksum.new
Gem::Console.new

Synopsis

rake build    # Builds all packages
rake console  # Spawns an Interactive Ruby Console
rake install  # Installs all built gem packages
rake release  # Performs a release

Copyright

Copyright (c) 2011-2012 Hal Brodigan

See {file:LICENSE.txt} for details.

Something went wrong with that request. Please try again.