4.0.0 net.sourceforge.pmd pmd 7.0.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-02-25T10:50:54Z 8 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.9.1 1.7.36 10.7 UTF-8 UTF-8 https://pmd.github.io/pmd -Xmx512m -Dfile.encoding=${project.build.sourceEncoding} ${extraArgLine} 20 7.0.0-SNAPSHOT ${settings.localRepository}/net/java/dev/javacc/javacc/${javacc.version}/javacc-${javacc.version}.jar ${project.build.directory}/generated-sources/javacc ${project.basedir}/../javacc-wrapper.xml ${project.build.directory}/generated-sources/antlr4 ${project.basedir}/../antlr4-wrapper.xml ${project.basedir}/src/test/resources ${project.basedir}/src/test/kotlin org.antlr antlr4-maven-plugin ${antlr.version} ${project.build.sourceEncoding} true true antlr antlr4 generate-sources org.apache.maven.plugins maven-antrun-plugin 3.1.0 net.java.dev.javacc javacc ${javacc.version} 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 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} pmd-main verify check cpd-check pmd-test verify pmd check ${project.build.directory}/pmdTest/ true /net/sourceforge/pmd/pmd-test-dogfood-config.xml true 100 1.${java.version} /net/sourceforge/pmd/pmd-dogfood-config.xml /net/sourceforge/pmd/pmd7-dogfood-config.xml target/generated-sources/javacc target/generated-sources/antlr4 false 2 true true net.sourceforge.pmd pmd-core 6.55.0 net.sourceforge.pmd pmd-java 6.55.0 net.sourceforge.pmd pmd-jsp 6.55.0 net.sourceforge.pmd pmd-javascript 6.55.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} com.beust jcommander 1.48 info.picocli picocli 4.7.0 me.tongfei progressbar 0.9.5 org.ow2.asm asm 9.4 org.pcollections pcollections 3.1.3 net.sourceforge.pmd pmd-core ${project.version} net.sourceforge.pmd pmd-ant ${project.version} net.sourceforge.pmd pmd-test-schema ${project.version} org.checkerframework checker-qual 2.5.2 net.sourceforge.saxon saxon 9.1.0.8 net.sf.saxon Saxon-HE ${saxon.version} org.apache.commons commons-lang3 3.8.1 org.apache.commons commons-text 1.3 org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-simple ${slf4j.version} org.slf4j jul-to-slf4j ${slf4j.version} 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 org.junit junit-bom 5.8.2 pom import org.junit.platform junit-platform-suite 1.9.0-M1 test com.github.stefanbirkner system-lambda 1.2.1 test junit junit 4.13.1 test org.hamcrest hamcrest-core org.mockito mockito-core 4.11.0 test com.github.tomakehurst wiremock-jre8 2.33.2 test 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 junit junit io.kotest kotest-runner-junit5-jvm ${kotest.version} test junit junit io.kotest kotest-runner-console-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 with-slf4j-impl false org.slf4j slf4j-simple 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-apex-jorje pmd-apex pmd-cli pmd-core pmd-cpp pmd-cs pmd-dart pmd-dist pmd-doc pmd-fortran pmd-gherkin pmd-go pmd-groovy pmd-html pmd-lua pmd-java pmd-javascript pmd-jsp pmd-kotlin pmd-lang-test pmd-matlab pmd-modelica pmd-objectivec pmd-perl pmd-php pmd-plsql pmd-python pmd-ruby pmd-scala pmd-scala-modules/pmd-scala-common pmd-scala-modules/pmd-scala_2.13 pmd-scala-modules/pmd-scala_2.12 pmd-swift pmd-test pmd-test-schema pmd-tsql pmd-visualforce pmd-vm pmd-xml pmd-ant