Groovy-specific features and guidance
Table of Contents

Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax.

<summary>Language Info for Groovy</summary>
<div class="card">
    <ul class="list-group list-group-flush">
        <li class="list-group-item">Since PMD 5.5.2</li>
        <li class="list-group-item">Implementation: <a href="https://docs.pmd-code.org/apidocs/pmd-groovy/7.0.0-SNAPSHOT/net/sourceforge/pmd/lang/groovy/GroovyLanguageModule.html#"><code>GroovyLanguageModule</code></a></li>
        <li class="list-group-item">Id: groovy</li>
        <li class="list-group-item">PMD: ❌</li>
        <li class="list-group-item">CPD: ✔️</li>
    </ul>
</div>

Support in PMD

Groovy support was added with PMD 5.5.2. With PMD 7.0.0, support for Groovy 3 and 4 was added.

Since PMD 7.0.0, the Groovy module supports suppression through CPD-ON/CPD-OFF comment pairs.

Limitations

  • Support for Groovy only extends to CPD to detect code duplication.