Today I enabled warnings analysis on Policeman Jenkins. This scans the build log for warnings by javac and reports them in statistics, together with source file dumps.
When doing that I found out that someone added again a lot of "invalid" license headers using /** instead a simple comment. This causes javadocs warnings under some circumstances, because /** is start of javadocs and not a license comment.
I then tried to fix the validate-source-patterns to detect this, but due to a bug in ANT, the <containsregexp/> filter is applied per line (although it has multiline matching capabilities!!!).
So I rewrote our checker to run with groovy. This also has some good parts:
- it tells you wwhat was broken, otherwise you just know there is an error, but not whats wrong (tab, nocommit,...)
- its much faster (multiple <containsregexp/> read file over and over, this one reads file one time into a string and then applies all regular expressions).