This tool allows to run NetBeans Java code checker without the NetBeans IDE. This includes running the custom Java hints specified in META-INF/upgrade/*.hint.
Build using:
$ ant -DNETBEANS_PLATFORM=<path-to-NetBeans-12.3> -DJDK11=<path-to-JDK-11> build-and-test
The built product is in tool/build/jackpot.
Run using:
$ jackpot <options> <files-to-inspect>
To get help on the options, run:
$ jackpot --help
Consider this sample code:
package test; public class Test { public void test(boolean b) { int i = 0; if (b) System.err.println("was true"); assert (i = 1) == 1; } }
It is possible to get a warning for the improper indentation like this:
$ jackpot --hint "Confusing indentation" <somedir>/src <somedir>/src/test/Test.java:9: warning: [Confusing_indentation] Confusing indentation assert (i = 1) == 1; ^
Or a warning for the side-effects inside the assert:
$ jackpot --hint "Assert with side effects" <somedir>/src <somedir>/src/test/Test.java:9: warning: [Assert_with_side_effects] Assert condition produces side effects assert (i = 1) == 1; ^
All supported hints can be listed using:
$ jackpot --list
It is also possible to use a configuration file which enables multiple hints at once using:
$ jackpot --config-file <path-to-config-file> <path-to-sources-to-check>
The config file can be generated by the NetBeans IDE, using Project Properties/Hints, or similar ways.