Commit | Line | Data |
253d7c99 |
1 | #!/usr/bin/env perl |
2 | |
253d7c99 |
3 | use strict; |
4 | use warnings FATAL => 'all'; |
5 | use autodie; |
6 | |
7 | chomp(my $LATEST = qx(grep '^[0-9]' Changes | head -1 | awk '{print \$1}')); |
8 | |
9 | my @parts = split /\./, $LATEST; |
f7128122 |
10 | if (@parts == 2) { |
11 | @parts[1,2] = $parts[1] =~ /(\d{1,3})(\d{1,3})/; |
12 | } |
253d7c99 |
13 | |
14 | my $OLD_DECIMAL = sprintf('%i.%03i%03i', @parts); |
15 | |
16 | my %bump_part = (major => 0, minor => 1, bugfix => 2); |
17 | |
5d5bb71d |
18 | my $bump_this = $bump_part{$ARGV[0]||'bugfix'}; |
19 | |
20 | die "no idea which part to bump - $ARGV[0] means nothing to me" |
21 | unless defined($bump_this); |
253d7c99 |
22 | |
23 | my @new_parts = @parts; |
24 | |
25 | $new_parts[$bump_this]++; |
26 | |
27 | my $NEW_DECIMAL = sprintf('%i.%03i%03i', @new_parts); |
28 | |
29 | warn "Bumping $OLD_DECIMAL -> $NEW_DECIMAL\n"; |
30 | |
013a2be3 |
31 | for my $PM_FILE (qw( |
32 | lib/Moo.pm |
33 | lib/Moo/Role.pm |
34 | lib/Sub/Defer.pm |
35 | lib/Sub/Quote.pm |
36 | )) { |
f7128122 |
37 | my $file = do { local (@ARGV, $/) = ($PM_FILE); <> }; |
253d7c99 |
38 | |
f7128122 |
39 | $file =~ s/(?<=\$VERSION = ')${\quotemeta $OLD_DECIMAL}/${NEW_DECIMAL}/ |
40 | or die "unable to bump version number in $PM_FILE"; |
253d7c99 |
41 | |
f7128122 |
42 | open my $out, '>', $PM_FILE; |
253d7c99 |
43 | |
f7128122 |
44 | print $out $file; |
45 | } |