# $Id$ package Youri::Upload::Check::Recency; =head1 NAME Youri::Upload::Check::Recency - Release check against current target =head1 DESCRIPTION This check plugin rejects packages whose a current or newer revision already exists for current upload target. =cut use warnings; use strict; use Carp; use base qw/Youri::Upload::Check/; sub run { my ($self, $package, $repository, $target, $define) = @_; croak "Not a class method" unless ref $self; my $file = $repository->get_install_file($package, $target, $define); if (-f $file) { $self->{_error} = "Current revision of package $file already exists for $target"; return 0; } my @newer_revisions = $repository->get_newer_revisions($package, $target, $define); if (@newer_revisions) { $self->{_error} = "Newer revisions of package $package already exists for $target: " . join(', ', @newer_revisions); return 0; } return 1; } =head1 COPYRIGHT AND LICENSE Copyright (C) 2002-2006, YOURI project This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut 1;