Use OO-style plugins

[?]
May 8, 2013, 4:34 PM
BLVQGJ4LITFCIR3KAUX3GWAHMYH3XXFC4BDXUSXUVEJFEJ7IMM4AC

Dependencies

  • [2] IUCHXUJP Use "can" to check whether a plugin supports buildFinished
  • [3] MNZ67UXO If a build step fail, immediately fail all queued builds that depend on it
  • [4] 5EQYVRWE Add a plugin mechanism
  • [5] L2E6EVE2 * Merged the Build and Job tables.
  • [*] 7YBYT2LQ
  • [*] WQXF2T3D hydra-evaluator: Don't require $HYDRA_CONFIG
  • [*] QUTWJR7P * Include more info in notification emails.

Change contents

  • edit in src/lib/Hydra/Plugin/EmailNotification.pm at line 4
    [3.77]
    [3.77]
    use parent 'Hydra::Plugin';
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 33
    [3.693][3.693:749]()
    my ($self, $db, $config, $build, $dependents) = @_;
    [3.693]
    [3.749]
    my ($self, $build, $dependents) = @_;
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 38
    [3.803][3.803:856]()
    ($prevBuild) = $db->resultset('Builds')->search(
    [3.803]
    [3.856]
    ($prevBuild) = $self->{db}->resultset('Builds')->search(
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 72
    [3.2155][3.2155:2208]()
    my $sender = $config->{'notification_sender'} ||
    [3.2155]
    [3.2208]
    my $sender = $self->{config}->{'notification_sender'} ||
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 75
    [3.2264][3.2264:2332]()
    my $selfURI = $config->{'base_uri'} || "http://localhost:3000";
    [3.2264]
    [3.2332]
    my $selfURI = $self->{config}->{'base_uri'} || "http://localhost:3000";
  • edit in src/lib/Hydra/Plugin/EmailNotification.pm at line 167
    [3.5859]
    [3.5859]
  • edit in src/lib/Hydra/Plugin.pm at line 3
    [3.5934]
    [3.5934]
    use strict;
  • replacement in src/lib/Hydra/Plugin.pm at line 6
    [3.5992][3.5992:6014]()
    require => 1;
    [3.5992]
    [3.6014]
    instantiate => 'new';
    sub new {
    my ($class, %args) = @_;
    my $self = { db => $args{db}, config => $args{config} };
    bless $self, $class;
    return $self;
    }
  • edit in src/lib/Hydra/Plugin.pm at line 15
    [3.6015][3.6015:6078]()
    # $plugin->buildFinished($db, $config, $build, $dependents):
    #
  • edit in src/lib/Hydra/Plugin.pm at line 19
    [3.6304]
    [3.6304]
    sub buildFinished {
    my ($self, $build, $dependents) = @_;
    }
  • edit in src/script/hydra-build at line 19
    [8.199]
    [9.1062]
    my @plugins = Hydra::Plugin->plugins(db => $db, config => $config);
  • replacement in src/script/hydra-build at line 84
    [2.48][2.48:149]()
    foreach my $plugin (Hydra::Plugin->plugins) {
    next unless $plugin->can('buildFinished');
    [2.48]
    [2.149]
    foreach my $plugin (@plugins) {
  • replacement in src/script/hydra-build at line 86
    [2.164][2.164:226]()
    $plugin->buildFinished($db, $config, $build, []);
    [2.164]
    [2.226]
    $plugin->buildFinished($build, []);