Introduction / Motivation
The problem with the existing tools for building gems, like hoe and newgem, is they generate a whole host of files which are hard to maintain. Tools like gemify and gemhub on the other hand are to simplified and work only for very small gems which follow the imposed conventions.
The solution would be to make a tool which doesn’t generate unneeded files and uses a simple configuration format like YAML. Enter GM.
GM is a framework for building gems in a clean and simple way. It uses YAML as its configuration format and generates only the absolute minimum needed to get you going. GM is also designed to be extendable in (almost) every way.
How to use GM
Install GM
sudo gem install simonmenke-gm
Global configuration
Put the following snippet in ~/.gmrc
author:
name: [Your Name Here]
email: [Your Email Here]
github:
username: [Your GitHub Username Here]
Create a gem
gm create name_of_your_gem
Gem configuration
Put the following snippet in the Gmfile
of your gem.
general:
name: [The Gem Name]
version: [The Gem Version]
summary: [A Summary]
homepage: [The Homepage Of The Gem]
dependencies:
- [Name Of Gem] [Version Requirement (>= 1.0.0)]
Write code
I can’t help you here ;)
Build or install your gem
gm build
gm install
Dump a .gemspec file for GitHub
gm spec
Known problems with GM
- The
gm
command may conflict with thegm
tool from GraphicsMagick. To bypass this usegem-make
instead ofgm
.
Please post any bug reports or feature requests here