You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2016/01/31 16:03:09 UTC

[3/6] lucy git commit: Add support for CPAN developer releases

Add support for CPAN developer releases

Now the "update_version" script can be used to set CPAN developer
versions containing an underscore.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/a8d6d524
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/a8d6d524
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/a8d6d524

Branch: refs/heads/0.4
Commit: a8d6d524fb1f0e7e48d6748785a8060d9180eab8
Parents: 3f97b23
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Jan 26 17:08:05 2016 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Thu Jan 28 17:11:51 2016 +0100

----------------------------------------------------------------------
 devel/bin/update_version | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/a8d6d524/devel/bin/update_version
----------------------------------------------------------------------
diff --git a/devel/bin/update_version b/devel/bin/update_version
index 0cc0f8c..8fd3768 100755
--- a/devel/bin/update_version
+++ b/devel/bin/update_version
@@ -28,18 +28,29 @@ my $usage = "$0 version\n";
 my $version = shift(@ARGV) or die $usage;
 
 # standardize version strings
-my ( $x, $y, $z );
+my ( $x, $y, $z, $dev );
 if ( $version =~ m/^(\d+)\.(\d+)\.(\d+)$/ ) {
     ( $x, $y, $z ) = ( $1, $2, $3 );
 }
+elsif ( $version =~ m/^(\d+)\.(\d+)\.(\d+)_(\d+)$/ ) {
+    ( $x, $y, $z, $dev ) = ( $1, $2, $3, $4 );
+}
 elsif ( $version =~ m/^(\d+)\.(\d\d\d)(\d\d\d)$/ ) {
     ( $x, $y, $z ) = ( int($1), int($2), int($3) );
 }
+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) );
+}
 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_yyyzzz_version = sprintf( "%d.%03d%03d", $x, $y, $z );
+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 )
+                       : sprintf( "%d.%d.%d", $x, $y, $z );
+my $x_yyyzzz_version = $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";
 
@@ -61,19 +72,19 @@ for my $path ('common/charmonizer.c', 'common/charmonizer.main') {
 $buf = read_file('perl/lib/Lucy.pm');
 $buf =~ s/(our \$VERSION\ +=\ +)'.+?'/$1'$x_yyyzzz_version'/g
     or die "no match";
-$buf =~ s/(bootstrap\s+Lucy\s+)'[\d\.]+'/$1'$x_y_z_version'/
+$buf =~ s/(bootstrap\s+Lucy\s+)'[\d\._]+'/$1'$x_y_z_d_version'/
     or die "no match";
 write_file( 'perl/lib/Lucy.pm', $buf );
 
 # Update Lucy.pod.
 $buf = read_file('perl/lib/Lucy.pod');
-$buf =~ s/(^=head1\s+VERSION\s+)([\d.]+)/$1$x_y_z_version/m
+$buf =~ s/(^=head1\s+VERSION\s+)([\d._]+)/$1$x_y_z_d_version/m
     or die "no match";
 write_file( 'perl/lib/Lucy.pod', $buf );
 
 # Update Build.PL
 $buf = read_file('perl/Build.PL');
-$buf =~ s/(dist_version\ +=>\ +)'.+?'/$1'$x_y_z_version'/
+$buf =~ s/(dist_version\ +=>\ +)'.+?'/$1'$x_y_z_d_version'/
     or die "no match";
 write_file( 'perl/Build.PL', $buf );
 
@@ -164,7 +175,9 @@ depending on the file format and type.
 I<version> may be specified in either format:
 
  X.Y.Z
+ X.Y.Z_D (CPAN developer release)
  X.YYYZZZ
+ X.YYYZZZ_DDD (CPAN developer release)
 
 and update_version will convert the specified string into the 
 correct format for each relevant file.