While creating the net.ltgt.nullaway Gradle plugin, I compared https://github.com/uber/NullAway/blob/v0.6.6/nullaway/src/main/java/com/uber/nullaway/ErrorProneCLIFlagsConfig.java and https://github.com/uber/NullAway/wiki/Configuration and noticed there are a few options that are not documented in the wiki:
SuggestSuppressions; this one is actually documented in https://github.com/uber/NullAway/wiki/Suppressing-Warnings
AssertsEnabled
ExhaustiveOverride
CastToNonNullMethod
AutoFixSuppressionComment (note: due to how options are passed to JavaC plugins and how JavaC parses them, you cannot put spaces in the value; this severely limits the usefulness of this option; this doesn't apply to Bazel though)
Btw, on master, since version 0.6.6, two options have been added:
CheckOptionalEmptiness
CheckOptionalEmptinessCustomClasses
the former being already documented in the wiki (but ignored by the current version, without any error or warning, mostly due to how flags work in Error Prone)
[issue filed as suggested on Twitter]
Fwiw you may want to migrate the documentation from the wiki to a markdown file in the repo, that way it can be kept in sync with the code, and looking at the file for the last version's tag would document that version. The downside is that you cannot fix/improve the documentation after the version has been tagged, but documentation can be part of the same PR that adds the option so is part of the code review. Just a suggestion. YMMV.
While creating the
net.ltgt.nullawayGradle plugin, I compared https://github.com/uber/NullAway/blob/v0.6.6/nullaway/src/main/java/com/uber/nullaway/ErrorProneCLIFlagsConfig.java and https://github.com/uber/NullAway/wiki/Configuration and noticed there are a few options that are not documented in the wiki:SuggestSuppressions; this one is actually documented in https://github.com/uber/NullAway/wiki/Suppressing-WarningsAssertsEnabledExhaustiveOverrideCastToNonNullMethodAutoFixSuppressionComment(note: due to how options are passed to JavaC plugins and how JavaC parses them, you cannot put spaces in the value; this severely limits the usefulness of this option; this doesn't apply to Bazel though)Btw, on
master, since version 0.6.6, two options have been added:CheckOptionalEmptinessCheckOptionalEmptinessCustomClassesthe former being already documented in the wiki (but ignored by the current version, without any error or warning, mostly due to how flags work in Error Prone)
[issue filed as suggested on Twitter]
Fwiw you may want to migrate the documentation from the wiki to a markdown file in the repo, that way it can be kept in sync with the code, and looking at the file for the last version's tag would document that version. The downside is that you cannot fix/improve the documentation after the version has been tagged, but documentation can be part of the same PR that adds the option so is part of the code review. Just a suggestion. YMMV.