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;
}