#! /usr/bin/perl -w my $oldsvn = 0; # before 1.7 my $maxlength = 0; my @names = glob "*.jar"; foreach my $plugin (@names) { my $l = length($plugin); $maxlength = $l if $l > $maxlength; } system "svn -q export -r BASE . getrev" if !$oldsvn; foreach my $plugin (@names) { next if $plugin =~ /-(javadoc|sources)\.jar$/; my $date = ""; my $version = ""; my $mversion = ""; my $manifest = `unzip -c $plugin META-INF/MANIFEST.MF`; if($manifest) { $date = $1 if $manifest =~ /Plugin-Date: ([^\r\n]+)/; $version = $1 if $manifest =~ /Plugin-Version: ([^\r\n]+)/; $mversion = $1 if $manifest =~ /Plugin-Mainversion: ([^\r\n]+)/; } printf "%-${maxlength}s %28s %10s (%5s)", $plugin,$date,$version,$mversion; my $svnfile = $oldsvn ? ".svn/text-base/$plugin.svn-base" : "getrev/$plugin"; if(-f $svnfile && ($manifest = `unzip -c $svnfile META-INF/MANIFEST.MF`)) { my $svndate = ""; my $svnversion = ""; my $svnmversion = ""; $svndate = $1 if $manifest =~ /Plugin-Date: ([^\r\n]+)/; $svnversion = $1 if $manifest =~ /Plugin-Version: ([^\r\n]+)/; $svnmversion = $1 if $manifest =~ /Plugin-Mainversion: ([^\r\n]+)/; my $changed = ($svndate ne $date || $svnversion ne $version); my $changedm = $svnmversion ne $mversion; printf " SVN: %28s %10s (%5s)%s%s", $svndate,$svnversion,$svnmversion, $changed ? " changed" : "", $changedm ? " main" : ""; `svn revert $plugin` if !$changed && !$changedm; } printf "\n"; } system "rm -rf getrev" if !$oldsvn;