Skip to content

openhab/static-code-analysis

Repository files navigation

Static Code Analysis Tool

GitHub Actions Build Status Jenkins Build Status EPL-2.0

The Static Code Analysis Tools is a Maven plugin that executes the Maven plugins for SpotBugs, Checkstyle and PMD and generates a merged .html report. It is especially designed for openHAB to respect the defined coding guidelines.

This project contains:

  • properties files for the PMD, Checkstyle and SpotBugs Maven plugins configuration in the sat-plugin/src/main/resources/configuration folder;
  • rule sets for the plugins in the sat-plugin/src/main/resources/rulesets folder;
  • custom rules for PMD, CheckStyle and SpotBugs and unit tests for the rules;
  • tool that merges the reports from the individual plugins in a summary report.

Essentials

  1. A list of included checks.
  2. How to use and configure the Static Analysis Tool.
  3. How to integrate a new check into the tool.

3rd Party

  • The example checks provided in the static-code-analysis-config (MethodLimitCheck, CustomClassNameLengthDetector, WhileLoopsMustUseBracesRule) are based on tutorials how to use the API of Checkstyle, SpotBugs and PMD. For more info, see javadoc;
  • The tool that merges the individual reports is based completely on source files from the https://github.com/MarkusSprunck/static-code-analysis-report that are distributed under a custom license. More information can be found in the LICENSE file.