188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuif ($#ARGV < 1) { 388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "Usage: binderVersion.pl VER FILE {FILE, FILE}\n"; 488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu exit; 588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu$V= $ARGV[0]; 888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu# Trim -SNAPSHOT 988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu$V =~ s/-SNAPSHOT//; 1088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuprint "VER:${V}\r\n"; 1288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcushift(@ARGV); 1388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcusub replace () { 1588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu my $filename = $_[0]; 1688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 1788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu if(-s $filename) { 1888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "Processing [" . $filename . "]\r\n"; 1988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 2088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu my $original = "$filename.original"; 2188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 2288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu rename($filename, $original); 2388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu open(OUT, ">$filename"); 2488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu open(IN, "$original"); 2588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 2688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu while(<IN>) { 2788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu if(/VERSION\s+=\s+".*";/) { 2888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu s/VERSION\s+=\s+".*";/VERSION = "${V}";/; 2988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 3088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print OUT; 3188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 3288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu close(IN); 3388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu close(OUT); 3488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu unlink($original); 3588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } else { 3688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu print "File [" . $filename . "] does not exist\r\n" 3788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu } 3888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 3988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 4088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuforeach $ARG (@ARGV) { 4188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu do replace($ARG); 4288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 43