From 308318092d308b42c60dd7c40ffd6d439c0a669b Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Mon, 5 Mar 2012 20:29:54 +0000 Subject: Add a Youri::Submit::Action to run ulri --- lib/Youri/Submit/Action/Ulri.pm | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 lib/Youri/Submit/Action/Ulri.pm (limited to 'lib') diff --git a/lib/Youri/Submit/Action/Ulri.pm b/lib/Youri/Submit/Action/Ulri.pm new file mode 100644 index 0000000..221676a --- /dev/null +++ b/lib/Youri/Submit/Action/Ulri.pm @@ -0,0 +1,53 @@ +# $Id$ +package Youri::Submit::Action::Ulri; + +=head1 NAME + +Youri::Submit::Action::Ulri - Runs ulri on the upload host + +=head1 DESCRIPTION + +This action plugin runs ulri to try starting a build + +=cut + +use warnings; +use strict; +use Carp; +use base qw/Youri::Submit::Action/; + +sub _init { + my $self = shift; + my %options = ( + uphost => '', + user => '', + ssh_key => '', + verbose => '', + @_ + ); + croak "undefined upload host" unless $options{uphost}; + croak "undefined ssh key" unless $options{ssh_key}; + + foreach my $var ('user', 'uphost', 'ssh_key', 'verbose') { + $self->{"_$var"} = $options{$var}; + } + + return $self; +} + +sub run { + my ($self, $package, $repository, $target, $define) = @_; + croak "Not a class method" unless ref $self; + + my $cmd = "ssh -i $self->{_ssh_key} $self->{_user}\@$self->{_uphost} ulri"; + print "Submit::Action::Ulri: doing $cmd\n" if $self->{_verbose}; +} +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2002-2012, YOURI project + +This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. + +=cut + +1; -- cgit v1.2.1