1package Minilla::Release::CheckChanges;
2use strict;
3use warnings;
4use utf8;
5use ExtUtils::MakeMaker qw(prompt);
6
7use Minilla::Util qw(edit_file slurp);
8use Minilla::Logger;
9
10sub run {
11    my ($self, $project, $opts) = @_;
12
13    my $version = $project->version;
14
15    if ($ENV{PERL_MINILLA_SKIP_CHECK_CHANGE_LOG}) {
16        infof("Okay, you are debugging now.\n");
17        return;
18    }
19
20    until (slurp('Changes') =~ /^\{\{\$NEXT\}\}\n+[ \t]+\S/m) {
21        infof("No mention of {{\$NEXT}} in changelog file 'Changes'\n");
22        if (prompt("Edit file?", 'y') =~ /y/i) {
23            edit_file('Changes');
24        } else {
25            errorf("Giving up!\n");
26        }
27    }
28}
29
301;
31
32