Custom checkers issues

Extensibility errors are collected in your build log. See Accessing your desktop build.log and parse_errors.log for more information.

Don't edit the name of the Path checker

If you change your mind about the name for your checker after you've created the checker files, you will avoid problems by re-creating the checker files with the new name (specified with the --code option) and then copying the contents of the previous .jkb and the help.xml files.

For example, you already created checker files for a checker you called MY.JAVA.CHECKER, updated the generated checker files, and then decided that your checker should be called MY.AWESOME.JAVA.CHECKER, then you should re-generate the files as follows:

kwcreatechecker --language java --type kast --code MY.AWESOME.JAVA.CHECKER
  1. For the checkers.xml file, only copy relevant sections from the previous version (usually just the title and the message) from the older version into the new one. Do not copy the values for the <error id> elements into the new checkers.xml file.
  2. Copy the contents of the previous .jkb and help.xml files into your new files.
  3. Run Ant to pack the checker files.
  4. Deploy the path checker to your desktop to test it.

Missing 'in' value for sink

If you see the message, "Missing 'in' value for sink" in your build log, it means that the value of the sink could not be determined in the knowledge base. The value of 'in' must be specified in the annotation @Sink("this").

A record type should be specified for the method

Annotations are case sensitive. If you see the message, "A record type should be specified for the method", verify that your annotation capitalization is correct. For example, the correct annotation is @Source, not @source.