Use OO-style plugins

This is mostly so we don't have to pass around common parameters like "db" and "config", and we don't have to check for the existence of methods.

A plugin now looks like this:

package Hydra::Plugin::TwitterNotification;

use parent 'Hydra::Plugin';

sub buildFinished { my ($self, $build, $dependents) = @_; print STDERR "tweeting about build ", $build->id, "\n"; # Send tweet… # Hydra database is $self->{db}. }

Created by  Eelco Dolstra  on May 8, 2013
BLVQGJ4LITFCIR3KAUX3GWAHMYH3XXFC4BDXUSXUVEJFEJ7IMM4AC
Change contents