# $Id: Precedence.pm 1687 2007-06-28 22:44:07Z guillomovitch $ package Youri::Submit::Test::Precedence; =head1 NAME Youri::Submit::Test::Precedence - Release test against another test =head1 DESCRIPTION This test rejects packages whose an older revision already exists for another upload target. It assumes given set of package is canonical, and only check first one. =cut use warnings; use strict; use Carp; use base qw/Youri::Submit::Step/; sub _init { my $self = shift; my %options = ( _target => undef, # mandatory targets @_ ); croak "undefined target" unless $options{target}; $self->{_target} = $options{target}; } sub process_package { my ($self, $packages, $repository, $target, $context) = @_; croak "Not a class method" unless ref $self; my $errors; my $package = $packages->[0]; my @older_revisions = $repository->get_older_revisions($package, $self->{_target}, $context); $errors .= "older revisions still exists for $self->{_target}: " . join(', ', @older_revisions) if @older_revisions; } croak $errors if $errors; } =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;