shipit

Description

shipit is automation of release process with Rake tasks.

This is a port of ShipIt, originally written in Perl by Brad Fitzpatrick. But this is very different from original version (don't use .shipit and always use with Rake.) because almost ruby libraries use Rakefile to release process.

Installation

Archive Installation

rake install

Gem Installation

gem install shipit

Features/Problems

  • svn, git only…

Synopsis

Example (This is from shipit gem Rakefile):

Rake::ShipitTask.new do |s| s.Step.new { system(“svn”, “up”) }.and {} s.Task :rubyforge s.Step.new { raise “svn2cl.sh is not found” unless system(“svn2cl.sh”, “–version”) }.and { system(“svn2cl.sh –break-before-msg=2 –group-by-day –include-rev –separate-daylogs”) } s.ChangeVersion __FILE__, “VERS” s.Commit s.Task :clean, :package s.RubyForge s.Tag s.Twitter end

See more example at Rakefile of shipit.rb.

Some constants are currently hard-coded.

  • NAME -> name of the library.

  • DESCRIPTION -> description of the library

  • VERS -> version of the library

    This is MUST reference to version string of ChangeVersion step, or
    the package task will fail and RubyForge step release wrong version.
    

If you use different constants, please assign the value to above constants.

Development

This library currently consider different environments. If you use cutagem, this library works fine :)

And this library is hosted on CodeRepos, so you have some ideas for this library, please commit to repository:

$ svn co svn.coderepos.org/share/lang/ruby/shipit/trunk shipit

Author

cho45 <[email protected]>

Copyright

Copyright © 2008 cho45

License

Ruby's