1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/usr/bin/perl
# update_version.pl - update all package version strings for apreq
use strict;
use warnings FATAL => "all";
my $version = shift;
# .pod
# glue/perl/xsbuilder
# "This manpage documents version (\d+.\S+)"
use File::Find;
my @pod;
find(sub { push @pod, $File::Find::name if /\.pod$/ },
qw(glue/perl/xsbuilder));
my $substitution = "s/(?<=This manpage documents version )\\S+/$version/";
system "perl -i -ple '$substitution' @pod";
# .pm
# glue/perl/lib/Apache2/*
# our $VERSION = "[^"]+"
my @pm;
find(sub { push @pm, $File::Find::name if /\.pm$/ },
qw(glue/perl/lib));
my $pattern = '(?<=our \$VERSION = ")([^"]+)(?=")';
system "perl -i -ple 's/$pattern/$version/' @pm";
#
# configure.ac -
my $pattern1 = "(?<=AC_INIT\\(Apache HTTP Server Request Library, )(\\S+)(?=,)";
my $pattern2 = "(?<=AM_INIT_AUTOMAKE\\(libapreq2, )(\\S+)(?=\\))";
system "perl -i -ple 's/$pattern1/$version/ or s/$pattern2/$version/' configure.ac";
#
# win32/Configure.pl
# my $VERSION = '[^']+'
my $pattern3 = qr/my \$VERSION = "2.17"/;
my $replace = "my \\\$VERSION = \"$version\"";
system "perl -i -ple 's/$pattern3/$replace/' win32/Configure.pl";
# RELEASE/WEBSITE/this script
system "perl -i -ple 's/2.17/$version/' build/RELEASE";
system "perl -i -ple 's/2.17/$version/' build/WEBSITE";
system "perl -i -ple 's/2.17/$version/' build/update_version.pl";
|