more flexible version matching when bumping Makefile.PL
[p5sagit/Distar.git] / lib / Distar / helpers / bump-version
index b72e905..c7aee46 100755 (executable)
@@ -84,7 +84,7 @@ my $FILE_RE = qr{
   (.*)$
 }x;
 my $MAKE_RE = qr{
-  (^.* ['"]?version['"] \s* => \s* )
+  (^.* ['"]?(?:version|VERSION)['"]? \s* => \s* )
   (['"]?) v?([0-9]+(?:[._][0-9]+)*) \2
   ( \s*, )
   (?:
@@ -183,7 +183,7 @@ sub version_parts {
 sub bump_version {
   my ($version, $new) = @_;
 
-  my %bump_part = (major => 0, minor => 1, bugfix => 2, last => -1);
+  my %bump_part = (major => 0, minor => 1, bugfix => 2, patch => 2, last => -1);
   my $bump_this = $bump_part{$new||'last'};
 
   my $new_vstring;
@@ -227,7 +227,12 @@ sub bump_version {
         my $cut_len = $bump_this * 3;
         $dec_len = $cut_len
           if $dec_len < $cut_len;
-        $new_decimal =~ s/(\..{1,$cut_len}).*/$1/;
+        if ($cut_len) {
+          $new_decimal =~ s/(\..{1,$cut_len}).*/$1/;
+        }
+        else {
+          $new_decimal =~ s/\..*//;
+        }
       }
       $new_decimal += 10 ** -($bump_this == -1 ? $dec_len : ($bump_this * 3));
       $new_decimal = sprintf "%.${dec_len}f", $new_decimal;