Sha256: fc6e3cdc2ef08ab4e88b5a458c2e80712a50ea58e910d184c6474b1be2e5b9bc

Contents?: true

Size: 1.89 KB

Versions: 36

Compression:

Stored size: 1.89 KB

Contents

== Corundum
=== Foolproof rubygems

With Corudum added as a developement dependancy to your gemspec, and configured
(quickly) in your Rakefile you can do:

    rake release

and know that you're publishing something you won't be embarrassed by.

=== Yet Another Rubygems packager?

Why is Corundum different from Jeweler or Hoe?  (or...) Corundum isn't built
to generate code - it doesn't build gems for you if you don't know how or don't
care to.  For that, check out {http://rubygems.org/gems/jeweler Jeweler}, and
come back once you've understood what a .gemspec is and how it works.

Because, really, writing a gem is pretty easy - you can do it in a gist if you
want.  And releasing Gems isn't all that hard either - rubygems has good tools
to package up gems and push them to gem servers.  So why Corundum?

Because releasing a gem that will actually help the Ruby community at large is
actually quite difficult.  There are lot of fiddly details to get wrong, and
even experienced devs can be
{https://github.com/jbarnette/hoe-doofus/blob/master/lib/hoe/doofus.rb#L16
doofuses} sometimes.  Corundum serves as a collection of safeguards against
common errors in releasing gems - certainly every one that's happened to me.

=== Using Corundum

In your coolgem.gemspec:

    spec.add_development_dependency "corundum"

In you Gemfile:

    gemspec

(But you were doing that anyway, right?)

Check out this Rakefile:

{include:file:Rakefile.rb}

That's the whole thing.  Now 'rake release' will push the current version of
the gem, but only if we can go through a complete a correct QA process.
(Incidentally, that's the Rakefile for Corundum itself.)

The other goal with Corundum is to present all of these tools as
configurable Tasklibs, so the power of Rake remains available.  If you want
to do

    task :default => :release

Then 'rake' will do your releases.

Digging in, the first thing to look at is {Corundum::Toolkit}

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
corundum-0.6.3 doc/README
corundum-0.6.2 doc/README
corundum-0.6.1 doc/README
corundum-0.6.0 doc/README
corundum-0.5.0 doc/README
corundum-0.4.1 doc/README
corundum-0.4.0 doc/README
corundum-0.3.9 doc/README
corundum-0.3.8 doc/README
corundum-0.3.7 doc/README
corundum-0.3.6 doc/README
corundum-0.3.5 doc/README
corundum-0.3.4 doc/README
corundum-0.3.3 doc/README
corundum-0.3.2 doc/README
corundum-0.3.1 doc/README
corundum-0.3 doc/README
corundum-0.2 doc/README
corundum-0.1.4 doc/README
corundum-0.1.3 doc/README