blob: 869d59bc2ea2fb3e32aee643b972823bcc0f1b3c [file] [log] [blame]
#!/bin/perl
# Run with: find src -name \*.java | xargs perl checkCopyright.pl
# Check source code
&setExclude ;
undef $/ ;
#checkOne('copyright.txt') ;
while(defined($file = shift @ARGV))
{
# Excludes
next if ( defined($exclude{$file}) ) ;
&checkOne($file) ;
}
sub checkOne
{
my $file = @_[0] ;
open(FILE, "<$file") || die ;
binmode FILE ;
$_ = <FILE> ;
if ( m/Copyright.*Hewlett-Packard Company/ )
{
print "$file: old style copyright\n" ;
next ;
}
unless ( m!Copyright\s.*Hewlett-Packard Development Company, LP! )
{
print "$file: no copyright line\n" ;
}
if ( m!Copyright\s*Hewlett-Packard! )
{
print "$file: No date or wrong order\n" ;
}
if ( m!Copyright.*200[^9] Hewlett-Packard! )
{
print "$file: Not 2009\n" ;
}
unless ( m/THIS SOFTWARE IS PROVIDED BY THE AUTHOR/ )
{
print "$file: no copyright notice\n" ;
}
}
sub setExclude
{
# Mostly, these files are the output of JavaCC
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrLexer.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrLexer.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrLexer.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParserTokenTypes.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParserTokenTypes.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/N3AntlrParserTokenTypes.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/JavaCharStream.java'}= 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/ParseException.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/Token.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TokenMgrError.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParserConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParserConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParserTokenManager.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/parser/TurtleParserTokenManager.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/test/TurtleTestVocab.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/n3/turtle/test/TurtleTestVocab.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/JavaCharStream.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/ParseException.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParser.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParserConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParserTokenManager.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParserTreeConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParserTreeConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/RDQLParserTreeConstants.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/Token.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/rdql/parser/TokenMgrError.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/shared/uuid/MD5.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/vocabulary/TestManifest.java'} = 1 ;
$exclude{'src/com/hp/hpl/jena/vocabulary/TestManifestX.java'} = 1 ;
}