Project

gemesis

0.0
No commit activity in last 3 years
No release in over 3 years
some lightweight utilities to assist in managing a rubygem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

gemesis¶ ↑

This is a gem that provides some simple rake tasks for managing a rubygem.

creating a gem¶ ↑

create a gem specification file called gemspec¶ ↑

For example:

Gem::Specification.new do |s|
  s.name = 'gemesis'
  s.version = '0.0.4'
  s.summary = 'some lightweight utilities to assist in managing a rubygem'
  s.authors << 'Mark Ryall'
  s.email = 'mark@ryall.name'
  s.homepage = %q{http://github.com/markryall/gemesis}
  s.files = Dir['bin/*'] + Dir['lib/**/*'] + ['README.rdoc', 'MIT-LICENSE']
  s.executables << 'collect_gems'
end

Make sure the version line is formatted as indicated - the major, minor and patch tasks will not work otherwise.

initialise a git or mercurial repository¶ ↑

hg/git init

create Rakefile¶ ↑

require 'gemesis/rake'

usage¶ ↑

This will add the following rake tasks in a gem namespace:

  • release - push, then increments version in gemspec

  • push - builds the gem, pushes to rubyforge and

  • build - builds the gem file

  • install - installs the gem file

  • uninstall - uninstalls the gem

  • reinstall - uninstalls and installs the gem

  • major - increments the major version number

  • minor - increments the minor version number

  • patch - increments the patch number

To run gem installation or uninstallation with sudo - set an environment variable SUDO to sudo

Note that push will create a repository tag so it is recommended you increment the gem version and commit all changes prior to executing a push.

Refer to semver.org/ for some sensible tips on versioning.

collect_gems¶ ↑

If you checkout any gem that uses gemesis (or has a gem specification file caled gemspec), you can use the collect_gems executable to install all necessary runtime and development depencies.

collect_gems was completely stolen from github.com/mdub/gem_collector