coming soon...

| | Comments (4)

1.9 compatibility:

I've been focusing on 1.9 compatibility lately and while most of my stuff was good to go, there were still some lingering issues here and there. Check it:

% ./sanity_report.rb
Project: 1.8.6-p287, 1.8.6-p368, 1.8.7-p160, 1.8.7-p72, 1.9.1-p0, 1.9.1-p129
hoe            : T, T, T, T, T, T : needs release
ZenTest        : T, T, T, T, T, T : needs release
minitest       : T, T, T, T, T, T : needs release
RubyInline     : T, T, T, T, T, T : needs release
sexp_processor : T, T, T, T, T, T : needs release
ParseTree      : T, T, T, T, T, T : needs release
ruby_parser    : T, T, T, T, T, T : needs release
ruby2ruby      : T, T, T, T, T, T : up-to-date
heckle         : T, T, T, T, T, T : needs release
flog           : T, T, T, T, T, T : needs release
flay           : T, T, T, T, T, T : needs release
vlad           : T, T, T, T, T, T : needs release
ruby_to_c      : T, T, T, T, F, F : needs release
png            : T, T, T, T, F, F : needs release

passed: 74 failed: 4

...fear the coming avalanche... :P

Hoe Awesomeness:

I'm also working on a total revamp of hoe by finally figuring out a good way to make it pluggable and splitting out almost all of its functionality into plugins (all still activated by default). As a result, hoe.rb is currently 44% of the original size and is much much cleaner. That also means that things that I considered orthogonal to hoe can be written by others and easily available to you. It also has a new DSLish way of defining specs

Imagine:

Hoe.plugin :perforce
Hoe.plugin :minitest
Hoe.plugin :email

Hoe.spec "hoe" do
  developer "Ryan Davis", "ryand-ruby@zenspider.com"

  self.rubyforge_name = "seattlerb"

  blog_categories << "Seattle.rb" << "Ruby"
  publish_emails << "ruby@zenspider.com" << "ruby-talk@ruby-lang.org"

  pluggable!
end

None of those plugins exist yet... Here is what I've pulled out so far:

% ls lib/hoe
clean.rb    flay.rb     package.rb  rcov.rb
debug.rb    flog.rb     publish.rb  signing.rb
deps.rb     inline.rb   rake.rb     test.rb

and the plugin structure is really easy:

module Hoe::Blah
  def initialize_blah   # optional
    # ...
  end

  def define_blah_tasks # mandatory
    # ...
  end
end

4 Comments

What does your sanity_report script do? It looks like it tests each of your projects under multiple Ruby versions?

Oh awesome news, re: hoe. What mechanism will it use to discover other plugins? /lib/hoe_plugins.rb in gems?

It'll be using Gem.find_files with "hoe/*.rb" as its glob pattern.

you're right. sanity_report goes through most of my major projects and runs rake multi on them and scans the output. It also create HTML reports but I usually don't look at that.

multiruby rocks!

Leave a comment

About this Entry

This page contains a single entry by zenspider published on May 31, 2009 9:27 PM.

user registration fixed was the previous entry in this blog.

hoe version 2.0.0 has been released! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.32-en