简体   繁体   中英

Setup baseline for Maven Findbugs

I have this issue that I have been trying to solve for the better part of a day, but can't really seem to do.

I have set up my maven so that it fails if findbugs finds any bugs. However, because of reasons, I would like to ignore all the bugs that currently exist in the project, and only fail if new bugs are found. A baseline.

I am able to generate an XML file containing a <BugCollection> with all my current bugs, using FindBugs plugin for IntelliJ. However, supplying this to the maven plugin does nothing.

It seems the maven plugin requires a filter file in this format:

 <Match>
   <Class name="com.foobar.MyClass" />
 </Match>

My question is then: How do I generate this filter file?

It seems that the findbugs:gui is not a great option, as it only allows me to filter on bug type and class. Meaning new bugs of the same type in the same class but a different method would be ignored.

Alternatively: How do I make findbugs for maven ignore existing bugs and only fail on new ones?

Thank you :)

You should use the excludeBugsFile configuration, something like below. The findbugs-baseline.xml is the file exported with the FindBugs-IDEA plugin in Intellij

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <configuration>
      <excludeBugsFile>${project.basedir}/findbugs-baseline.xml</excludeBugsFile>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM