README

Path: README
Last Update: Thu Jul 23 06:25:51 +0900 2009

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 http://svn.coderepos.org/share/lang/ruby/shipit/trunk shipit

Copyright

Author:cho45 <cho45@lowreal.net>
Copyright:Copyright (c) 2008 cho45
License:Ruby‘s

[Validate]