PMD CI (pmd-bot)
2024-09-26 14:58:11 +00:00
parent 9213fba740
commit 0783c003be
174 changed files with 990 additions and 952 deletions

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Page Not Found
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/404.md"
href="https://github.com/pmd/pmd/blob/main/docs/404.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Page Not Found</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/404.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/404.md">
<details id="inline-toc-details">
@ -1922,7 +1922,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/404.md"
href="https://github.com/pmd/pmd/blob/main/docs/404.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -5,8 +5,8 @@
<description>Intended as a documentation theme based on Jekyll for technical writers documenting software and other technical products, this theme has all the elements you would need to handle multiple products with both multi-level sidebar navigation, tags, and other documentation features.</description>
<link>https://docs.pmd-code.org/latest/</link>
<atom:link href="https://docs.pmd-code.org/latest/feed.xml" rel="self" type="application/rss+xml"/>
<pubDate>Thu, 26 Sep 2024 14:09:15 +0000</pubDate>
<lastBuildDate>Thu, 26 Sep 2024 14:09:15 +0000</lastBuildDate>
<pubDate>Thu, 26 Sep 2024 14:55:08 +0000</pubDate>
<lastBuildDate>Thu, 26 Sep 2024 14:55:08 +0000</lastBuildDate>
<generator>Jekyll v3.10.0</generator>
</channel>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Documentation Index
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/index.md"
href="https://github.com/pmd/pmd/blob/main/docs/index.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Documentation Index</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/index.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/index.md">
<div class="summary">Welcome to the documentation site for PMD and CPD! <br/><br/>
@ -8433,7 +8433,7 @@ Contributions of any kind welcome!</p>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/index.md"
href="https://github.com/pmd/pmd/blob/main/docs/index.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» License
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/license.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/license.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">License</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/license.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/license.md">
<details id="inline-toc-details">
@ -2166,7 +2166,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/license.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/license.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» News
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/news/news.html"
href="https://github.com/pmd/pmd/blob/main/docs/pages/news/news.html"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">News</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/news/news.html">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/news/news.html">
<details id="inline-toc-details">
@ -1931,7 +1931,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/news/news.html"
href="https://github.com/pmd/pmd/blob/main/docs/pages/news/news.html"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» News
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/news/news_archive.html"
href="https://github.com/pmd/pmd/blob/main/docs/pages/news/news_archive.html"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">News</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/news/news_archive.html">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/news/news_archive.html">
<details id="inline-toc-details">
@ -1932,7 +1932,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/news/news_archive.html"
href="https://github.com/pmd/pmd/blob/main/docs/pages/news/news_archive.html"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Getting Help
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/help.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/help.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Getting Help</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/help.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/help.md">
<details id="inline-toc-details">
@ -1942,7 +1942,7 @@ through the <a href="https://sourceforge.net/p/pmd/mailman/pmd-devel/">mailing l
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/help.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/help.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Release schedule and version policies
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/release_policies.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/release_policies.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Release schedule and version policies</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/release_policies.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/release_policies.md">
<details id="inline-toc-details">
@ -1946,9 +1946,9 @@ a patch release.</p>
<h2 id="git-branchestags-policy">Git branches/tags policy</h2>
<ul>
<li>Main development happens on the main branch (currently called <code class="language-plaintext highlighter-rouge">master</code>).</li>
<li>Main development happens on the main branch (currently called <code class="language-plaintext highlighter-rouge">main</code>).</li>
<li>PR and enhancements are done on the main branch.</li>
<li>Release are usually done directly from the main branch, we dont create release branches.</li>
<li>Releases are usually done directly from the main branch, we dont create release branches.</li>
<li>Each release has its own tag named <code class="language-plaintext highlighter-rouge">pmd_releases/MAJOR.MINOR.PATCH</code>.</li>
<li>In case of a patch release, we either do it from the main branch (if there was no development ongoing)
or create a separate branch off the last release tag.</li>
@ -1973,7 +1973,7 @@ or create a separate branch off the last release tag.</li>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/release_policies.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/release_policies.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Support lifecycle
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/support_lifecycle.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/support_lifecycle.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Support lifecycle</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/support_lifecycle.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/support_lifecycle.md">
<details id="inline-toc-details">
@ -1989,7 +1989,7 @@ We recommend to always update to the latest version to benefit from new features
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/about/support_lifecycle.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/about/support_lifecycle.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Building PMD from source
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/building.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/building.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Building PMD from source</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/building.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/building.md">
<details id="inline-toc-details">
@ -2010,7 +2010,7 @@ Theyre also in the jar file thats included with both the source and binary
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/building.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/building.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Developer Resources
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/development.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/development.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Developer Resources</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/development.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/development.md">
<details id="inline-toc-details">
@ -1934,8 +1934,8 @@ every push. Each pull request is built as well.</p>
<p>First off, thanks for taking the time to contribute!</p>
<p>Please have a look at <a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a> and
<a href="https://github.com/pmd/pmd/blob/master/BUILDING.md">BUILDING.md</a>.</p>
<p>Please have a look at <a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md">CONTRIBUTING.md</a> and
<a href="https://github.com/pmd/pmd/blob/main/BUILDING.md">BUILDING.md</a>.</p>
<div class="tags">
@ -1962,7 +1962,7 @@ every push. Each pull request is built as well.</p>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/development.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/development.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» How PMD Works
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/how_pmd_works.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/how_pmd_works.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">How PMD Works</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/how_pmd_works.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/how_pmd_works.md">
<div class="summary">Processing overview of the different steps taken by PMD.</div>
@ -1973,7 +1973,7 @@ type resolution information and DFA nodes.</li>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/how_pmd_works.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/how_pmd_works.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Logging
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/logging.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/logging.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Logging</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/logging.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/logging.md">
<details id="inline-toc-details">
@ -1979,7 +1979,7 @@ The default configuration is provided in <code class="language-plaintext highlig
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/logging.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/logging.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» How to add a new CPD language
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">How to add a new CPD language</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md">
<div class="summary">How to add a new language module with CPD support.</div>
@ -1916,7 +1916,7 @@ easy to implement the Tokenizer interface.</p>
<p>Use the following guide to set up a new language module that supports CPD.</p>
<ol>
<li>Create a new Maven module for your language. You can take <a href="https://github.com/pmd/pmd/tree/master/pmd-go/pom.xml">the Golang module</a> as an example.
<li>Create a new Maven module for your language. You can take <a href="https://github.com/pmd/pmd/tree/main/pmd-go/pom.xml">the Golang module</a> as an example.
<ul>
<li>Make sure to add your new module to the parent pom as <code class="language-plaintext highlighter-rouge">&lt;module&gt;</code> entry, so that it is built alongside the
other languages.</li>
@ -1928,7 +1928,7 @@ is automatically available in the binary distribution (pmd-dist).</li>
<ul>
<li>
<p>For Antlr grammars you can take the grammar from <a href="https://github.com/antlr/grammars-v4">antlr/grammars-v4</a> and place it in <code class="language-plaintext highlighter-rouge">src/main/antlr4</code> followed by the package name of the language. You then need to call the appropriate ant wrapper to generate
the lexer from the grammar. To do so, edit <code class="language-plaintext highlighter-rouge">pom.xml</code> (eg like <a href="https://github.com/pmd/pmd/tree/master/pmd-go/pom.xml">the Golang module</a>).
the lexer from the grammar. To do so, edit <code class="language-plaintext highlighter-rouge">pom.xml</code> (eg like <a href="https://github.com/pmd/pmd/tree/main/pmd-go/pom.xml">the Golang module</a>).
Once that is done, <code class="language-plaintext highlighter-rouge">mvn generate-sources</code> should generate the lexer sources for you.</p>
<p>You can now implement a CpdLexer, for instance by extending <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/cpd/impl/AntlrCpdLexer.html#"><code>AntlrCpdLexer</code></a>. The following reproduces the Go implementation:
@ -1951,7 +1951,7 @@ Once that is done, <code class="language-plaintext highlighter-rouge">mvn genera
change each token e.g. into uppercase, so that CPD sees the same strings and can find duplicates even when
the casing differs. See <a href="https://docs.pmd-code.org/apidocs/pmd-tsql/7.6.0-SNAPSHOT/net/sourceforge/pmd/lang/tsql/cpd/TSqlCpdLexer.html#"><code>TSqlCpdLexer</code></a> for an example. You will also need a
“CaseChangingCharStream”, so that antlr itself is case-insensitive.</li>
<li>For JavaCC grammars, place your grammar in <code class="language-plaintext highlighter-rouge">etc/grammar</code> and edit the <code class="language-plaintext highlighter-rouge">pom.xml</code> like the <a href="https://github.com/pmd/pmd/blob/master/pmd-python/pom.xml">Python implementation</a> does.
<li>For JavaCC grammars, place your grammar in <code class="language-plaintext highlighter-rouge">etc/grammar</code> and edit the <code class="language-plaintext highlighter-rouge">pom.xml</code> like the <a href="https://github.com/pmd/pmd/blob/main/pmd-python/pom.xml">Python implementation</a> does.
You can then subclass <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/cpd/impl/JavaccCpdLexer.html#"><code>JavaccCpdLexer</code></a> instead of AntlrCpdLexer.</li>
<li>If your JavaCC based language is case-insensitive (option <code class="language-plaintext highlighter-rouge">IGNORE_CASE=true</code>), then you need to implement
<a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/lang/ast/impl/javacc/JavaccTokenDocument.TokenDocumentBehavior.html#"><code>JavaccTokenDocument.TokenDocumentBehavior</code></a>, which can change each token
@ -1986,7 +1986,7 @@ If your language only supports CPD, then you can subclass <a href="https://docs.
<p>At this point the new language module should be available in <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/lang/LanguageRegistry.html#CPD"><code>CPD</code></a> and usable by CPD like any other language.</p>
</li>
<li>
<p>Update the test that asserts the list of supported languages by updating the <code class="language-plaintext highlighter-rouge">SUPPORTED_LANGUAGES</code> constant in <a href="https://github.com/pmd/pmd/blob/master/pmd-dist/src/test/java/net/sourceforge/pmd/dist/BinaryDistributionIT.java">BinaryDistributionIT</a>.</p>
<p>Update the test that asserts the list of supported languages by updating the <code class="language-plaintext highlighter-rouge">SUPPORTED_LANGUAGES</code> constant in <a href="https://github.com/pmd/pmd/blob/main/pmd-dist/src/test/java/net/sourceforge/pmd/dist/BinaryDistributionIT.java">BinaryDistributionIT</a>.</p>
</li>
<li>
<p>Add some tests for your CpdLexer by following the <a href="#testing-your-implementation">section below</a>.</p>
@ -2025,7 +2025,7 @@ of <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/source
<p>To implement simple token filtering, you can use <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/cpd/impl/BaseTokenFilter.html#"><code>BaseTokenFilter</code></a>
as a base class, or another base class in <a href="https://docs.pmd-code.org/apidocs/pmd-core/7.6.0-SNAPSHOT/net/sourceforge/pmd/cpd/impl/package-summary.html#"><code>net.sourceforge.pmd.cpd.impl</code></a>.
Take a look at the <a href="https://github.com/pmd/pmd/blob/master/pmd-kotlin/src/main/java/net/sourceforge/pmd/lang/kotlin/cpd/KotlinCpdLexer.java">Kotlin token filter implementation</a>, or the <a href="https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/cpd/JavaCpdLexer.java">Java one</a>.</p>
Take a look at the <a href="https://github.com/pmd/pmd/blob/main/pmd-kotlin/src/main/java/net/sourceforge/pmd/lang/kotlin/cpd/KotlinCpdLexer.java">Kotlin token filter implementation</a>, or the <a href="https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/cpd/JavaCpdLexer.java">Java one</a>.</p>
<h3 id="testing-your-implementation">Testing your implementation</h3>
@ -2107,7 +2107,7 @@ call the method <code class="language-plaintext highlighter-rouge">doTest</code>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_new_cpd_language.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Adding PMD support for a new ANTLR grammar based language
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Adding PMD support for a new ANTLR grammar based language</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md">
<div class="summary">How to add a new language to PMD using ANTLR grammar.</div>
@ -1960,7 +1960,7 @@ is automatically available in the binary distribution (pmd-dist).</li>
<ul>
<li>ANTLR will generate the parser for you based on the grammar file. The grammar file needs to be placed in the
folder <code class="language-plaintext highlighter-rouge">src/main/antlr4</code> in the appropriate sub package <code class="language-plaintext highlighter-rouge">ast</code> of the language. E.g. for swift, the grammar
file is <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/antlr4/net/sourceforge/pmd/lang/swift/ast/Swift.g4">Swift.g4</a>
file is <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/antlr4/net/sourceforge/pmd/lang/swift/ast/Swift.g4">Swift.g4</a>
and is placed in the package <code class="language-plaintext highlighter-rouge">net.sourceforge.pmd.lang.swift.ast</code>.</li>
<li>Configure the options “superClass” and “contextSuperClass”. These are the base classes for the generated
classes.</li>
@ -1970,29 +1970,29 @@ classes.</li>
<ul>
<li>The individual AST nodes are generated, but you need to define the common interface for them.</li>
<li>You need to define the supertype interface for all nodes of the language. For that, we provide
<a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrNode.java"><code class="language-plaintext highlighter-rouge">AntlrNode</code></a>.</li>
<li>See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftNode.java"><code class="language-plaintext highlighter-rouge">SwiftNode</code></a>
<a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrNode.java"><code class="language-plaintext highlighter-rouge">AntlrNode</code></a>.</li>
<li>See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftNode.java"><code class="language-plaintext highlighter-rouge">SwiftNode</code></a>
as an example.</li>
<li>Additionally, you need several base classes:
<ul>
<li>a language specific inner node - these nodes represent the production rules from the grammar.
In Antlr, they are called “ParserRuleContext”. We call them “InnerNode”. Use the
base class from pmd-core
<a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/BaseAntlrInnerNode.java"><code class="language-plaintext highlighter-rouge">BaseAntlrInnerNode</code></a>
. And example is <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java"><code class="language-plaintext highlighter-rouge">SwiftInnerNode</code></a>.
<a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/BaseAntlrInnerNode.java"><code class="language-plaintext highlighter-rouge">BaseAntlrInnerNode</code></a>
. And example is <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftInnerNode.java"><code class="language-plaintext highlighter-rouge">SwiftInnerNode</code></a>.
Note that this language specific inner node is package-private, as it is only the base class for the concrete
nodes generated by ANLTR.</li>
<li>a language specific root node - this provides the root of the AST and our parser will return
subtypes of this node. The root node itself is a “InnerNode”.
See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftRootNode.java"><code class="language-plaintext highlighter-rouge">SwiftRootNode</code></a>.
See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftRootNode.java"><code class="language-plaintext highlighter-rouge">SwiftRootNode</code></a>.
Note that this language specific root node is package-private, as it is only the base class for the concrete
node generated by ANLTR.</li>
<li>a language specific terminal node.
See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftTerminalNode.java"><code class="language-plaintext highlighter-rouge">SwiftTerminalNode</code></a>.</li>
See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftTerminalNode.java"><code class="language-plaintext highlighter-rouge">SwiftTerminalNode</code></a>.</li>
<li>a language specific error node.
See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftErrorNode.java"><code class="language-plaintext highlighter-rouge">SwiftErrorNode</code></a>.</li>
See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftErrorNode.java"><code class="language-plaintext highlighter-rouge">SwiftErrorNode</code></a>.</li>
<li>a language name dictionary. This is used to convert ANTLR node names to useful XPath node names.
See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftNameDictionary.java">`SwiftNameDictionary</a>.</li>
See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftNameDictionary.java">`SwiftNameDictionary</a>.</li>
</ul>
</li>
<li>Once these base classes exist, you need to change the ANTLR grammar to add additional members via <code class="language-plaintext highlighter-rouge">@parser::members</code>
@ -2000,15 +2000,15 @@ See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/
<li>Define a package private field <code class="language-plaintext highlighter-rouge">DICO</code> which creates a new instance of your language name dictionary using the
vocabulary from the generated parser (<code class="language-plaintext highlighter-rouge">VOCABULARY</code>).</li>
<li>Define two additional methods to help converting the ANTLR context objects into PMD AST nodes.
The methods are abstract in <a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java"><code class="language-plaintext highlighter-rouge">AntlrGeneratedParserBase</code></a>
The methods are abstract in <a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrGeneratedParserBase.java"><code class="language-plaintext highlighter-rouge">AntlrGeneratedParserBase</code></a>
and need to be implemented here for the concrete language: <code class="language-plaintext highlighter-rouge">createPmdTerminal()</code> and <code class="language-plaintext highlighter-rouge">createPmdError()</code>.</li>
</ul>
</li>
<li>In order for the generated code to match and use our custom classes, we have a common ant script, that fiddles with
the generated code. The ant script is <a href="https://github.com/pmd/pmd/blob/master/antlr4-wrapper.xml"><code class="language-plaintext highlighter-rouge">antlr4-wrapper.xml</code></a>
the generated code. The ant script is <a href="https://github.com/pmd/pmd/blob/main/antlr4-wrapper.xml"><code class="language-plaintext highlighter-rouge">antlr4-wrapper.xml</code></a>
and does not need to be adjusted - it has plenty of parameters that can be configured.
The ant script is added in the language modules <code class="language-plaintext highlighter-rouge">pom.xml</code> where the parameters are set (e.g. name of root name
class). Have a look at Swifts example: <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/pom.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/pom.xml</code></a>.</li>
class). Have a look at Swifts example: <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/pom.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/pom.xml</code></a>.</li>
<li>You can add additional methods in your “InnerNode” (e.g. <code class="language-plaintext highlighter-rouge">SwiftInnerNode</code>) that are available on all nodes.
But on most cases you wont need to do anything.</li>
</ul>
@ -2021,22 +2021,22 @@ to the phase <code class="language-plaintext highlighter-rouge">generate-sources
have the parser generated.</li>
<li>The generated code will be placed under <code class="language-plaintext highlighter-rouge">target/generated-sources/antlr4</code> and will not be committed to
source control.</li>
<li>You should review <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/pom.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/pom.xml</code></a>.</li>
<li>You should review <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/pom.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/pom.xml</code></a>.</li>
</ul>
<h3 id="5--create-a-tokenmanager">5. Create a TokenManager</h3>
<ul>
<li>This is needed to support CPD (copy paste detection)</li>
<li>We provide a default implementation using <a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrTokenManager.java"><code class="language-plaintext highlighter-rouge">AntlrTokenManager</code></a>.</li>
<li>We provide a default implementation using <a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrTokenManager.java"><code class="language-plaintext highlighter-rouge">AntlrTokenManager</code></a>.</li>
<li>You must create your own “AntlrCpdLexer” such as we do with
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/cpd/SwiftCpdLexer.java"><code class="language-plaintext highlighter-rouge">SwiftCpdLexer</code></a>.</li>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/cpd/SwiftCpdLexer.java"><code class="language-plaintext highlighter-rouge">SwiftCpdLexer</code></a>.</li>
<li>
<p>If you wish to filter specific tokens (e.g. comments to support CPD suppression via “CPD-OFF” and “CPD-ON”)
you can create your own implementation of
<a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/cpd/impl/AntlrTokenFilter.java"><code class="language-plaintext highlighter-rouge">AntlrTokenFilter</code></a>.
<a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/cpd/impl/AntlrTokenFilter.java"><code class="language-plaintext highlighter-rouge">AntlrTokenFilter</code></a>.
Youll need to override then the protected method <code class="language-plaintext highlighter-rouge">getTokenFilter(AntlrTokenManager)</code>
and return your custom filter. See the CpdLexer for C# as an exmaple:
<a href="https://github.com/pmd/pmd/blob/master/pmd-cs/src/main/java/net/sourceforge/pmd/lang/cs/cpd/CsCpdLexer.java"><code class="language-plaintext highlighter-rouge">CsCpdLexer</code></a>.</p>
<a href="https://github.com/pmd/pmd/blob/main/pmd-cs/src/main/java/net/sourceforge/pmd/lang/cs/cpd/CsCpdLexer.java"><code class="language-plaintext highlighter-rouge">CsCpdLexer</code></a>.</p>
<p>If you dont need a custom token filter, you dont need to override the method. It returns the default
<code class="language-plaintext highlighter-rouge">AntlrTokenFilter</code> which doesnt filter anything.</p>
@ -2046,14 +2046,14 @@ and return your custom filter. See the CpdLexer for C# as an exmaple:
<h3 id="6--create-a-pmd-parser-adapter">6. Create a PMD parser “adapter”</h3>
<ul>
<li>Create your own parser, that adapts the ANLTR interface to PMDs parser interface.</li>
<li>We provide a <a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java"><code class="language-plaintext highlighter-rouge">AntlrBaseParser</code></a>
<li>We provide a <a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseParser.java"><code class="language-plaintext highlighter-rouge">AntlrBaseParser</code></a>
implementation that you need to extend to create your own adapter as we do with
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/PmdSwiftParser.java"><code class="language-plaintext highlighter-rouge">PmdSwiftParser</code></a>.</li>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/PmdSwiftParser.java"><code class="language-plaintext highlighter-rouge">PmdSwiftParser</code></a>.</li>
</ul>
<h3 id="7--create-a-language-version-handler">7. Create a language version handler</h3>
<ul>
<li>Now you need to create your version handler, as we did with <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java"><code class="language-plaintext highlighter-rouge">SwiftHandler</code></a>.</li>
<li>Now you need to create your version handler, as we did with <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftHandler.java"><code class="language-plaintext highlighter-rouge">SwiftHandler</code></a>.</li>
<li>This class is sort of a gateway between PMD and all parsing logic specific to your language.</li>
<li>For a minimal implementation, it just needs to return a parser <em>(see step #6)</em>.</li>
<li>It can be used to provide other features for your language like
@ -2073,17 +2073,17 @@ provide the method name or class name, where the violation occurred.</li>
<li>A parser visitor adapter is not needed anymore with PMD 7. The visitor interface now provides a default
implementation.</li>
<li>The visitor for ANTLR based AST is generated along the parser from the ANTLR grammar file. The
base interface for a visitor is <a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstVisitor.java"><code class="language-plaintext highlighter-rouge">AstVisitor</code></a>.</li>
base interface for a visitor is <a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/AstVisitor.java"><code class="language-plaintext highlighter-rouge">AstVisitor</code></a>.</li>
<li>The generated visitor class for Swift is called <code class="language-plaintext highlighter-rouge">SwiftVisitor</code>.</li>
<li>In order to help use this visitor later on, a base visitor class should be created.
See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftVisitorBase.java"><code class="language-plaintext highlighter-rouge">SwiftVisitorBase</code></a>
See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/ast/SwiftVisitorBase.java"><code class="language-plaintext highlighter-rouge">SwiftVisitorBase</code></a>
as an example.</li>
</ul>
<h3 id="9-make-pmd-recognize-your-language">9. Make PMD recognize your language</h3>
<ul>
<li>Create your own subclass of <code class="language-plaintext highlighter-rouge">net.sourceforge.pmd.lang.impl.SimpleLanguageModuleBase</code>, see Swift as an example:
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java"><code class="language-plaintext highlighter-rouge">SwiftLanguageModule</code></a>.</li>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/SwiftLanguageModule.java"><code class="language-plaintext highlighter-rouge">SwiftLanguageModule</code></a>.</li>
<li>Add for each version of your language a call to <code class="language-plaintext highlighter-rouge">addVersion</code> in your language modules constructor.
Use <code class="language-plaintext highlighter-rouge">addDefaultVersion</code> for defining the default version.</li>
<li>Youll need to refer the language version handler created in step #7.</li>
@ -2095,9 +2095,9 @@ Add your fully qualified class name as a single line into it.</li>
<ul>
<li>You need to create your own abstract rule class in order to interface your language with PMDs generic rule
execution.</li>
<li>See <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/AbstractSwiftRule.java"><code class="language-plaintext highlighter-rouge">AbstractSwiftRule</code></a> as an example.</li>
<li>See <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/AbstractSwiftRule.java"><code class="language-plaintext highlighter-rouge">AbstractSwiftRule</code></a> as an example.</li>
<li>The rule basically just extends
<a href="https://github.com/pmd/pmd/blob/master/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractVisitorRule.java"><code class="language-plaintext highlighter-rouge">AbstractVisitorRule</code></a>
<a href="https://github.com/pmd/pmd/blob/main/pmd-core/src/main/java/net/sourceforge/pmd/lang/rule/AbstractVisitorRule.java"><code class="language-plaintext highlighter-rouge">AbstractVisitorRule</code></a>
and only redefines the abstract <code class="language-plaintext highlighter-rouge">buildVisitor()</code> method to return our own type of visitor.
In this case our <code class="language-plaintext highlighter-rouge">SwiftVisitor</code> is used.
While there is no real functionality added, every language should have its own base class for rules.
@ -2118,7 +2118,7 @@ may have different AST nodes.</li>
<li>To add a visitor rule:
<ul>
<li>You need to extend the abstract rule you created on the previous step, you can use the swift
rule <a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java">UnavailableFunctionRule</a>
rule <a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionRule.java">UnavailableFunctionRule</a>
as an example. Note, that all rule classes should be suffixed with <code class="language-plaintext highlighter-rouge">Rule</code> and should be placed
in a package the corresponds to their category.</li>
</ul>
@ -2144,17 +2144,17 @@ resource filtering configuration in the language modules <code class="languag
<ul>
<li>Each rule has its own test class: Create a test class for your rule extending <code class="language-plaintext highlighter-rouge">PmdRuleTst</code>
<em>(see
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java"><code class="language-plaintext highlighter-rouge">UnavailableFunctionTest</code></a>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/test/java/net/sourceforge/pmd/lang/swift/rule/bestpractices/UnavailableFunctionTest.java"><code class="language-plaintext highlighter-rouge">UnavailableFunctionTest</code></a>
for example)</em></li>
<li>Create a category rule set for your language <em>(see
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/main/resources/category/swift/bestpractices.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/src/main/resources/bestpractices.xml</code></a>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/main/resources/category/swift/bestpractices.xml"><code class="language-plaintext highlighter-rouge">pmd-swift/src/main/resources/bestpractices.xml</code></a>
for example)</em></li>
<li>Place the test XML file with the test cases in the correct location</li>
<li>When executing the test class
<ul>
<li>this triggers the unit test to read the corresponding XML file with the rule test data
<em>(see
<a href="https://github.com/pmd/pmd/blob/master/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml"><code class="language-plaintext highlighter-rouge">UnavailableFunction.xml</code></a>
<a href="https://github.com/pmd/pmd/blob/main/pmd-swift/src/test/resources/net/sourceforge/pmd/lang/swift/rule/bestpractices/xml/UnavailableFunction.xml"><code class="language-plaintext highlighter-rouge">UnavailableFunction.xml</code></a>
for example)</em></li>
<li>This test XML file contains sample pieces of code which should trigger a specified number of
violations of this rule. The unit test will execute the rule on this piece of code, and verify
@ -2228,7 +2228,7 @@ syntax tree) is not suitable to add methods such as <code class="language-plaint
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_antlr_based_language.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Adding PMD support for a new JavaCC grammar based language
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Adding PMD support for a new JavaCC grammar based language</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md">
<div class="summary">How to add a new language to PMD using JavaCC grammar.</div>
@ -2291,7 +2291,7 @@ see <a href="pmd_languages_java.html">Java-specific features and guidance</a>.</
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/adding_a_new_javacc_based_language.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Guidelines for standard rules
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Guidelines for standard rules</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md">
<div class="summary">Guidelines for rules that are included in the standard distribution</div>
@ -2026,7 +2026,7 @@ non-private”).</li>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/major_contributions/rule_guidelines.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Pmdtester
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/pmdtester.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/pmdtester.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Pmdtester</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/pmdtester.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/pmdtester.md">
<details id="inline-toc-details">
@ -1913,11 +1913,11 @@ Regression difference reports are commented back to the PR for the reviewers
<p><strong>Verifying your local changes and generate a diff-report locally</strong></p>
<p><code class="language-plaintext highlighter-rouge">pmdtester -r YOUR_LOCAL_PMD_GIT_REPO_ROOT_DIR -b master -p YOUR_DEVELOPMENT_BRANCH</code></p>
<p><code class="language-plaintext highlighter-rouge">pmdtester -r YOUR_LOCAL_PMD_GIT_REPO_ROOT_DIR -b main -p YOUR_DEVELOPMENT_BRANCH</code></p>
<p>The regression difference report is placed in the <code class="language-plaintext highlighter-rouge">YOUR_WORKING_DIR/target/reports/diff</code> directory.</p>
<p>For more documentation on pmdtester, see <a href="https://github.com/pmd/pmd-regression-tester/blob/master/README.rdoc">README.rdoc</a></p>
<p>For more documentation on pmdtester, see <a href="https://github.com/pmd/pmd-regression-tester/blob/main/README.rdoc">README.rdoc</a></p>
<div class="tags">
@ -1944,7 +1944,7 @@ Regression difference reports are commented back to the PR for the reviewers
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/pmdtester.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/pmdtester.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Roadmap
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/roadmap.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/roadmap.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Roadmap</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/roadmap.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/roadmap.md">
<details id="inline-toc-details">
@ -2065,7 +2065,7 @@ This should be configurable on per Rule basis similar to TR and SymbolTable.</p>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/roadmap.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/roadmap.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Rule deprecation policy
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/rule_deprecation.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/rule_deprecation.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Rule deprecation policy</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/rule_deprecation.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/rule_deprecation.md">
<div class="summary">Describes when and how rules are deprecated</div>
@ -2034,7 +2034,7 @@ major release of PMD.</p>
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/rule_deprecation.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/rule_deprecation.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Writing documentation
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/writing_documentation.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/writing_documentation.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Writing documentation</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/writing_documentation.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/writing_documentation.md">
<details id="inline-toc-details">
@ -1929,7 +1929,7 @@ This makes it easy to view the documentation also offline.</p>
<p>The categories for a language <code class="language-plaintext highlighter-rouge">%lang%</code> are located in
<code class="language-plaintext highlighter-rouge">pmd-%lang%/src/main/resources/category/%lang% </code>. So for Java the categories
can be found under <a href="https://github.com/pmd/pmd/tree/master/pmd-java/src/main/resources/category/java">pmd-java/src/main/resources/category/java</a>.
can be found under <a href="https://github.com/pmd/pmd/tree/main/pmd-java/src/main/resources/category/java">pmd-java/src/main/resources/category/java</a>.
The XML category files in this directory are transformed during build into markdown pages
describing the rules they contain. These pages are placed under <code class="language-plaintext highlighter-rouge">docs/</code> like the handwritten
documentation, and are then rendered with Jekyll like the rest of them. The rule documentation
@ -2022,7 +2022,7 @@ all formatting inside the delimiters, and allow to write code samples without
<p>For the javadoc tags, the standard PMD maven modules are already defined as namespaces, e.g. <code class="language-plaintext highlighter-rouge">core</code>, <code class="language-plaintext highlighter-rouge">java</code>, <code class="language-plaintext highlighter-rouge">apex</code>, ….</p>
<p>For the implementation of these tags, see the <a href="https://github.com/pmd/pmd/tree/master/docs/_plugins">_plugins</a> folder.</p>
<p>For the implementation of these tags, see the <a href="https://github.com/pmd/pmd/tree/main/docs/_plugins">_plugins</a> folder.</p>
<h2 id="building">Building</h2>
@ -2181,7 +2181,7 @@ by specifying <code class="language-plaintext highlighter-rouge">-Dpmd.doc.check
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/devdocs/writing_documentation.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/devdocs/writing_documentation.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Apex support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/apex.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/apex.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Apex support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/apex.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/apex.md">
<div class="summary">Apex-specific features and guidance</div>
@ -1985,7 +1985,7 @@ and generate an AST. This library is however a binary-blob provided as part of t
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/apex.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/apex.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Coco support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/coco.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/coco.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Coco support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/coco.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/coco.md">
<div class="summary">Coco features and guidance</div>
@ -1960,7 +1960,7 @@ It is part of the Coco Platform from <a href="https://cocotec.io/">https://cocot
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/coco.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/coco.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Language configuration
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/language_properties.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/language_properties.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Language configuration</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/language_properties.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/language_properties.md">
<div class="summary">Summary of language configuration options and properties</div>
@ -2088,7 +2088,7 @@ that is conditionally compiled out. Set this property to empty to disable this.<
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/language_properties.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/language_properties.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» C/C++ support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cpp.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cpp.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">C/C++ support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cpp.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cpp.md">
<div class="summary">C/C++ features and guidance</div>
@ -1951,7 +1951,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cpp.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cpp.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» C# support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cs.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cs.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">C# support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cs.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cs.md">
<div class="summary">C#-specific features and guidance</div>
@ -1948,7 +1948,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/cs.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/cs.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Dart support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/dart.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/dart.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Dart support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/dart.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/dart.md">
<div class="summary">Dart-specific features and guidance</div>
@ -1952,7 +1952,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/dart.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/dart.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Fortran support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/fortran.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/fortran.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Fortran support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/fortran.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/fortran.md">
<div class="summary">Fortran features and guidance</div>
@ -1948,7 +1948,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/fortran.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/fortran.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Gherkin support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/gherkin.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/gherkin.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Gherkin support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/gherkin.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/gherkin.md">
<div class="summary">Gherkin features and guidance</div>
@ -1961,7 +1961,7 @@ languages, CPD currently supports only the English version of the Gherkin langua
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/gherkin.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/gherkin.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

View File

@ -1560,7 +1560,7 @@
<li><a href="https://github.com/pmd/pmd/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
<li><a href="https://github.com/pmd/pmd/blob/main/CONTRIBUTING.md" target="_blank">Contributing</a></li>
@ -1876,7 +1876,7 @@
» Go support
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/go.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/go.md"
class="float-right"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
@ -1893,7 +1893,7 @@
<h1 class="post-title-main">Go support</h1>
</div>
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/go.md">
<div class="post-content" data-github-edit-url="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/go.md">
<div class="summary">Go features and guidance</div>
@ -1952,7 +1952,7 @@
github and create a PR:
<a
target="_blank"
href="https://github.com/pmd/pmd/blob/master/docs/pages/pmd/languages/go.md"
href="https://github.com/pmd/pmd/blob/main/docs/pages/pmd/languages/go.md"
role="button"
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
>

Some files were not shown because too many files have changed in this diff Show More