hydra/src/lib/Hydra/Plugin.pm
Shea Levy 687ca429c3 Pass project and jobset to fetchInput
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-29 15:33:22 -04:00

53 lines
1.4 KiB
Perl
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package Hydra::Plugin;
use strict;
use Module::Pluggable
search_path => "Hydra::Plugin",
instantiate => 'new';
sub new {
my ($class, %args) = @_;
my $self = { db => $args{db}, config => $args{config}, plugins => $args{plugins} };
bless $self, $class;
return $self;
}
sub instantiate {
my ($class, %args) = @_;
my $plugins = [];
$args{plugins} = $plugins;
push @$plugins, $class->plugins(%args);
return @$plugins;
}
# Called when build $build has finished. If the build failed, then
# $dependents is an array ref to a list of builds that have also
# failed as a result (i.e. because they depend on $build or a failed
# dependeny of $build).
sub buildFinished {
my ($self, $build, $dependents) = @_;
}
# Called to determine the set of supported input types. The plugin
# should add these to the $inputTypes hashref, e.g. $inputTypes{'svn'}
# = 'Subversion checkout'.
sub supportedInputTypes {
my ($self, $inputTypes) = @_;
}
# Called to fetch an input of type $type. $value is the input
# location, typically the repository URL.
sub fetchInput {
my ($self, $type, $name, $value, $project, $jobset) = @_;
return undef;
}
# Get the commits to repository $value between revisions $rev1 and
# $rev2. Each commit should be a hash { revision = "..."; author =
# "..."; email = "..."; }.
sub getCommits {
my ($self, $type, $value, $rev1, $rev2) = @_;
return [];
}
1;