Commit | Line | Data |
003ad545 |
1 | #!/usr/bin/env perl |
2 | |
003ad545 |
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; |
3948d060 |
10 | if (@parts == 2) { |
11 | @parts[1,2] = $parts[1] =~ /(\d{1,3})(\d{1,3})/; |
12 | } |
003ad545 |
13 | |
14 | my $OLD_DECIMAL = sprintf('%i.%03i%03i', @parts); |
15 | |
16 | my %bump_part = (major => 0, minor => 1, bugfix => 2); |
17 | |
3948d060 |
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); |
003ad545 |
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 | |
3948d060 |
31 | for my $PM_FILE (qw( |
32 | lib/App/FatPacker.pm |
33 | )) { |
34 | my $file = do { local (@ARGV, $/) = ($PM_FILE); <> }; |
003ad545 |
35 | |
3948d060 |
36 | $file =~ s/(?<=\$VERSION = ')${\quotemeta $OLD_DECIMAL}/${NEW_DECIMAL}/ |
37 | or die "unable to bump version number in $PM_FILE"; |
003ad545 |
38 | |
3948d060 |
39 | open my $out, '>', $PM_FILE; |
003ad545 |
40 | |
3948d060 |
41 | print $out $file; |
42 | } |