#!/usr/local/bin/perl # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. #Input: [-d dir] foo1.java foo2.java #Compares with: foo1.class foo2.class (if -d specified, checks in 'dir', # otherwise assumes .class files in same directory as .java files) #Returns: list of input arguments which are newer than corresponding class #files (non-existent class files are considered to be real old :-) $found = 1; if ($ARGV[0] eq '-d') { $classdir = $ARGV[1]; $classdir .= "/"; shift; shift; } else { $classdir = "./"; } foreach $filename (@ARGV) { $classfilename = $classdir; $classfilename .= $filename; $classfilename =~ s/.java$/.class/; ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, $ctime,$blksize,$blocks) = stat($filename); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$classmtime, $ctime,$blksize,$blocks) = stat($classfilename); # print $filename, " ", $mtime, ", ", $classfilename, " ", $classmtime, "\n"; if ($mtime > $classmtime) { print $filename, " "; $found = 0; } } print "\n";