diff options
Diffstat (limited to 'scripts/bump-version-number.pl')
-rw-r--r-- | scripts/bump-version-number.pl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/bump-version-number.pl b/scripts/bump-version-number.pl new file mode 100644 index 0000000..4fb7cf8 --- /dev/null +++ b/scripts/bump-version-number.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use File::Find::Object; +use IO::All; + +my $tree = File::Find::Object->new({}, 'lib/'); + +my $version_n = shift(@ARGV); + +if (!defined($version_n)) +{ + die "Specify version number as an argument! bump-version-number.pl '0.0.1'"; +} + +sub process_file +{ + # The filename. + my ($r) = @_; + + my @lines = io->file($r)->getlines(); + foreach (@lines) + { + s#(\$VERSION = "|^Version )\d+\.\d+(?:\.\d+)?("|)#$1 . $version_n . $2#e; + } + io->file($r)->print( + @lines + ); +} + +while (my $r = $tree->next()) { + if ($r =~ m{/\.(?:svn|hg|git)\z}) + { + $tree->prune(); + } + elsif ($r =~ m{\.pm\z}) + { + process_file($r); + } +} + |