2021-09-24 16:04:02 -07:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<FindBugsFilter>
|
2025-08-08 23:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="AT_NONATOMIC_64BIT_PRIMITIVE" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.system.Watchdog" />
|
2025-08-08 23:04:02 -07:00
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="AT_STALE_THREAD_WRITE_OF_PRIMITIVE" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
2026-04-18 19:56:45 -07:00
|
|
|
<Class name="org.wpilib.driverstation.internal.DriverStationBackend" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Class name="org.wpilib.driverstation.GenericHID" />
|
|
|
|
|
<Class name="org.wpilib.command2.CommandScheduler" />
|
|
|
|
|
</Or>
|
2025-08-08 23:04:02 -07:00
|
|
|
</Match>
|
2023-12-09 15:34:29 -08:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="CT_CONSTRUCTOR_THROW" />
|
|
|
|
|
</Match>
|
2022-10-08 10:01:31 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="DE_MIGHT_IGNORE" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.smartdashboard.SendableBuilderImpl$Property" />
|
2022-10-08 10:01:31 -07:00
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="DM_DEFAULT_ENCODING" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.epilogue.processor.EpilogueGenerator" />
|
|
|
|
|
<Class name="org.wpilib.examples.i2ccommunication.I2CCommunicationTest" />
|
|
|
|
|
<Class name="org.wpilib.command2.PrintCommandTest" />
|
|
|
|
|
</Or>
|
2021-09-24 16:04:02 -07:00
|
|
|
</Match>
|
2025-12-12 21:25:57 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="DM_EXIT" />
|
|
|
|
|
<Class name="org.wpilib.framework.OpModeRobot" />
|
|
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.system.DataLogManager" />
|
|
|
|
|
<Class name="org.wpilib.system.Filesystem" />
|
2026-02-27 20:15:17 -08:00
|
|
|
<Class name="org.wpilib.util.runtime.RuntimeLoader" />
|
2025-11-08 16:21:58 -08:00
|
|
|
</Or>
|
|
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<!--
|
2026-05-14 21:55:02 -07:00
|
|
|
These are false positives where the Random instance is used multiple times in a loop. Furthermore, high randomness is not a
|
2025-11-08 16:21:58 -08:00
|
|
|
high priority because these are tests- In fact, the odometry tests seed the Random instance to guarantee repeatability.
|
|
|
|
|
-->
|
2021-09-24 16:04:02 -07:00
|
|
|
<Bug pattern="DMI_RANDOM_USED_ONLY_ONCE" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.math.kinematics.SwerveDriveOdometry3dTest" />
|
|
|
|
|
<Class name="org.wpilib.math.kinematics.SwerveDriveOdometryTest" />
|
|
|
|
|
<Class name="org.wpilib.math.filter.LinearFilterTest" />
|
|
|
|
|
</Or>
|
2022-12-02 11:36:10 -05:00
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="EI_EXPOSE_REP2" />
|
|
|
|
|
</Match>
|
2025-08-08 23:04:02 -07:00
|
|
|
<!--
|
|
|
|
|
Strict reading of Object.equals() contract means that whenever equals() behaviour is defined, all implementations
|
|
|
|
|
need to adhere to it. The only reason to override the method (assuming correct API design, of course) is to provide
|
|
|
|
|
a more efficient implementation. This rule would be forcing a @SuppressFBWarnings on perfectly compliant classes.
|
|
|
|
|
More information at https://github.com/spotbugs/spotbugs/issues/511
|
|
|
|
|
-->
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
|
|
|
|
|
</Match>
|
2022-06-14 20:26:53 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="FL_FLOATS_AS_LOOP_COUNTERS" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.math.controller.DifferentialDriveAccelerationLimiterTest" />
|
|
|
|
|
<Class name="org.wpilib.math.controller.ImplicitModelFollowerTest" />
|
|
|
|
|
<Class name="org.wpilib.math.controller.LinearSystemLoopTest" />
|
|
|
|
|
<Class name="~org\.wpilib\.math\.estimator\.[^.]*PoseEstimator(3d)?Test" />
|
|
|
|
|
<Class name="org.wpilib.math.filter.LinearFilterTest" />
|
2026-03-06 14:19:15 -08:00
|
|
|
<Class name="org.wpilib.math.kinematics.ChassisVelocitiesTest" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Class name="org.wpilib.hardware.led.LEDPatternTest" />
|
|
|
|
|
<Class name="org.wpilib.simulation.AnalogInputSimTest" />
|
|
|
|
|
</Or>
|
2022-06-14 20:26:53 -07:00
|
|
|
</Match>
|
2021-12-06 17:42:02 -05:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.smartdashboard.MechanismLigament2d" />
|
2021-12-06 17:42:02 -05:00
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="MS_EXPOSE_REP" />
|
|
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="MS_MUTABLE_ARRAY" />
|
|
|
|
|
</Match>
|
|
|
|
|
<Match>
|
2025-11-08 16:21:58 -08:00
|
|
|
<!--
|
|
|
|
|
This seems to be a false positive from the &= used by these command compositions to determine runsWhenDisabled
|
|
|
|
|
-->
|
2021-09-24 16:04:02 -07:00
|
|
|
<Bug pattern="NS_DANGEROUS_NON_SHORT_CIRCUIT" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.command2.ParallelCommandGroup" />
|
|
|
|
|
<Class name="org.wpilib.command2.ParallelDeadlineGroup" />
|
|
|
|
|
<Class name="org.wpilib.command2.ParallelRaceGroup" />
|
|
|
|
|
<Class name="org.wpilib.command2.SequentialCommandGroup" />
|
|
|
|
|
<Class name="org.wpilib.command2.SelectCommand" />
|
|
|
|
|
</Or>
|
2022-11-28 02:23:56 +02:00
|
|
|
</Match>
|
2023-12-09 15:34:29 -08:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="PA_PUBLIC_PRIMITIVE_ATTRIBUTE" />
|
|
|
|
|
</Match>
|
2025-08-08 23:04:02 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.networktables.NetworkTableInstance" />
|
2025-08-08 23:04:02 -07:00
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="SC_START_IN_CTOR" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Class name="org.wpilib.hardware.motor.MotorSafety" />
|
2021-09-24 16:04:02 -07:00
|
|
|
</Match>
|
2022-10-08 10:01:31 -07:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.vision.stream.CameraServer$PropertyPublisher" />
|
2025-08-08 23:04:02 -07:00
|
|
|
</Match>
|
|
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.command2.CommandScheduler" />
|
|
|
|
|
<Class name="org.wpilib.math.geometry.CoordinateAxis" />
|
|
|
|
|
<Class name="org.wpilib.math.geometry.CoordinateSystem" />
|
|
|
|
|
</Or>
|
2022-10-08 10:01:31 -07:00
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Match>
|
2025-11-08 16:21:58 -08:00
|
|
|
<!--
|
|
|
|
|
Many false positives from instance reporting.
|
|
|
|
|
-->
|
2021-09-24 16:04:02 -07:00
|
|
|
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" />
|
|
|
|
|
</Match>
|
2022-10-08 10:01:31 -07:00
|
|
|
<Match>
|
2025-11-08 16:21:58 -08:00
|
|
|
<!--
|
|
|
|
|
False positives because the users are supposed to fill in the code.
|
|
|
|
|
-->
|
2023-08-12 02:31:35 -04:00
|
|
|
<Bug pattern="UC_USELESS_VOID_METHOD" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.templates.romitimed.Robot" />
|
|
|
|
|
<Class name="org.wpilib.templates.xrptimed.Robot" />
|
|
|
|
|
<Class name="org.wpilib.templates.timed.Robot" />
|
|
|
|
|
<Class name="org.wpilib.templates.timeslice.Robot" />
|
|
|
|
|
</Or>
|
2021-12-30 19:43:53 -08:00
|
|
|
</Match>
|
2024-01-01 22:56:23 -08:00
|
|
|
<Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
|
|
|
|
|
</Match>
|
2024-08-15 00:26:48 +08:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.epilogue.EpilogueConfiguration" />
|
2024-08-15 00:26:48 +08:00
|
|
|
</Match>
|
2026-04-25 14:32:08 -04:00
|
|
|
<Match>
|
|
|
|
|
<Bug pattern="URF_UNREAD_FIELD" />
|
|
|
|
|
<Class name="org.wpilib.driverstation.internal.DriverStationBackend$HALJoystickAxesRaw" />
|
|
|
|
|
</Match>
|
2025-10-10 16:47:22 -04:00
|
|
|
<Match>
|
|
|
|
|
<!-- PMD will skip variables named `ignore`, but spotbugs isn't as smart -->
|
|
|
|
|
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
|
2025-11-07 19:55:43 -05:00
|
|
|
<Class name="org.wpilib.command3.StagedCommandBuilderTest" />
|
2025-10-10 16:47:22 -04:00
|
|
|
</Match>
|
2025-07-26 06:45:40 +08:00
|
|
|
<Match>
|
2025-08-08 23:04:02 -07:00
|
|
|
<Bug pattern="VA_FORMAT_STRING_USES_NEWLINE" />
|
2025-11-08 16:21:58 -08:00
|
|
|
<Or>
|
|
|
|
|
<Class name="org.wpilib.epilogue.processor.LoggableHandler" />
|
|
|
|
|
<Class name="org.wpilib.util.runtime.MsvcRuntimeException" />
|
|
|
|
|
<Class name="org.wpilib.util.runtime.RuntimeLoader" />
|
|
|
|
|
<Class name="org.wpilib.system.Tracer" />
|
|
|
|
|
<Class name="org.wpilib.system.Watchdog" />
|
|
|
|
|
<Class name="org.wpilib.math.system.LinearSystem" />
|
|
|
|
|
<Class name="org.wpilib.math.trajectory.Trajectory" />
|
|
|
|
|
<Class name="org.wpilib.command3.SchedulerTelemetryTests" />
|
|
|
|
|
</Or>
|
2025-07-26 06:45:40 +08:00
|
|
|
</Match>
|
2021-09-24 16:04:02 -07:00
|
|
|
</FindBugsFilter>
|