Releasable

Planned future releases’ $$ .*? (^^‘ ’(\d\d\d\d‘-’\d\d‘-’\d\d)\s+ ‘Rakudo #’(\d+) [\s+‘(’ (<-[)]>+) ‘)’]? \n)+ /; my @dates = $0.map: { %(date => Date.new(~.[0]), id => +.[1], manager => (.Str with .[2])) }; my $important-date; my $annoying-warning = False; # only one annoying message can printed (so far none) for @dates { my $release = .<date>.yyyy-mm-dd.split(‘-’)[0,1].join: ‘.’; if not to-full-commit $release { $important-date = $_; if not .<manager> and not $annoying-warning { reply $msg, “Release manager is not specified yet.” } last } if not $annoying-warning { $annoying-warning = True; reply $msg, “Release date for Rakudo $release is listed in” ~ “ “Planned future releases”, but it was already released.”; } } die ‘Release date not found’ without $important-date; DateTime.new: date => $important-date<date>, hour => $RELEASE-HOUR; }

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.