OSDN Git Service

Initial release for VER0.1.5
[lib1stclass/main.git] / add_version.pl
1 #!/usr/bin/perl\r
2 use strict;\r
3 use FileHandle;\r
4 my $release=0;\r
5 foreach my $ARGV (@ARGV){\r
6   if($ARGV=~ m!^--release!){\r
7     $release++;\r
8   }\r
9 }\r
10 \r
11 my $version='';\r
12 if(my $fh=new FileHandle("Changes")){\r
13   while(<$fh>){\r
14     my $line=$_;\r
15     if($line=~ m!^([\d\.]+)!){\r
16       $version=$1;\r
17     }\r
18     last;\r
19   }\r
20   $fh->close();\r
21 }\r
22 if($version){\r
23   if($release){\r
24     my $dir='lib1stclass-'.$version;\r
25     my @cm=('mkdir '.$dir, 'cp *.c '.$dir, 'cp *.cpp '.$dir, 'cp *.h '.$dir, 'cp *.hpp '.$dir, 'cp *.pl '.$dir, 'cp Makefile '.$dir, 'cp Changes '.$dir, 'cp README '.$dir, 'mkdir -p '.$dir.'/t', 'cp t/*.cpp '.$dir.'/t', 'cp t/*.c '.$dir.'/t', 'tar cvf '.$dir.'.src.tar '.$dir, 'gzip '.$dir.'.src.tar', 'rm -rf '.$dir);\r
26     foreach my $cm (@cm){\r
27       print $cm."\n";\r
28       system($cm);\r
29     }\r
30   }\r
31   else{\r
32     my @files=('/usr/local/include/lib1stclass.hpp', '/usr/local/include/lib1stclass.h');\r
33     foreach my $file (@files){\r
34       if(my $fh=new FileHandle($file)){\r
35         local $/=undef;\r
36         my $con=<$fh>;\r
37         $fh->close();\r
38         unless($con=~ m!// VERSION=[\d\.]+ //!){\r
39           if(my $fh=new FileHandle('>> '.$file)){\r
40             print $fh "\n// VERSION=".$version."//\n";\r
41             $fh->close();\r
42           }\r
43         }\r
44       }\r
45     }\r
46   }\r
47 }\r