Sider Documentation

Sider Documentation

  • Enterprise
  • News
  • Sider Top

›Java

Getting Started

  • Home
  • Intro Videos
  • Setting up Sider
  • Dashboard Overview
  • Repository Settings
  • Custom Analysis Configuration
  • Recommended Ruleset
  • Working with Issues
  • Permissions
  • Skip Analyzing

Analysis Tools

    Ruby

    • RuboCop
    • Reek
    • Querly
    • Rails Best Practices
    • Brakeman
    • HAML-Lint
    • Slim-Lint (beta)

    Java

    • Checkstyle
    • PMD
    • JavaSee

    Kotlin

    • ktlint (beta)
    • detekt (beta)

    JavaScript and Flavors

    • ESLint
    • JSHint
    • TyScan
    • CoffeeLint
    • TSLint (deprecated)

    CSS

    • stylelint
    • SCSS-Lint (deprecated)

    PHP

    • PHP_CodeSniffer
    • PHPMD
    • Phinder

    Python

    • Flake8
    • Pylint (beta)

    Swift

    • SwiftLint

    Go

    • GolangCI-Lint

    C/C++

    • Cppcheck
    • cpplint
    • Clang-Tidy (beta)

    C#

    • FxCop (beta)

    Shell script

    • ShellCheck

    Dockerfile

    • hadolint

    Markdown

    • remark-lint

    Others

    • Goodcheck
    • Misspell
    • LanguageTool (beta)
    • PMD CPD (beta)

Custom Rules

  • Intro to Custom Rules
  • Goodcheck
  • Tips & Tricks

Advanced Settings

  • Inline Comments
  • Private Dependencies
  • Restricting access to Close button
  • Transferring a repository

Billing and Plans

  • Billing and Plans

Troubleshooting

  • Troubleshooting

Enterprise

  • Outline
  • System Overview
  • Installation
  • Configuration
  • Operation
  • Update
  • Load Balancer
  • MySQL
  • Redis
  • MinIO
  • Amazon S3
  • GitHub Enterprise Server
  • Clustering
  • Example Deployments

    • Single Node with Docker Compose

    Releases

    • Overview
    • February 2021
    • January 2021
    • December 2020
    • October 2020
    • September 2020
    • August 2020
    • July 2020
    • June 2020
    • May 2020
    • April 2020
    • February 2020
    • January 2020
    • November 2019
    • Older releases

News

  • 2021
  • 2020
  • 2019
Edit

PMD

Supported VersionLanguageWebsite
6.32.0Javahttps://pmd.github.io

PMD is a static analysis tool to detect issues about code style, security, performance, etc. It supports multiple programming languages but Sider supports only Java.

Getting Started

To start using PMD, enable it in your repository settings.

Configuration

You can customize the analysis via sider.yml:

linter:
  pmd_java:
    dir: src
    rulesets:
      - category/java/errorprone.xml
      - path/to/custom-ruleset.xml
    encoding: Shift_JIS
    min_priority: 3
NameTypeDefault
root_dirstring-
jvm_depsstring[][][]
dirstring.
rulesetsstring, string[](see below)
encodingstring(PMD's default)
min_prioritynumber(PMD's default)

dir

This option allows you to specify a directory to analyze.

rulesets

This option allows you to specify predefined rulesets or your custom rulesets.

Here are the predefined rulesets:

  • category/java/bestpractices.xml
  • category/java/codestyle.xml
  • category/java/design.xml
  • category/java/documentation.xml
  • category/java/errorprone.xml
  • category/java/multithreading.xml
  • category/java/performance.xml
  • category/java/security.xml

For example, you can specify both:

linter:
  pmd_java:
    rulesets:
      - category/java/security.xml
      - your_pmd_custom_rules.xml

If the option is omitted, Sider uses the default configuration.

You can configure predefined rules and writing your own rules via the XML configuration file. See the official documentation for more details.

encoding

This option allows you to specify an encoding of your Java source code.

min_priority

This option allows you to specify a rule priority threshold. Rules with lower priority than the specified value will not be used.

← CheckstyleJavaSee →
  • Getting Started
  • Configuration
    • dir
    • rulesets
    • encoding
    • min_priority
Sider Documentation
Docs
Getting StartedAnalysis ToolsEnterprise
Sider
Sider TopTerms of ServicePrivacy
Social
BlogGitHubStar
Copyright © 2021 Sider, Inc.