Mackerel-ReleaseUtils

 view release on metacpan or  search on metacpan

lib/Mackerel/ReleaseUtils.pm  view on Meta::CPAN


sub build_pull_request_body {
    my ($next_version, @releases) = @_;
    my $body = "Release version $next_version\n\n";
    for my $rel (@releases) {
        $body .= sprintf "- %s #%s\n", $rel->{title}, $rel->{number};
    }
    $body;
}

sub update_versions {
    my ($package_name, $current_version, $next_version) = @_;

    ### update versions
    my $cur_ver_reg = quotemeta $current_version;

    # update rpm spec
    replace sprintf('packaging/rpm/%s*.spec', $package_name) => sub {
        my $content = shift;
        $content =~ s/^(Version:\s+)$cur_ver_reg/$1$next_version/ms;
        $content;

lib/Mackerel/ReleaseUtils.pm  view on Meta::CPAN

    command qw/gobump set/, $next_version, '-w';
}

sub _detect_debian_revision {
    my ($packagen_name, $content) = @_;
    my $p = quotemeta $packagen_name;
    my ($debian_revision) = $content =~ /^$p \([0-9]+(?:\.[0-9]+){2}-([^)]+)\) stable;/ms;
    $debian_revision;
}

sub update_changelog {
    my ($package_name, $next_version, @releases) = @_;

    my $email = 'mackerel-developers@hatena.ne.jp';
    my $name  = 'mackerel';

    my $old_locale = setlocale(LC_TIME);
    setlocale(LC_TIME, "C");
    my $g = guard {
        setlocale(LC_TIME, $old_locale);
    };

lib/Mackerel/ReleaseUtils.pm  view on Meta::CPAN


        my $update = sprintf "\n\n## %s (%s)\n\n", $next_version, $now->strftime('%Y-%m-%d');
        for my $rel (@releases) {
            $update .= sprintf "* %s #%d (%s)\n", $rel->{title}, $rel->{number}, $rel->{user}{login};
        }
        $content =~ s/\A# Changelog/# Changelog$update/;
        $content;
    };
}

sub update_makefile {
    my $next_version = shift;
    replace 'Makefile' => sub {
        my $content = shift;
        $content =~ s/^VERSION( *:*= *).*?\n/VERSION$1$next_version\n/ms;
        $content;
    };
}

sub create_release_pull_request {
    my ($package_name, $code, $opt_next_version) = @_;



( run in 0.226 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )