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
Copyright
- Author
-
cho45 <[email protected]>
- Copyright
-
Copyright © 2008 cho45
- License
-
Ruby’s