You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2012/02/28 21:50:20 UTC

[lucy-commits] svn commit: r1294825 - /incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm

Author: marvin
Date: Tue Feb 28 20:50:19 2012
New Revision: 1294825

URL: http://svn.apache.org/viewvc?rev=1294825&view=rev
Log:
Extract version number manually from Lucy.pm.

Old versions of Module::Build::ModuleInfo have trouble extracting version
numbers from the current Lucy.pm, so slurp the file and use a regex to extract
it manually.

Modified:
    incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm

Modified: incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm?rev=1294825&r1=1294824&r2=1294825&view=diff
==============================================================================
--- incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm (original)
+++ incubator/lucy/trunk/perl/buildlib/Lucy/Build.pm Tue Feb 28 20:50:19 2012
@@ -69,7 +69,6 @@ use File::Spec::Functions
 use File::Path qw( mkpath rmtree );
 use File::Copy qw( copy move );
 use File::Find qw( find );
-use Module::Build::ModuleInfo;
 use Config;
 use Env qw( @PATH );
 use Fcntl;
@@ -562,8 +561,13 @@ sub ACTION_compile_custom_xs {
 
     # .c => .o
     my $lucy_pm_file = catfile( $LIB_DIR, 'Lucy.pm' );
-    my $info    = Module::Build::ModuleInfo->new_from_file($lucy_pm_file);
-    my $version = $info->version;
+    open( my $lucy_pm_fh, '<', $lucy_pm_file )
+        or confess "Can't open '$lucy_pm_file': $!";
+    my $lucy_pm_contents = do { local $/; <$lucy_pm_fh> };
+    close $lucy_pm_fh or confess $!;
+    $lucy_pm_contents =~ /^our \$VERSION = '([\d.]+)';/m
+        or confess "Can't extract version number from '$lucy_pm_file'";
+    my $version = $1;
     my $perl_binding_o_file = catfile( $LIB_DIR, "Lucy$Config{_o}" );
     unshift @objects, $perl_binding_o_file;
     $self->add_to_cleanup($perl_binding_o_file);