Files
JIMRI/.spotbugs-check.xml
T
Serge NOEL 2c45fc244e
Headless CI Tests / build (push) Has been cancelled
Run LinkedWarrantTest / build (push) Has been cancelled
Run Separate Tests / build (push) Has been cancelled
Static Analysis Java25 / build (push) Has been cancelled
Static Analysis / build (push) Has been cancelled
Typescript Check / tsc (push) Has been cancelled
Windows Java25 CI Tests / build (push) Has been cancelled
Windows CI Tests / build (push) Has been cancelled
Add config files
2026-06-17 14:17:22 +02:00

147 lines
6.2 KiB
XML

<FindBugsFilter>
<!-- This first section is used to fail CI if any unexpected bugs appear.
We accept certain types of bugs at certain levels until we get them
all cleared out. -->
<!-- Suppress medium bugs which we _don't_ want to fail CI until we can get them removed -->
<Match>
<Confidence value="2" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
<Or>
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="CT_CONSTRUCTOR_THROW" /> <!-- 318 cases -->
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" /> <!-- 25 cases -->
<Bug pattern="PA_PUBLIC_PRIMITIVE_ATTRIBUTE" /> <!-- 190 cases -->
<Bug pattern="SING_SINGLETON_GETTER_NOT_SYNCHRONIZED" /> <!-- 6 cases -->
<Bug pattern="SS_SHOULD_BE_STATIC" /> <!-- 211 cases -->
<Bug pattern="UWF_NULL_FIELD" /> <!-- 4 cases -->
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="IS2_INCONSISTENT_SYNC" />
<Bug pattern="DCN_NULLPOINTER_EXCEPTION" /> <!-- 327 cases -->
<Bug pattern="SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA" />
</Or>
</Match>
<!-- Suppress low priority bugs which we _don't_ want to fail CI until we can get them removed -->
<Match>
<Confidence value="3" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
<Or>
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="AA_ASSERTION_OF_ARGUMENTS" /> <!-- 16 cases -->
<Bug pattern="PA_PUBLIC_MUTABLE_OBJECT_ATTRIBUTE" /> <!-- 93 cases -->
<Bug pattern="URF_UNREAD_FIELD" /> <!-- 112 cases -->
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 50 cases -->
<Bug pattern="UUF_UNUSED_FIELD" /> <!-- 19 cases -->
<Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 4 cases -->
<Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" /> <!-- 141 cases -->
<Bug pattern="UWF_UNWRITTEN_FIELD" /> <!-- 6 cases -->
<Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 1 case -->
<Bug pattern="UWF_NULL_FIELD" /> <!-- 6 cases -->
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="IS2_INCONSISTENT_SYNC" />
<Bug pattern="NO_NOTIFY_NOT_NOTIFYALL" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
<Bug pattern="UW_UNCOND_WAIT" />
<Bug pattern="WA_NOT_IN_LOOP" />
</Or>
</Match>
<!-- New reports from SpoBugs 4.9.8 that haven't been addressed (yet) -->
<Match>
<Confidence value="2" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
<Or>
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="HSM_HIDING_METHOD" /> <!-- 8 cases -->
<Bug pattern="AT_NONATOMIC_64BIT_PRIMITIVE" />
<Bug pattern="NN_NAKED_NOTIFY" />
<Bug pattern="AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE" />
<Bug pattern="AT_STALE_THREAD_WRITE_OF_PRIMITIVE" />
<Bug pattern="US_USELESS_SUPPRESSION_ON_METHOD" />
<Bug pattern="US_USELESS_SUPPRESSION_ON_FIELD" />
<Bug pattern="US_USELESS_SUPPRESSION_ON_CLASS" />
<Bug pattern="SF_SWITCH_FALLTHROUGH" />
</Or>
</Match>
<Match>
<Confidence value="3" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
<Or>
<!-- Temporary disable these until we have decided what to do about them -->
<Bug pattern="THROWS_METHOD_THROWS_RUNTIMEEXCEPTION" />
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION" />
<Bug pattern="AT_UNSAFE_RESOURCE_ACCESS_IN_THREAD" />
<Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH" />
</Or>
</Match>
<!-- what follows should be kept in sync with .spotbugs.xml -->
<!-- The following section is used to suppress notifications about
specific bugs and categories that we don't think are
worth the effort -->
<Match>
<!-- Minor clarity issue -->
<Bug pattern="RI_REDUNDANT_INTERFACES" />
</Match>
<Match>
<!-- Design issue -->
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON" />
</Match>
<Match>
<!-- Design issue -->
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS" />
</Match>
<Match>
<!-- Most of these are non-I18N, internal changes of case.
We should find the I18N ones, but it seems excessive
to track down and annotate all the others first thing -->
<Bug pattern="DM_CONVERT_CASE" />
</Match>
<Match>
<!-- Most of these are non-I18N, JMRI-specific file operations.
We should find the I18N ones, but it seems excessive
to track down and annotate all the others first thing.
Suppressed for now to focus attention on
other high-priority items. -->
<Bug pattern="DM_DEFAULT_ENCODING" />
</Match>
<!-- Suppress SLF4J bug which has many false positives due to ?: operator -->
<Match>
<Bug pattern="SLF4J_UNKNOWN_ARRAY" />
</Match>
<!-- Very high-frequency "malicious code" warnings can't yet be checked -->
<!-- but we keep some others to improve code robustness and containment -->
<Match>
<Or>
<Bug pattern="EI_EXPOSE_REP" />
<Bug pattern="EI_EXPOSE_REP2" />
<Bug pattern="MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR" />
<Bug pattern="MS_MUTABLE_ARRAY" />
<Bug pattern="MS_EXPOSE_REP" />
<Bug pattern="MS_SHOULD_BE_FINAL" /><!-- we expose various constants for scripts -->
</Or>
</Match>
<!-- items we're unlikely to restore -->
<Match>
<!-- JMRI does not use serialization, permanently ignore -->
<Bug code="Se,SnVI" />
</Match>
<Match>
<!-- JMRI code is written with static final loggers. -->
<Bug pattern="SLF4J_LOGGER_SHOULD_BE_NON_STATIC" />
</Match>
</FindBugsFilter>