/pmd-designer

The Rule Designer is a graphical tool that helps PMD users develop their custom rules

Primary LanguageJavaBSD 2-Clause "Simplified" LicenseBSD-2-Clause

PMD Rule Designer

Build Status Maven Central Join the chat at https://gitter.im/pmd/pmd-designer

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

TODO Gifs

Installation

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

The app needs JRE 1.8 or above to run. Be aware that on JRE 11+, the JavaFX distribution should be installed separately. Visit the download page to download a 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

  • run.sh designer on Linux/ OSX
  • designer.bat on Windows

Usage

TODO put usage doc on the main website

Contributing

  • Bug reports and specific feature requests can be submitted on the issue tracker.
  • If you'd like to give usability feedback without a particular direction, or need some help using the app, please start a chat on the Gitter channel

Code contributions

  • PRs are welcome anytime

Clean build from source

  • Clone the repository
  • Run ./mvnw clean verify
  • The artifact can then be found in the target directory

IDE Setup

IntelliJ IDEA
  1. Clone the repository
  2. Open in IntelliJ
  3. Open IntelliJ's terminal and paste the following:
git update-index --skip-worktree -- .idea/misc.xml pmd-ui.iml # Ignore some config files
mvn process-resources # Generate CSS resources
  1. Synchronize the directory contents to pick-up on the new CSS files

  2. Invoke the Reimport All Maven Projects Action

  3. You can now run the designer with the existing Run Configurations

  4. Install the File Watchers plugin to compile the Less files to CSS when you edit them. Configuration is already in your repo because it was cloned in step 1. The CSS files are generated into an ignored resource directory so that the integrated SceneBuilder picks up on them.

Eclipse
  1. Clone the repository
  2. Open eclipse, Choose "File, Import, Existing Maven Projects"
  3. Right click on the project, select "Run as, Maven build...", enter process-resources as goal. Run it. This generates the CSS resources.
  4. Open class net.sourceforge.pmd.util.fxdesigner.DesignerStarter. Choose "Run as Java Application".