From d07b0caa580b62accdc0d1f2a95bbcb2d448a30c Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 20 Aug 2021 16:12:05 +0200 Subject: [PATCH] Improve README --- README.md | 77 ++++++++++++++++-- .../screenshot_pmd-eclipse-plugin.png | Bin 0 -> 43240 bytes 2 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 docs/images/userdocs/screenshot_pmd-eclipse-plugin.png diff --git a/README.md b/README.md index 0ee521b467..24dca50bbc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PMD +# PMD - source code analyzer [![Join the chat at https://gitter.im/pmd/pmd](https://badges.gitter.im/pmd/pmd.svg)](https://gitter.im/pmd/pmd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://github.com/pmd/pmd/workflows/build/badge.svg?branch=master)](https://github.com/pmd/pmd/actions) @@ -7,18 +7,73 @@ [![Coverage Status](https://coveralls.io/repos/github/pmd/pmd/badge.svg)](https://coveralls.io/github/pmd/pmd) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/a674ee8642ed44c6ba7633626ee95967)](https://www.codacy.com/app/pmd/pmd?utm_source=github.com&utm_medium=referral&utm_content=pmd/pmd&utm_campaign=Badge_Grade) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](code_of_conduct.md) - -## About +[![Documentation (latest)](https://img.shields.io/badge/docs-latest-green)](https://pmd.github.io/latest/) **PMD** is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, -unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex and Visualforce, +unnecessary object creation, and so forth. It supports many languages. It can be extended with custom rules. +It uses JavaCC and Antlr for parsing source into AST and runs rules against it to find violations. +Rules can be written in Java or using a XPath query. + +It supports Java, JavaScript, Salesforce.com Apex and Visualforce, Modelica, PLSQL, Apache Velocity, XML, XSL, Scala. Additionally it includes **CPD**, the copy-paste-detector. CPD finds duplicated code in C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift, Visualforce and XML. -## Support +In the future we hope to add support for data/control flow analysis and automatic (quick) fixes where +it makes sense. + +## 🚀 Installation and Usage + +Download the latest binary zip from the [releases](https://github.com/pmd/pmd/releases/latest) +and extract it somewhere. + +Execute `bin/run.sh pmd` or `bin\pmd.bat`. + +See also [Getting Started](https://pmd.github.io/latest/pmd_userdocs_installation.html) + +**Demo:** + +For this sample file: + +```java +import java.util.List; + +public class MyClass { + void loop(List l) { + for (int i = 0; i < l.size(); i++) { + System.out.println(l.get(i)); + } + } +} +``` + +Run PMD on the command line: + +```bash +$ run.sh pmd -d /usr/src -R rulesets/java/quickstart.xml -f xml + + + + +All classes, interfaces, enums and annotations must belong to a named package + + +This for loop can be replaced by a foreach loop + + + +``` + +PMD Eclipse Plugin: + +![Screenshot PMD Eclipse Plugin](docs/images/userdocs/screenshot_pmd-eclipse-plugin.png) + +There are plugins for Maven and Gradle as well as for various IDEs. +See [Tools / Integrations](https://pmd.github.io/latest/pmd_userdocs_tools.html) + +## ℹī¸ How to get support? * How do I? -- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/pmd) or on [discussions](https://github.com/pmd/pmd/discussions). @@ -29,7 +84,9 @@ Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift, * I have a quick question -- ask on our [Gitter chat](https://gitter.im/pmd/pmd). * Where's your documentation? -- -## Source +## 🤝 Contributing + +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Our latest source of PMD can be found on [GitHub](https://github.com/pmd/pmd). Fork us! @@ -40,6 +97,10 @@ The rule designer is developed over at [pmd/pmd-designer](https://github.com/pmd Please see [its README](https://github.com/pmd/pmd-designer#contributing) for developer documentation. -## Website +## đŸĒ™ Financial Contributors -More information can be found on our [Website](https://pmd.github.io). +Become a financial contributor and help us sustain our community. [Contribute](https://opencollective.com/pmd/contribute) + +## 📝 License + +[BSD Style](LICENSE) diff --git a/docs/images/userdocs/screenshot_pmd-eclipse-plugin.png b/docs/images/userdocs/screenshot_pmd-eclipse-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..68fce2eb4fbb3010a25393fafc7917c68c1e4bba GIT binary patch literal 43240 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⋙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