PMD is an extensible multilanguage static code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It's mainly concerned with Java and Apex, but supports 16 other languages. It comes with 400+ built-in rules. It can be extended with custom rules. It uses JavaCC and Antlr to parse source files into abstract syntax trees (AST) and runs rules against them to find violations. Rules can be ...

Compile Dependencies (0)

Category/LicenseGroup / ArtifactVersionUpdates

Managed Dependencies (60)

Category/LicenseGroup / ArtifactVersionUpdates
MIT
com.github.oowekyala.ooxml » nice-xml-messages
Associates XML DOM nodes to their position in source, to enrich error messages.
3.1✔
Unlicense
com.github.oowekyala.treeutils » tree-matchers
A testing DSL to specify the structure of a tree in a concise and readable way.
2.1.0✔
Unlicense
com.github.oowekyala.treeutils » tree-printers
A set of pretty printers for trees, any trees.
2.1.0✔
Testing MIT
com.github.stefanbirkner » system-lambda
A collection of functions for testing code which uses java.lang.System.
1.2.1✔
CPAL 1.0 +1
com.github.stefanbirkner » system-rules
A collection of JUnit rules for testing code which uses java.lang.System.
1.19.0✔
JSON Lib Apache 2.0
com.google.code.gson » gson
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to ...
2.14.0✔
Core Utils Apache 2.0
com.google.guava » guava
Guava is a suite of core and expanded libraries that include
33.7.1-jre33.7.2-jre
CLI Parser Apache 2.0
info.picocli » picocli
Java command line parser with both an annotations API and a programmatic API. Usage help with ANSI styles and colors. ...
4.7.7✔
Apache 2.0
io.kotest » kotest-runner-junit5-jvm
Kotlin Test Framework
5.9.16.2.5
Apache 2.0
io.kotest » kotest-runner-console-jvm
Kotlin Test Framework
5.9.1✔
Apache 2.0
io.kotest » kotest-assertions-core-jvm
Kotlin Test Framework
5.9.16.2.5
Apache 2.0
io.kotest » kotest-property-jvm
Kotlin Test Framework
5.9.16.2.5
MIT
me.tongfei » progressbar
A terminal-based progress bar for JVM
0.10.2✔
Bytecode Apache 2.0
net.bytebuddy » byte-buddy
Byte Buddy is a Java library for creating Java classes at run time.
1.18.14✔
Bytecode Apache 2.0
net.bytebuddy » byte-buddy-agent
The Byte Buddy agent offers convenience for attaching an agent to the local or a remote VM.
1.18.14✔
MPL 2.0
net.sf.saxon » Saxon-HE
The XSLT and XQuery Processor
12.1013.0
BSD
net.sourceforge.pmd » pmd-core7.28.0✔
BSD
net.sourceforge.pmd » pmd-ant
Apache Ant integration for PMD.
7.28.0✔
BSD
net.sourceforge.pmd » pmd-test-schema
Parser for the XML test description format. The module has no dependency
7.28.0✔
BSD
net.sourceforge.pmd » pmd-test
Contains a test framework to test rules.
7.28.0✔
BSD
net.sourceforge.pmd » pmd-lang-test
Module containing utilities to test language implementations,
7.28.0✔
Parser Generator BSD 3-clause
org.antlr » antlr4-runtime
The ANTLR 4 Runtime
4.13.2✔
Build Tool Apache 2.0
org.apache.ant » ant
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as ...
1.10.18✔
Core Utils Apache 2.0
org.apache.commons » commons-lang3
Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are ...
3.20.03.21.0
String Utils Apache 2.0
org.apache.commons » commons-text
The Commons Text library provides additions to the standard JDK text handling. It includes algorithms for string ...
1.15.0✔
JVM Languages Apache 2.0
org.apache.groovy » groovy
Groovy: A powerful multi-faceted language for the JVM
5.1.26.0.0
org.checkerframework » checker-qual
checker-qual contains annotations (type qualifiers) that a programmerwrites to specify Java code for type-checking by ...
3.55.14.3.0
Testing BSD 3-clause
org.hamcrest » hamcrest
Core API and libraries of hamcrest matcher framework.
3.0✔
Annotation Lib Apache 2.0
org.jetbrains » annotations
A set of annotations used for code inspection support and code documentation.
26.1.0✔
JVM Languages Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib
Standard library for the Kotlin Programming Language
2.2.102.4.20
Lang Runtime Apache 2.0
org.jetbrains.kotlin » kotlin-stdlib-jdk8
Kotlin Standard Library JDK 8 extension
2.2.102.4.20
Reflection Apache 2.0
org.jetbrains.kotlin » kotlin-reflect
Runtime libraries for Kotlin reflection, which allows you to introspect the structure of your program at runtime.
2.2.102.4.20
Testing Apache 2.0
org.jetbrains.kotlin » kotlin-test-junit
Kotlin Test library support for JUnit
2.2.102.4.20
EPL 2.0
org.junit » junit-start
Module "junit-start" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.jupiter » junit-jupiter
Module "junit-jupiter" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.jupiter » junit-jupiter-api
JUnit Jupiter is the API for writing tests using JUnit 5.
6.1.3✔
Testing EPL 2.0
org.junit.jupiter » junit-jupiter-engine
Core package for the JUnit Jupiter test engine.
6.1.3✔
EPL 2.0
org.junit.jupiter » junit-jupiter-migrationsupport
Module "junit-jupiter-migrationsupport" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.jupiter » junit-jupiter-params
JUnit Jupiter extension for running parameterized tests.
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-commons
Module "junit-platform-commons" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-commons
Module "junit-platform-commons" of JUnit
6.1.3✔
EPL 2.0
org.junit.platform » junit-platform-console
Module "junit-platform-console" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-engine
Module "junit-platform-engine" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-launcher
Public API for configuring and launching test plans.
6.1.3✔
EPL 2.0
org.junit.platform » junit-platform-reporting
Module "junit-platform-reporting" of JUnit
6.1.3✔
EPL 2.0
org.junit.platform » junit-platform-suite
Module "junit-platform-suite" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-suite-api
Annotations for configuring a test suite on the JUnit Platform.
6.1.3✔
EPL 2.0
org.junit.platform » junit-platform-suite-engine
Module "junit-platform-suite-engine" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.platform » junit-platform-testkit
Module "junit-platform-testkit" of JUnit
6.1.3✔
Testing EPL 2.0
org.junit.vintage » junit-vintage-engine
A thin layer on top of JUnit 4 to allow running vintage tests (based on JUnit 3.8 and JUnit 4) with the JUnit Platform ...
6.1.3✔
Mocking MIT
org.mockito » mockito-core
Mockito mock objects library core API and implementation
5.23.05.24.0
Bytecode BSD 3-clause
org.ow2.asm » asm
ASM, a very small and fast Java bytecode manipulation framework
9.10.1✔
org.pcollections » pcollections
A Persistent Java Collections Library
4.0.25.0.0
Scala Compiler Apache 2.0
org.scala-lang » scala-reflect
Reflection Library for the Scala Programming Language
2.13.18✔
JVM Languages Apache 2.0
org.scala-lang » scala-library
Standard library for the Scala Programming Language Version 3
2.13.183.9.0
Logging MIT
org.slf4j » slf4j-api
API for SLF4J (The Simple Logging Facade for Java) which serves as a simple facade or abstraction for various logging ...
1.7.362.0.20
Logging MIT
org.slf4j » slf4j-simple
Binding/provider for SLF4J, which outputs all events to System.err. Only messages of level INFO and higher are printed.
1.7.362.0.20
org.slf4j » jul-to-slf4j
Jul-to-slf4j includes a java.util.logging (jul) handler, namely SLF4JBridgeHandler, which routes all incoming jul ...
1.7.362.0.20
YAML Apache 2.0
org.yaml » snakeyaml
YAML 1.1 parser and emitter for Java
2.7✔
MIT
uk.org.webcompere » system-stubs-jupiter
JUnit Jupiter Extension for System Stubs
2.1.8✔