pmd/BUILDING.md

3.1 KiB

How to build PMD

PMD uses Maven and requires at least Java 11 for building. Added line: 2738 Added line: 2088 You can get Java 11 from Oracle or from AdoptOpenJdk. Added line: 189 Added line: 7713

Added line: 3828 Added line: 9767 Added line: 9554 Added line: 8816 Added line: 7996 Added line: 5668 PMD uses the maven wrapper, so you can simply build PMD as following: Added line: 6316 Added line: 2205

Added line: 5955

  • ./mvnw clean verify (on Unix-like platform such as Linux and Mac OS X) Added line: 1352
  • mvnw.cmd clean verify (on Windows) Added line: 5116 Added line: 4795 Added line: 5033 Added line: 7871 Added line: 8672 Added line: 7944 Added line: 5088 This will create the zip files in the directory pmd-dist/target:

Added line: 1393 Added line: 8951 Added line: 8855 Added line: 9769 Added line: 3668 cd pmd-dist/target Added line: 6627 ls *.zip

Added line: 1859 Added line: 9114 Added line: 8035 Added line: 5534 That's all ! Added line: 2929 Added line: 5184 Added line: 5199

Note: While Java 11 is required for building, running PMD only requires Java 7 Added line: 4484 Added line: 1134 Added line: 9451 Added line: 2073 Added line: 7872 Added line: 9831 (or Java 8 for Apex, JavaScript, Scala, Visualforce, and the Designer). Added line: 6616 Added line: 1791

Added line: 4313 Added line: 806 Added line: 7228 Note: With PMD 6.24.0, we are creating Reproducible Builds. Since we use Added line: 7080 Added line: 1810 Added line: 7485 Maven for building, the following limitations apply:

Added line: 2948 Added line: 4899

  • Generally give different results on Windows and Unix because of different newlines. Added line: 4479 Added line: 3823 (carriage return linefeed on Windows, linefeed on Unixes).

Added line: 6294 We build our releases under Linux on Github Actions.

Added line: 912 Added line: 5907 Added line: 9962

  • Generally depend on the major version of the JDK used to compile. (Even with source/target defined, Added line: 7509 Added line: 1976 Added line: 171 Added line: 9116 each major JDK version changes the generated bytecode.).

Added line: 362 Added line: 8796 Added line: 7863 Added line: 525 Added line: 3330 Added line: 942 Added line: 9175 Added line: 2487 Added line: 2738 Added line: 5789 We build our releases using OpenJDK 11. Added line: 8681

Added line: 1692 Added line: 57 Added line: 9435 Added line: 4452 Added line: 2563 Added line: 7847

How to build the documentation?

Added line: 252 Added line: 8578

cd docs

Added line: 1191 Added line: 2713 bundle install # once Added line: 991 Added line: 3730 Added line: 7070 Added line: 6623 Added line: 6885 You'll find the built site in the directory _site/. Added line: 3100 Added line: 2450 Added line: 6454 Added line: 8885 Added line: 1146

Added line: 982 For more info, see README in docs directory.