4.0.0 net.sourceforge.pmd pmd 6.55.0-SNAPSHOT pom PMD 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 many languages. 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 written in Java or using a XPath query. It supports Java, JavaScript, Salesforce.com Apex and Visualforce, Modelica, PLSQL, Apache Velocity, HTML, XML and XSL. Scala is supported, but there are currently no Scala rules available. Additionally, it includes CPD, the copy-paste-detector. CPD finds duplicated code in C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex and Visualforce, Scala, Swift, T-SQL and XML. https://pmd.github.io/ https://github.com/pmd/pmd/actions 2002 BSD-style http://pmd.sourceforge.net/license.html repo PMD development https://lists.sourceforge.net/lists/listinfo/pmd-devel https://lists.sourceforge.net/lists/listinfo/pmd-devel https://sourceforge.net/p/pmd/mailman/pmd-devel PMD commits https://lists.sourceforge.net/lists/listinfo/pmd-commits https://lists.sourceforge.net/lists/listinfo/pmd-commits https://sourceforge.net/p/pmd/mailman/pmd-commits github github contributors github https://github.com/pmd/pmd/graphs/contributors scm:git:git://github.com/pmd/pmd.git scm:git:ssh://git@github.com/pmd/pmd.git https://github.com/pmd/pmd HEAD ossrh https://oss.sonatype.org/content/repositories/snapshots ossrh https://oss.sonatype.org/service/local/staging/deploy/maven2/ PMD https://pmd.github.io/ https://github.com/pmd/pmd/issues 2023-01-28T09:31:52Z 7 1.8 1.8 ${maven.compiler.test.target} 1.7.20 5.5.5 5.8.2 1.7.20 5.0 3.0.0-M8 10.7.0 3.2.1 3.20.0 1.10.13 3.4.1 4.7.2 UTF-8 UTF-8 https://pmd.github.io/pmd -Xmx512m -Dfile.encoding=${project.build.sourceEncoding} ${extraArgLine} 20 6.49.0 ${project.basedir}/src/test/resources ${project.basedir}/src/test/kotlin org.antlr antlr4-maven-plugin ${antlr.version} ${project.build.sourceEncoding} antlr antlr4 org.apache.maven.plugins maven-antrun-plugin 3.1.0 org.apache.maven.plugins maven-assembly-plugin 3.4.2 org.apache.maven.plugins maven-dependency-plugin 3.5.0 org.apache.maven.plugins maven-release-plugin 3.0.0-M7 pmd-release,sign true true true pmd_releases/@{project.version} deploy org.apache.maven.plugins maven-clean-plugin 3.2.0 kotlin-maven-plugin org.jetbrains.kotlin ${kotlin.version} kotlin-test-compile test-compile process-test-sources ${project.basedir}/src/test/kotlin ${project.basedir}/src/test/java org.apache.maven.plugins maven-compiler-plugin 3.10.1 ${java.version} default-compile none default-testCompile none java-compile compile compile java-test-compile test-compile testCompile ${maven.compiler.test.source} ${maven.compiler.test.target} org.apache.maven.plugins maven-deploy-plugin 3.1.0 org.apache.maven.plugins maven-install-plugin 3.1.0 org.apache.maven.plugins maven-jar-plugin 3.3.0 org.apache.maven.plugins maven-resources-plugin 3.3.0 org.apache.maven.plugins maven-shade-plugin 3.4.1 org.apache.maven.plugins maven-surefire-plugin ${surefire.version} alphabetical ${project.build.testResources[0].directory} true false true true true true true true true true org.junit.vintage junit-vintage-engine ${junit5.version} io.kotest kotest-runner-junit5-jvm ${kotest.version} net.sourceforge.pmd pmd-build-tools-config ${pmd.build-tools.version} org.codehaus.mojo build-helper-maven-plugin 3.3.0 org.codehaus.mojo exec-maven-plugin 3.1.0 org.apache.maven.plugins maven-source-plugin 3.2.1 org.apache.maven.plugins maven-javadoc-plugin ${javadoc.plugin.version} true none *.internal false ${project.basedir}/../pmd-lang-test/target/dokkaJavadocJar ../../pmd-lang-test/${project.version} ${project.basedir}/../pmd-test/target/apidocs ../../pmd-test/${project.version} ${project.basedir}/../pmd-core/target/apidocs ../../pmd-core/${project.version} org.apache.maven.plugins maven-checkstyle-plugin ${checkstyle.plugin.version} checkstyle-check verify check com.puppycrawl.tools checkstyle ${checkstyle.version} net.sourceforge.pmd pmd-build-tools-config ${pmd.build-tools.version} /net/sourceforge/pmd/pmd-checkstyle-config.xml /net/sourceforge/pmd/pmd-checkstyle-suppressions.xml true ${project.build.sourceDirectory} **/*.properties,**/*.less,**/*.kt org.apache.maven.plugins maven-enforcer-plugin 3.2.1 org.apache.maven.plugins maven-failsafe-plugin ${surefire.version} org.apache.maven.plugins maven-pmd-plugin ${pmd.plugin.version} verify check cpd-check true 100 1.${java.version} /net/sourceforge/pmd/pmd-dogfood-config.xml target/generated-sources/javacc target/generated-sources/antlr4 false 2 true true net.sourceforge.pmd pmd-core 6.54.0 net.sourceforge.pmd pmd-java 6.54.0 net.sourceforge.pmd pmd-jsp 6.54.0 net.sourceforge.pmd pmd-javascript 6.54.0 net.sourceforge.pmd pmd-build-tools-config ${pmd.build-tools.version} org.apache.maven.plugins maven-site-plugin 4.0.0-M4 org.codehaus.mojo versions-maven-plugin 2.14.2 org.sonatype.plugins nexus-staging-maven-plugin 1.6.13 org.jacoco jacoco-maven-plugin 0.8.8 org.eclipse.m2e lifecycle-mapping 1.0.0 org.apache.maven.plugins maven-antrun-plugin [1.7,) run false true org.apache.maven.plugins maven-enforcer-plugin enforce-versions enforce [11,) enforce-no-snapshots enforce No Snapshots Allowed! true enforce-plugin-versions enforce Best Practice is to always define plugin versions! org.apache.maven.plugins maven-pmd-plugin org.apache.maven.plugins maven-checkstyle-plugin org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-source-plugin attach-sources jar org.sonatype.plugins nexus-staging-maven-plugin true ossrh https://oss.sonatype.org/ org.antlr antlr4-runtime ${antlr.version} org.antlr antlr-runtime 3.5.2 org.apache.ant ant ${ant.version} org.apache.ant ant-testutil ${ant.version} jaxen jaxen 1.1.6 xercesImpl xerces xalan xalan icu4j com.ibm.icu com.beust jcommander 1.48 org.ow2.asm asm 9.3 net.sourceforge.pmd pmd-core ${project.version} net.sourceforge.pmd pmd-test-schema ${project.version} net.sourceforge.saxon saxon 9.1.0.8 net.sourceforge.saxon saxon 9.1.0.8 dom net.java.dev.javacc javacc ${javacc.version} provided org.apache.commons commons-lang3 3.8.1 org.apache.commons commons-text 1.3 org.slf4j slf4j-api 1.7.32 org.codehaus.groovy groovy 2.4.21 com.google.code.gson gson 2.8.9 org.yaml snakeyaml 1.33 net.sourceforge.pmd pmd-test ${project.version} test net.sourceforge.pmd pmd-lang-test ${project.version} test com.github.oowekyala.treeutils tree-matchers 2.1.0 test com.github.oowekyala.treeutils tree-printers 2.1.0 test com.google.guava guava 31.0.1-android test org.hamcrest hamcrest 2.2 test junit junit 4.13.1 test org.hamcrest hamcrest-core pl.pragmatists JUnitParams 1.1.1 test org.mockito mockito-core 2.28.2 test com.github.tomakehurst wiremock 1.57 test commons-lang commons-lang com.github.stefanbirkner system-rules 1.19.0 test junit junit-dep org.jetbrains.kotlin kotlin-stdlib ${kotlin.version} test org.jetbrains.kotlin kotlin-stdlib-jdk8 ${kotlin.version} test org.jetbrains.kotlin kotlin-reflect ${kotlin.version} test org.jetbrains.kotlin kotlin-test-junit ${kotlin.version} test io.kotest kotest-runner-junit5-jvm ${kotest.version} test io.kotest kotest-assertions-core-jvm ${kotest.version} test io.kotest kotest-property-jvm ${kotest.version} test org.jetbrains annotations 13.0 test com.google.protobuf protobuf-java 3.16.3 org.junit.platform junit-platform-commons 1.8.2 test central Central Repository https://repo.maven.apache.org/maven2 true never false sonatype-nexus-snapshots Sonatype Nexus Snapshots https://oss.sonatype.org/content/repositories/snapshots false true central Central Repository https://repo.maven.apache.org/maven2 true never false sonatype-nexus-plugin-snapshots Sonatype Nexus Snapshots https://oss.sonatype.org/content/repositories/snapshots false true apache.snapshots Apache Snapshot Repository https://repository.apache.org/snapshots false true Java 18+ [18,) -Djava.security.manager=allow pmd-release https://pmd.github.io/pmd-${project.version} sign org.apache.maven.plugins maven-gpg-plugin 3.0.1 sign-artifacts verify sign doclint org.apache.maven.plugins maven-javadoc-plugin all coveralls org.jacoco jacoco-maven-plugin default-prepare-agent prepare-agent org.eluder.coveralls coveralls-maven-plugin 4.3.0 javax.xml.bind jaxb-api 2.3.0 sonar https://sonarcloud.io pmd 1.8 org.sonarsource.scanner.maven sonar-maven-plugin 3.7.0.1746 org.jacoco jacoco-maven-plugin default-prepare-agent prepare-agent pmd-core pmd-cpp pmd-cs pmd-dart pmd-dist pmd-fortran pmd-gherkin pmd-go pmd-groovy pmd-lua pmd-java pmd-jsp pmd-julia pmd-kotlin pmd-matlab pmd-modelica pmd-objectivec pmd-perl pmd-php pmd-plsql pmd-python pmd-ruby pmd-swift pmd-test pmd-tsql pmd-vm pmd-xml pmd-apex-jorje pmd-apex pmd-html pmd-java8 pmd-javascript pmd-doc pmd-lang-test pmd-scala pmd-scala-modules/pmd-scala-common pmd-scala-modules/pmd-scala_2.13 pmd-scala-modules/pmd-scala_2.12 pmd-visualforce pmd-test-schema