Support X.Y.Z.D Perl versions
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/6513de06 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/6513de06 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/6513de06 Branch: refs/heads/master Commit: 6513de06954cd41f99345bde513cf6ce6faed078 Parents: 7101590 Author: Nick Wellnhofer <wellnho...@aevum.de> Authored: Thu Nov 24 15:31:14 2016 +0100 Committer: Nick Wellnhofer <wellnho...@aevum.de> Committed: Fri Dec 2 20:15:14 2016 +0100 ---------------------------------------------------------------------- devel/bin/update_version | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/6513de06/devel/bin/update_version ---------------------------------------------------------------------- diff --git a/devel/bin/update_version b/devel/bin/update_version index 5adaadb..35c8dd0 100755 --- a/devel/bin/update_version +++ b/devel/bin/update_version @@ -28,28 +28,33 @@ my $usage = "$0 version\n"; my $version = shift(@ARGV) or die $usage; # standardize version strings -my ( $x, $y, $z, $dev ); +my ( $x, $y, $z, $dev_sep, $dev ); if ( $version =~ m/^(\d+)\.(\d+)\.(\d+)$/ ) { ( $x, $y, $z, $dev ) = ( $1, $2, $3, 0 ); } -elsif ( $version =~ m/^(\d+)\.(\d+)\.(\d+)_(\d+)$/ ) { - ( $x, $y, $z, $dev ) = ( $1, $2, $3, $4 ); +elsif ( $version =~ m/^(\d+)\.(\d+)\.(\d+)([._])(\d+)$/ ) { + ( $x, $y, $z, $dev_sep, $dev ) = ( $1, $2, $3, $4, $5 ); } elsif ( $version =~ m/^(\d+)\.(\d\d\d)(\d\d\d)$/ ) { ( $x, $y, $z, $dev ) = ( int($1), int($2), int($3), 0 ); } -elsif ( $version =~ m/^(\d+)\.(\d\d\d)(\d\d\d)_(\d\d\d)$/ ) { - ( $x, $y, $z, $dev ) = ( int($1), int($2), int($3), int($4) ); +elsif ( $version =~ m/^(\d+)\.(\d\d\d)(\d\d\d)(_)?(\d\d\d)$/ ) { + ( $x, $y, $z, $dev_sep, $dev ) + = ( int($1), int($2), int($3), defined($4) ? $4 : '.', int($5) ); } else { die "Unknown version syntax. Try X.Y.Z or X.YYYZZZ\n"; } my $x_y_z_version = sprintf( "%d.%d.%d", $x, $y, $z ); my $x_y_z_d_version = $dev - ? sprintf( "%d.%d.%d_%d", $x, $y, $z, $dev ) + ? $dev_sep eq '_' + ? sprintf( "%d.%d.%d_%d", $x, $y, $z, $dev ) + : sprintf( "%d.%d.%d.%d", $x, $y, $z, $dev ) : sprintf( "%d.%d.%d", $x, $y, $z ); my $x_yyyzzz_version = $dev - ? sprintf( "%d.%03d%03d_%03d", $x, $y, $z, $dev ) + ? $dev_sep eq '_' + ? sprintf( "%d.%03d%03d_%03d", $x, $y, $z, $dev ) + : sprintf( "%d.%03d%03d%03d", $x, $y, $z, $dev ) : sprintf( "%d.%03d%03d", $x, $y, $z ); print "Using version: $x_y_z_version ( $x_yyyzzz_version )\n";