Thanks to great work by David A. Cuadrado, I think it’s about a new release of Gemify: 0.2.4. And it’s going to have lots of new features:
- Rubinius-support (I think so, at least)
- Windows-support (I think so, at least)
- It will now add all extconf.rb-files as extensions
- Documentation can be added too
gemify-manifest: A script which creates a manifest based on the VCS you’re using (supports Git, Darcs, Mercurial, Bazaar, SVN and CVS)
gemifyhas three new options:
--help: Shows a nice help-message *
--no-interactive: Automatically build the gem *
--from-vcs: Uses files from the VCS
I just need to speak with David to see if he got more awesome ideas to add, before I’ll pack it up and release it.
A little warning
When I first created Gemify it was a small, hackish CLI for building gems. I was completely fine with no specs; it really didn’t needed it. I knew what every line did and it wasn’t so many lines neither. But as more features have been added (thanks to David), it’s ended up as a mess. Lots of mess. Almost everything live in a single class and the difference between the CLI and the base is unclear.
In 0.3 I will split things up:
- Gemify::Base should take care about the building of the gem. It should have a nice API for setting different options, and should only use information you give it (not reading from the filesystem etc.)
- Gemity::Manifest should provide different ways to figure about which files to be included (from .manifest, VCS or just using lib/ + bin/)
- Gemify::CLI should provide a nice interface above Gemify::Base.
- bin/gemify should wrap around everything, and use Gemify::CLI for interactive-mode and Gemify::Base for non-interactive-mode.
- And the best thing: Lots of specs should be added!
Another cool feature is that it will default to using the files you have in your VCS (the manifest-file goes above that, of course) and if you need more control you should generate/create a manifest-file.
In other news
The awesome guys of RailsEnvy did also include a short “advertise” for Gemify in their newest podcast. Thanks a lot, and I’ll forgive you for not pronouncing my name correctly (I didn’t expect it).