4.0.0net.sourceforge.pmdpmd7.0.0-SNAPSHOTpomPMD
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,
Kotlin, Swift, Modelica, PLSQL, Apache Velocity, JSP, WSDL, 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
Coco, C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica,
Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex and Visualforce, Scala, Swift, T-SQL, Typescript and XML.
https://pmd.github.io/https://github.com/pmd/pmd/actions2002BSD-stylehttp://pmd.sourceforge.net/license.htmlrepoPMD developmenthttps://lists.sourceforge.net/lists/listinfo/pmd-develhttps://lists.sourceforge.net/lists/listinfo/pmd-develhttps://sourceforge.net/p/pmd/mailman/pmd-develPMD commitshttps://lists.sourceforge.net/lists/listinfo/pmd-commitshttps://lists.sourceforge.net/lists/listinfo/pmd-commitshttps://sourceforge.net/p/pmd/mailman/pmd-commitsgithubgithub contributorsgithubhttps://github.com/pmd/pmd/graphs/contributorsscm:git:git://github.com/pmd/pmd.gitscm:git:ssh://git@github.com/pmd/pmd.githttps://github.com/pmd/pmdHEADossrhhttps://oss.sonatype.org/content/repositories/snapshotsossrhhttps://oss.sonatype.org/service/local/staging/deploy/maven2/PMDhttps://pmd.github.io/https://github.com/pmd/pmd/issues2023-09-30T15:15:59Z81.81.8${maven.compiler.test.target}1.7.205.5.55.8.21.7.205.03.0.0-M810.7.03.3.13.21.21.10.133.4.14.9.11.7.3610.7UTF-8UTF-8https://docs.pmd-code.org/snapshot-Xmx512m -Dfile.encoding=${project.build.sourceEncoding} ${extraArgLine}23-SNAPSHOT7.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.xmlfalseorg.antlrantlr4-maven-plugin${antlr.version}${project.build.sourceEncoding}truetrueantlrantlr4generate-sourcesorg.apache.maven.pluginsmaven-antrun-plugin3.1.0net.java.dev.javaccjavacc${javacc.version}org.apache.maven.pluginsmaven-assembly-plugin3.5.0org.apache.maven.pluginsmaven-dependency-plugin3.5.0org.apache.maven.pluginsmaven-release-plugin3.0.0-M7pmd-release,signtruetruetruepmd_releases/@{project.version}deployorg.apache.maven.pluginsmaven-clean-plugin3.2.0org.codehaus.mojobuild-helper-maven-plugin3.3.0add-kotlin-source-diradd-source${project.basedir}/src/main/kotlinadd-kotlin-test-source-diradd-test-source${project.basedir}/src/test/kotlinkotlin-maven-pluginorg.jetbrains.kotlin${kotlin.version}kotlin-compilecompile${project.basedir}/src/main/kotlin${project.basedir}/src/main/javakotlin-test-compiletest-compile${project.basedir}/src/test/kotlin${project.basedir}/src/test/javaorg.apache.maven.pluginsmaven-compiler-plugin3.10.1${java.version}default-compilenonedefault-testCompilenonejava-compilecompilecompilejava-test-compiletest-compiletestCompile${maven.compiler.test.source}${maven.compiler.test.target}org.apache.maven.pluginsmaven-deploy-plugin3.1.0org.apache.maven.pluginsmaven-install-plugin3.1.0org.apache.maven.pluginsmaven-jar-plugin3.3.0org.apache.maven.pluginsmaven-resources-plugin3.3.0${project.build.sourceEncoding}org.apache.maven.pluginsmaven-shade-plugin3.4.1org.apache.maven.pluginsmaven-surefire-plugin${surefire.version}alphabetical${project.build.testResources[0].directory}truefalsetruetruetruetruetruetruetruetruenet.sourceforge.pmdpmd-build-tools-config${pmd.build-tools.version}org.codehaus.mojoexec-maven-plugin3.1.0org.apache.maven.pluginsmaven-source-plugin3.2.1org.apache.maven.pluginsmaven-javadoc-plugin${javadoc.plugin.version}truenone*.internal,*.internal.*,*.internal.*.*false${project.basedir}/../pmd-core/target/apidocs../../pmd-core/${project.version}${project.basedir}/../pmd-test/target/apidocs../../pmd-test/${project.version}${project.basedir}/../pmd-lang-test/target/dokkaJavadocJar../../pmd-lang-test/${project.version}org.jetbrains.dokkadokka-maven-plugin${dokka.version}${dokka.skip}https://docs.pmd-code.org/apidocs/pmd-core/${project.version}/file://${project.basedir}/../pmd-core/target/apidocs/element-listhttps://docs.pmd-code.org/apidocs/pmd-test/${project.version}/file://${project.basedir}/../pmd-test/target/apidocs/element-listhttps://docs.pmd-code.org/apidocs/pmd-lang-test/${project.version}/file:///${project.basedir}/../pmd-lang-test/target/dokkaJavadocJar/element-listpackagejavadocJarorg.apache.maven.pluginsmaven-checkstyle-plugin${checkstyle.plugin.version}checkstyle-checkverifycheckcom.puppycrawl.toolscheckstyle${checkstyle.version}net.sourceforge.pmdpmd-build-tools-config${pmd.build-tools.version}/net/sourceforge/pmd/pmd-checkstyle-config.xml/net/sourceforge/pmd/pmd-checkstyle-suppressions.xmltruetrue**/.java,**/*.kt**/*.properties,**/*.lessorg.apache.maven.pluginsmaven-enforcer-plugin3.2.1org.apache.maven.pluginsmaven-failsafe-plugin${surefire.version}org.apache.maven.pluginsmaven-pmd-plugin${pmd.plugin.version}pmd-mainverifycheckcpd-checkpmd-testverifypmdcheck${project.build.directory}/pmdTest/true/net/sourceforge/pmd/pmd-test-dogfood-config.xmlfalse1001.${java.version}/net/sourceforge/pmd/pmd-dogfood-config.xmltarget/generated-sources/javacctarget/generated-sources/antlr4false2truetruenet.sourceforge.pmdpmd-compat67.0.0-rc4net.sourceforge.pmdpmd-core7.0.0-rc4net.sourceforge.pmdpmd-java7.0.0-rc4net.sourceforge.pmdpmd-jsp7.0.0-rc4net.sourceforge.pmdpmd-javascript7.0.0-rc4net.sourceforge.pmdpmd-build-tools-config${pmd.build-tools.version}org.apache.maven.pluginsmaven-site-plugin4.0.0-M4org.codehaus.mojoversions-maven-plugin2.14.2org.sonatype.pluginsnexus-staging-maven-plugin1.6.13org.jacocojacoco-maven-plugin0.8.11org.cyclonedxcyclonedx-maven-plugin2.7.9org.eclipse.m2elifecycle-mapping1.0.0org.apache.maven.pluginsmaven-antrun-plugin[1.7,)runfalsetrueorg.apache.maven.pluginsmaven-enforcer-pluginenforce-versionsenforce[11,)enforce-no-snapshotsenforceNo Snapshots Allowed!trueenforce-plugin-versionsenforceBest Practice is to always define plugin versions!org.apache.maven.pluginsmaven-pmd-pluginorg.apache.maven.pluginsmaven-checkstyle-pluginorg.apache.maven.pluginsmaven-javadoc-pluginattach-javadocsjarorg.apache.maven.pluginsmaven-source-pluginattach-sourcesjarorg.sonatype.pluginsnexus-staging-maven-plugintrueossrhhttps://oss.sonatype.org/org.cyclonedxcyclonedx-maven-pluginpackagemakeAggregateBomorg.antlrantlr4-runtime${antlr.version}org.apache.antant${ant.version}info.picoclipicocli4.7.0me.tongfeiprogressbar0.9.5org.ow2.asmasm9.5org.pcollectionspcollections3.1.3net.sourceforge.pmdpmd-core${project.version}net.sourceforge.pmdpmd-ant${project.version}net.sourceforge.pmdpmd-test-schema${project.version}org.checkerframeworkchecker-qual2.5.2net.sourceforge.saxonsaxon9.1.0.8net.sf.saxonSaxon-HE${saxon.version}org.apache.commonscommons-lang33.8.1org.apache.commonscommons-text1.3org.slf4jslf4j-api${slf4j.version}org.slf4jslf4j-simple${slf4j.version}org.slf4jjul-to-slf4j${slf4j.version}org.apache.groovygroovy4.0.15com.google.code.gsongson2.8.9org.yamlsnakeyaml2.2com.google.guavaguava33.0.0-jreorg.scala-langscala-reflect2.13.12net.sourceforge.pmdpmd-test${project.version}testnet.sourceforge.pmdpmd-lang-test${project.version}testcom.github.oowekyala.treeutilstree-matchers2.1.0testcom.github.oowekyala.treeutilstree-printers2.1.0testorg.hamcresthamcrest2.2testorg.junitjunit-bom5.8.2pomimportorg.junit.platformjunit-platform-suite1.9.0-M1testcom.github.stefanbirknersystem-lambda1.2.1testjunitjunit4.13.1testorg.hamcresthamcrest-coreorg.mockitomockito-core4.11.0testnet.bytebuddybyte-buddy1.14.9testnet.bytebuddybyte-buddy-agent1.14.9testcom.github.stefanbirknersystem-rules1.19.0testjunitjunit-deporg.jetbrains.kotlinkotlin-stdlib${kotlin.version}runtimeorg.jetbrains.kotlinkotlin-stdlib-jdk8${kotlin.version}runtimeorg.jetbrains.kotlinkotlin-reflect${kotlin.version}testorg.jetbrains.kotlinkotlin-test-junit${kotlin.version}testjunitjunitio.kotestkotest-runner-junit5-jvm${kotest.version}testjunitjunitio.kotestkotest-runner-console-jvm${kotest.version}testio.kotestkotest-assertions-core-jvm${kotest.version}testio.kotestkotest-property-jvm${kotest.version}testorg.jetbrainsannotations13.0testcom.google.protobufprotobuf-java3.16.3org.junit.platformjunit-platform-commons1.8.2testcentralCentral Repositoryhttps://repo.maven.apache.org/maven2trueneverfalsesonatype-nexus-snapshotsSonatype Nexus Snapshotshttps://oss.sonatype.org/content/repositories/snapshotsfalsetruecentralCentral Repositoryhttps://repo.maven.apache.org/maven2trueneverfalsesonatype-nexus-plugin-snapshotsSonatype Nexus Snapshotshttps://oss.sonatype.org/content/repositories/snapshotsfalsetrueapache.snapshotsApache Snapshot Repositoryhttps://repository.apache.org/snapshotsfalsetruewith-slf4j-implfalseorg.slf4jslf4j-simpleJava 18+[18,)-Djava.security.manager=allowpmd-releasehttps://docs.pmd-code.org/pmd-doc-${project.version}signorg.apache.maven.pluginsmaven-gpg-plugin3.0.1sign-artifactsverifysigndoclintorg.apache.maven.pluginsmaven-javadoc-pluginallfastSkiptruetruetruetruetruetruetruecoverallsorg.jacocojacoco-maven-plugindefault-prepare-agentprepare-agentcom.github.hazendaz.mavencoveralls-maven-plugin4.5.0-M3sonarhttps://sonarcloud.iopmd1.8org.sonarsource.scanner.mavensonar-maven-plugin3.10.0.2594org.jacocojacoco-maven-plugindefault-prepare-agentprepare-agentcli-dist-modules!skip-cli-distpmd-clipmd-distpmd-compat6-module!skip-pmd-compat6pmd-compat6pmd-apexpmd-cocopmd-corepmd-cpppmd-cspmd-dartpmd-docpmd-fortranpmd-gherkinpmd-gopmd-groovypmd-htmlpmd-luapmd-javapmd-javascriptpmd-jsppmd-juliapmd-kotlinpmd-lang-testpmd-matlabpmd-modelicapmd-objectivecpmd-perlpmd-phppmd-plsqlpmd-pythonpmd-rubypmd-scalapmd-scala-modules/pmd-scala-commonpmd-scala-modules/pmd-scala_2.13pmd-scala-modules/pmd-scala_2.12pmd-swiftpmd-testpmd-test-schemapmd-tsqlpmd-visualforcepmd-vmpmd-xmlpmd-antpmd-languages-deps