[Nitro] Ratchets releases: projectinfo, exacto, autorake
transfire at gmail.com
transfire at gmail.com
Fri Feb 9 14:08:42 EST 2007
Hi--
I've released three ratchets' project today.
projectinfo
==========
This is the ProjectInfo class (which was born from reap) it's doesn't
do anything on it's own. It's a support library for providing
encapsulation of project information --it's quite extensive however,
and somewhat unique in functionality. Also it can load up from a YAML
configuration simply by
ProjectInfo.load
As long as your somewhere down in your project directory this will
find it and load it up. (FYI, for the moment you have to create
ProjectInfo files by hand. To make it easier just copy the one from
projectinfo itself and edit to suit your needs.)
exacto
======
This is a independent tool for extracting code from comments.
Presently is only support =begin {handle}...=end comments, though I
plan to make it more capable in the future. handle defaults to "test",
which makes it a cinch to run embedded tests. Use it like this:
$ exacto myfile.rb | ruby
It also incudes a shortcut for the above called 'exrb'
$ exrb myfile.rb
autorake
========
This is main part of rathcets i've been working on. i decided to scale
back a little and use rake as the task execution system (in the future
I may split out the internal Project class (as reap?) that does all
the work, but there sill some details to address with that). if you
used reap in the past then you essentially know how to use autorake
except it's more polished now. quick example:
~/ruby/autorake$ rake -T
(in /file/trans/my/code/ruby/ratchets/src/autorake)
AutoRake 0.4 beta
rake announce # Make a release announcement
rake changelog # Produce changelog (None)
rake check # Rundown checklist
rake diff # Verify the manifest
rake install # Local setup & install
rake loads # Test loadpath dependencies
rake manifest # Generate package manifest
rake notes # Compile developer notes
rake pack # Build all packages
rake prepare # Full preperations cycle
rake publish # Publish website (Rubyforge)
rake rdocs # Generate local rdocs
rake release # Release packages (Rubyforge)
rake ridocs # Generate local ri docs
rake stats # Code count analysis
rake syntax # Run syntax check
rake test # Run isolated unit test
rake tests # Extract embedded tests
rake version # Calculate version (None)
All you need is a ProjectInfo file in you project's root dir, and a
Rakefile that starts with:
require 'autorake'
Couple of quick notes b/c I haven't done docs yet. The (None) you see
means there is no SCM being used. If I were using Darcs for the
AutoRake project it would say (Darcs) and could generate a version
stamp and a changelog automatically via 'darcs' (file names default to
VERSION and CHANGES). Subversion is not yet supported but that's next
on the todo list (would any would like to make the adapter? :-) rdocs
and ridocs, by default are stored in doc/rdoc and doc/ri,
respectively. notes generate TODO and FIXME files in doc/ as well. The
check task runs diff, syntax, loads and test, in that order; prepare
runs changelog, version, manifest and then pack. Currently I'm using
Rake's packaging system which is a little messy (IMHO) but it works
well enough. Also, at the moment, only Rubyforge publishing and
releasing is supported. On the todo list are generic versions of each.
The only other major things it doesn't yet support is clean/clobber.
This isn't a problem for pure ruby projects b/c internally it uses an
"ignore" configuration parameter to only include the appropriate files
in the manifest and the package. but clean/clobber is on the todo
list.
Being initial public releases of course there will arise some issue,
please let me know what you encounter so I can fix asap. Note these
have only been tested on Linux. Also, always good advice: be safe and
backup up your projects from time to time.
T.
P.S. Facets is of course is required ;-)
More information about the Nitro-general
mailing list