Skip to content

adangel/pmd-designer

 
 

Repository files navigation

PMD Rule Designer

Build Status Maven Central Join the chat

The Rule Designer is a graphical tool that helps PMD users develop their custom rules. Main features:

testing-designer

Installation

The designer is part of PMD's binary distributions. To install a distribution, see the documentation page about installing PMD.

The app needs either Oracle Java 8 (which includes JavaFX) or OpenJDK 11+ and a separately installed OpenJFX distribution. Visit JavaFX - Gluon to download an SDK distribution, extract it, and set the JAVAFX_HOME environment variable.

If the bin directory of your PMD distribution is on your shell's path, then you can launch the app with

  • pmd designer on Linux/ OSX
  • pmd.bat designer on Windows

Alternatively, you can launch the program "from source" with Maven.

  • $ ./mvnw -Prunning exec:java will launch the program after compiling it, using the JavaFX distribution of your system
  • $ ./mvnw -Prunning,with-javafx exec:java will also add JavaFX dependencies on your classpath. You can change the version of those dependencies with eg -Dopenjfx.version=21.0.2 for OpenJFX 21. See the list of available versions here.

Updating

The latest version of the designer currently works with PMD 7.0.0 and above. You can simply replace pmd-designer-7.X.Y.jar with the latest build in the installation folder of your PMD distribution.

Usage

Building from source/ contributing

See CONTRIBUTING.md for instructions to build the project from source and setup your IDE.

Building a runnable JAR

You can package a runnable jar containing the PMD dependencies with maven. For now the only option is to build a jar that contains pmd-core and pmd-java:

./mvnw clean package -Dfat-java -Dpmd.core.version=7.0.0-SNAPSHOT

The pmd.core.version property selects the version of pmd-core and pmd-java that will be included. The built jar can then be found in your target directory. Such a jar cannot be used in a PMD distribution and must be used in a standalone fashion, otherwise classpath conflicts may arise. You can additionally enable the profile with-javafx to include openjfx as well.

You should never run the install goal with the -Dfat-java property! This would install the fat jar in your local repo and may cause dependency conflicts.

About

PMD Rule Designer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.6%
  • Less 3.2%
  • Lex 2.0%
  • Other 1.2%