blob: 799ccdc34022cdb885c5a4ac3b193aaaf841078e [file] [log] [blame]
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<FindBugsFilter>
<!-- Warnings triggered in thrift-generated code. -->
<Match>
<Or>
<Package name="org.apache.aurora.gen" />
<Package name="org.apache.aurora.gen.comm" />
<Package name="org.apache.aurora.gen.storage" />
<Package name="org.apache.aurora.gen.test" />
<Package name="org.apache.aurora.benchmark.generated" />
<Package name="org.openjdk.jmh.infra.generated" />
</Or>
<Or>
<Bug pattern="BC_IMPOSSIBLE_CAST" />
<Bug pattern="CN_IDIOM" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
<Bug pattern="NM_CLASS_NAMING_CONVENTION" />
<Bug pattern="UUF_UNUSED_FIELD" />
<Bug pattern="URF_UNREAD_FIELD" />
</Or>
</Match>
<!-- We don't make use of Java serialization and this can prevent, for example, declaring an
HttpServlet as an anonymous inner class for testing. -->
<Match>
<Bug pattern="SE_BAD_FIELD" />
</Match>
<!-- We must maintain reflexivity with WildcardPermission's equals, so we cannot override
it even though we add fields in our subclass. We cannot use delegation because
WildcardPermission's implies method checks that its argument is an instance of
WildcardPermission. -->
<Match>
<Or>
<Class name="org.apache.aurora.scheduler.spi.Permissions$JobScopedRpcPermission" />
<Class name="org.apache.aurora.scheduler.spi.Permissions$UnscopedRpcPermission" />
</Or>
<Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
</Match>
<!-- Method is intentionally only callable by EventBus. -->
<Match>
<Class name="org.apache.aurora.scheduler.events.PubsubEventModule$1" />
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS" />
</Match>
<!-- Technical debt. -->
<Match>
<Class name="org.apache.aurora.scheduler.log.mesos.MesosLog$LogStream" />
<Bug pattern="IS2_INCONSISTENT_SYNC" />
</Match>
<Match>
<Class name="~org\.apache\.aurora.*$" />
<Bug pattern="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE" />
</Match>
<Match>
<Or>
<Class name="org.apache.aurora.scheduler.storage.backup.StorageBackup$StorageBackupImpl" />
<Class name="org.apache.aurora.scheduler.storage.backup.StorageBackupTest" />
</Or>
<Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" />
</Match>
<Match>
<Or>
<Class name="org.apache.aurora.scheduler.app.SchedulerIT$IntPosition" />
<Class name="org.apache.aurora.scheduler.log.mesos.MesosLog$LogStream$LogPosition" />
<Class name="org.apache.aurora.scheduler.log.testing.FileLog$FileStream$CounterPosition" />
</Or>
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
</Match>
<Match>
<Or>
<Class name="org.apache.aurora.scheduler.cron.testing.AbstractCronIT" />
<Class name="org.apache.aurora.scheduler.log.mesos.MesosLogTest" />
<Class name="org.apache.aurora.scheduler.thrift.ThriftIT" />
<Class name="org.apache.aurora.scheduler.thrift.ThriftIT$1" />
</Or>
<Bug pattern="DM_DEFAULT_ENCODING" />
</Match>
<Match>
<!-- Options fields may be flagged as always null, since they are set reflectively. -->
<Class name="~org.apache.aurora.scheduler.*Options" />
<Bug pattern="UWF_NULL_FIELD" />
</Match>
<Match>
<!-- FIXME: We ignore return values of guava collection builders and thus trip this warning.
We need to wait until either https://github.com/spotbugs/spotbugs/issues/463 or
https://github.com/google/guava/issues/2960 has been resolved -->
<Bug pattern="RV_RETURN_VALUE_IGNORED" />
</Match>
</FindBugsFilter>