Merge branch 'master' into issue-2501-antlr-doc
@ -7154,6 +7154,16 @@
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "PimvanderLoos",
|
||||
"name": "Pim van der Loos",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3114723?v=4",
|
||||
"profile": "https://github.com/PimvanderLoos",
|
||||
"contributions": [
|
||||
"code",
|
||||
"test"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
@ -138,7 +138,7 @@ f=check-environment.sh; \
|
||||
|
||||
Calling `.ci/build.sh` directly would re-release the tag $TAG_NAME - that's why it is commented out.
|
||||
All the side-effects of a release would be carried out like creating and publishing a release on github,
|
||||
uploading the release to sourceforge, uploading the docs to pmd.github.io/docs.pmd-code.org, uploading a
|
||||
uploading the release to sourceforge, uploading the docs to docs.pmd-code.org, uploading a
|
||||
new baseline for the regression tester and so on. While the release should be reproducible and therefore should
|
||||
produce exactly the same artifacts, re-uploading artifacts is not desired just for testing.
|
||||
|
||||
|
14
.ci/build.sh
@ -179,6 +179,11 @@ function pmd_ci_deploy_build_artifacts() {
|
||||
# Deploy to sourceforge files https://sourceforge.net/projects/pmd/files/pmd/
|
||||
pmd_ci_sourceforge_uploadFile "pmd/${PMD_CI_MAVEN_PROJECT_VERSION}" "pmd-dist/target/pmd-bin-${PMD_CI_MAVEN_PROJECT_VERSION}.zip"
|
||||
pmd_ci_sourceforge_uploadFile "pmd/${PMD_CI_MAVEN_PROJECT_VERSION}" "pmd-dist/target/pmd-src-${PMD_CI_MAVEN_PROJECT_VERSION}.zip"
|
||||
# Deploy SBOM
|
||||
cp pmd-dist/target/bom.xml "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.xml"
|
||||
cp pmd-dist/target/bom.json "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.json"
|
||||
pmd_ci_sourceforge_uploadFile "pmd/${PMD_CI_MAVEN_PROJECT_VERSION}" "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.xml"
|
||||
pmd_ci_sourceforge_uploadFile "pmd/${PMD_CI_MAVEN_PROJECT_VERSION}" "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.json"
|
||||
|
||||
if pmd_ci_maven_isReleaseBuild; then
|
||||
# create a draft github release
|
||||
@ -188,6 +193,9 @@ function pmd_ci_deploy_build_artifacts() {
|
||||
# Deploy to github releases
|
||||
pmd_ci_gh_releases_uploadAsset "$GH_RELEASE" "pmd-dist/target/pmd-bin-${PMD_CI_MAVEN_PROJECT_VERSION}.zip"
|
||||
pmd_ci_gh_releases_uploadAsset "$GH_RELEASE" "pmd-dist/target/pmd-src-${PMD_CI_MAVEN_PROJECT_VERSION}.zip"
|
||||
# Deploy SBOM
|
||||
pmd_ci_gh_releases_uploadAsset "$GH_RELEASE" "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.xml"
|
||||
pmd_ci_gh_releases_uploadAsset "$GH_RELEASE" "pmd-dist/target/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}-cyclonedx.json"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -224,7 +232,7 @@ function pmd_ci_build_and_upload_doc() {
|
||||
pmd_ci_sourceforge_uploadReleaseNotes "pmd/${PMD_CI_MAVEN_PROJECT_VERSION}" "${rendered_release_notes}"
|
||||
|
||||
if pmd_ci_maven_isSnapshotBuild && [ "${PMD_CI_BRANCH}" = "master" ]; then
|
||||
# only for snapshot builds from branch master
|
||||
# only for snapshot builds from branch master: https://docs.pmd-code.org/snapshot -> pmd-doc-${PMD_CI_MAVEN_PROJECT_VERSION}
|
||||
pmd_code_createSymlink "${PMD_CI_MAVEN_PROJECT_VERSION}" "snapshot"
|
||||
|
||||
# update github pages https://pmd.github.io/pmd/
|
||||
@ -249,14 +257,12 @@ function pmd_ci_build_and_upload_doc() {
|
||||
local rendered_release_notes_with_links
|
||||
rendered_release_notes_with_links="
|
||||
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F${PMD_CI_MAVEN_PROJECT_VERSION}
|
||||
* Documentation: https://pmd.github.io/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}/
|
||||
* Documentation: https://docs.pmd-code.org/pmd-doc-${PMD_CI_MAVEN_PROJECT_VERSION}/
|
||||
|
||||
${rendered_release_notes}"
|
||||
pmd_ci_sourceforge_createDraftBlogPost "${release_name} released" "${rendered_release_notes_with_links}" "pmd,release"
|
||||
SF_BLOG_URL="${RESULT}"
|
||||
|
||||
# updates https://pmd.github.io/latest/ and https://pmd.github.io/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}
|
||||
publish_release_documentation_github
|
||||
# rsync site to https://pmd.sourceforge.io/pmd-${PMD_CI_MAVEN_PROJECT_VERSION}
|
||||
pmd_ci_sourceforge_rsyncSnapshotDocumentation "${PMD_CI_MAVEN_PROJECT_VERSION}" "pmd-${PMD_CI_MAVEN_PROJECT_VERSION}"
|
||||
fi
|
||||
|
@ -42,55 +42,7 @@ function pmd_doc_create_archive() {
|
||||
}
|
||||
|
||||
#
|
||||
# Publishes the site to https://pmd.github.io/pmd-${PMD_CI_MAVEN_PROJECT_VERSION} and
|
||||
# https://pmd.github.io/latest/
|
||||
#
|
||||
function publish_release_documentation_github() {
|
||||
echo -e "\n\n"
|
||||
pmd_ci_log_info "Adding the new doc to pmd.github.io..."
|
||||
# clone pmd.github.io. Note: This uses the ssh key setup earlier
|
||||
# In order to speed things up, we use a sparse checkout - no need to checkout all directories here
|
||||
mkdir pmd.github.io
|
||||
(
|
||||
cd pmd.github.io || { echo "Directory 'pmd.github.io' doesn't exist"; exit 1; }
|
||||
git init
|
||||
git config user.name "PMD CI (pmd-bot)"
|
||||
git config user.email "pmd-bot@users.noreply.github.com"
|
||||
git config core.sparsecheckout true
|
||||
git remote add origin git@github.com-pmd.github.io:pmd/pmd.github.io.git
|
||||
echo "/latest/" > .git/info/sparse-checkout
|
||||
echo "/sitemap.xml" >> .git/info/sparse-checkout
|
||||
git pull --depth=1 origin master
|
||||
pmd_ci_log_info "Copying documentation from ../docs/pmd-doc-${PMD_CI_MAVEN_PROJECT_VERSION}/ to pmd-${PMD_CI_MAVEN_PROJECT_VERSION}/ ..."
|
||||
rsync -ah --stats "../docs/pmd-doc-${PMD_CI_MAVEN_PROJECT_VERSION}/" "pmd-${PMD_CI_MAVEN_PROJECT_VERSION}/"
|
||||
git status
|
||||
pmd_ci_log_debug "Executing: git add pmd-${PMD_CI_MAVEN_PROJECT_VERSION}"
|
||||
git add --sparse "pmd-${PMD_CI_MAVEN_PROJECT_VERSION}"
|
||||
pmd_ci_log_debug "Executing: git commit..."
|
||||
git commit -q -m "Added pmd-${PMD_CI_MAVEN_PROJECT_VERSION}"
|
||||
|
||||
pmd_ci_log_info "Copying pmd-${PMD_CI_MAVEN_PROJECT_VERSION} to latest ..."
|
||||
git rm -qr latest
|
||||
cp -a "pmd-${PMD_CI_MAVEN_PROJECT_VERSION}" latest
|
||||
pmd_ci_log_debug "Executing: git add latest"
|
||||
git add latest
|
||||
pmd_ci_log_debug "Executing: git commit..."
|
||||
git commit -q -m "Copying pmd-${PMD_CI_MAVEN_PROJECT_VERSION} to latest"
|
||||
|
||||
pmd_ci_log_info "Generating sitemap.xml"
|
||||
../docs/sitemap_generator.sh > sitemap.xml
|
||||
pmd_ci_log_debug "Executing: git add sitemap.xml"
|
||||
git add sitemap.xml
|
||||
pmd_ci_log_debug "Executing: git commit..."
|
||||
git commit -q -m "Generated sitemap.xml"
|
||||
|
||||
pmd_ci_log_info "Executing: git push origin master"
|
||||
git push origin master
|
||||
)
|
||||
}
|
||||
|
||||
#
|
||||
# Updates github pages of the main repository,
|
||||
# Updates github pages branch "gh-pages" of the main repository,
|
||||
# so that https://pmd.github.io/pmd/ has the latest (snapshot) content
|
||||
#
|
||||
function pmd_doc_publish_to_github_pages() {
|
||||
|
@ -13,7 +13,7 @@ assignees: ''
|
||||
**Rule:**
|
||||
|
||||
Please provide the rule name and a link to the rule documentation:
|
||||
<https://pmd.github.io/latest/pmd_rules_XXX_XXX.html#XXX>
|
||||
<https://docs.pmd-code.org/latest/pmd_rules_XXX_XXX.html#XXX>
|
||||
|
||||
**Description:**
|
||||
|
||||
|
@ -13,7 +13,7 @@ assignees: ''
|
||||
**Rule:**
|
||||
|
||||
Please provide the rule name and a link to the rule documentation:
|
||||
<https://pmd.github.io/latest/pmd_rules_XXX_XXX.html#XXX>
|
||||
<https://docs.pmd-code.org/latest/pmd_rules_XXX_XXX.html#XXX>
|
||||
|
||||
**Description:**
|
||||
|
||||
|
@ -33,11 +33,11 @@ When filing a bug report, please provide as much information as possible, so tha
|
||||
|
||||
## Documentation
|
||||
|
||||
There is some documentation available under <https://pmd.github.io/latest>. Feel free to create a bug report if
|
||||
There is some documentation available under <https://docs.pmd-code.org/latest>. Feel free to create a bug report if
|
||||
documentation is missing, incomplete or outdated. See [Bug reports](#bug-reports).
|
||||
|
||||
The documentation is generated as a Jekyll site, the source is available at: <https://github.com/pmd/pmd/tree/master/docs>. You can find build instructions there.
|
||||
For more on contributing documentation check <https://pmd.github.io/pmd/pmd_devdocs_writing_documentation.html>
|
||||
For more on contributing documentation check <https://docs.pmd-code.org/latest/pmd_devdocs_writing_documentation.html>
|
||||
|
||||
## Questions
|
||||
|
||||
|
10
README.md
@ -9,7 +9,7 @@
|
||||
[![Coverage Status](https://coveralls.io/repos/github/pmd/pmd/badge.svg)](https://coveralls.io/github/pmd/pmd)
|
||||
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/ea550046a02344ec850553476c4aa2ca)](https://www.codacy.com/gh/pmd/pmd/dashboard?utm_source=github.com&utm_medium=referral&utm_content=pmd/pmd&utm_campaign=Badge_Grade)
|
||||
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](code_of_conduct.md)
|
||||
[![Documentation (latest)](https://img.shields.io/badge/docs-latest-green)](https://pmd.github.io/latest/)
|
||||
[![Documentation (latest)](https://img.shields.io/badge/docs-latest-green)](https://docs.pmd-code.org/latest/)
|
||||
|
||||
**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.
|
||||
@ -32,9 +32,9 @@ it makes sense.
|
||||
Download the latest binary zip from the [releases](https://github.com/pmd/pmd/releases/latest)
|
||||
and extract it somewhere.
|
||||
|
||||
Execute `bin/run.sh pmd` or `bin\pmd.bat`.
|
||||
Execute `bin/pmd check` or `bin\pmd.bat check`.
|
||||
|
||||
See also [Getting Started](https://pmd.github.io/latest/pmd_userdocs_installation.html)
|
||||
See also [Getting Started](https://docs.pmd-code.org/latest/pmd_userdocs_installation.html)
|
||||
|
||||
**Demo:**
|
||||
|
||||
@ -43,7 +43,7 @@ This shows how PMD can detect for loops, that can be replaced by for-each loops.
|
||||
![Demo](docs/images/userdocs/pmd-demo.gif)
|
||||
|
||||
There are plugins for Maven and Gradle as well as for various IDEs.
|
||||
See [Tools / Integrations](https://pmd.github.io/latest/pmd_userdocs_tools.html)
|
||||
See [Tools / Integrations](https://docs.pmd-code.org/latest/pmd_userdocs_tools.html)
|
||||
|
||||
## ℹ️ How to get support?
|
||||
|
||||
@ -54,7 +54,7 @@ See [Tools / Integrations](https://pmd.github.io/latest/pmd_userdocs_tools.html)
|
||||
* I got this error and I'm sure it's a bug -- file an [issue](https://github.com/pmd/pmd/issues).
|
||||
* I have an idea/request/question -- create a new [discussion](https://github.com/pmd/pmd/discussions).
|
||||
* I have a quick question -- ask in our [Gitter room](https://app.gitter.im/#/room/#pmd_pmd:gitter.im).
|
||||
* Where's your documentation? -- <https://pmd.github.io/latest/>
|
||||
* Where's your documentation? -- <https://docs.pmd-code.org/latest/>
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
# PMD Documentation
|
||||
|
||||
The documentation is available at: <https://pmd.github.io/pmd/>
|
||||
The snapshot documentation (build by github pages) is available at: <https://pmd.github.io/pmd/>.
|
||||
|
||||
The documentation for the latest release is at: <https://pmd.github.io/latest/>
|
||||
The same documentation (build with our own scripts) is available at: <https://docs.pmd-code.org/snapshot/>.
|
||||
|
||||
The documentation for the latest release is at: <https://docs.pmd-code.org/latest/>
|
||||
|
||||
## Site Theme
|
||||
|
||||
|
@ -44,7 +44,6 @@ exclude:
|
||||
- pdf-*.sh
|
||||
- pdfconfigs/
|
||||
- pdf/
|
||||
- sitemap_generator.sh
|
||||
- render_release_notes.rb
|
||||
|
||||
feedback_subject_line: PMD Source Code Analyzer
|
||||
@ -117,7 +116,7 @@ description: "Intended as a documentation theme based on Jekyll for technical wr
|
||||
# the description is used in the feed.xml file
|
||||
|
||||
# needed for sitemap.xml file only
|
||||
url: https://pmd.github.io/pmd
|
||||
url: https://docs.pmd-code.org/latest
|
||||
baseurl: ""
|
||||
|
||||
# used by javadoc_tag.rb
|
||||
|
@ -9,7 +9,7 @@
|
||||
target="_blank"
|
||||
href="https://github.com/{{site.github_editme_path}}{{editmepath}}"
|
||||
role="button"
|
||||
><i class="fa fa-github fa-lg"></i> Edit on GitHub</a
|
||||
><i class="fab fa-github fa-lg"></i> Edit on GitHub</a
|
||||
>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -53,7 +53,7 @@ class RuleTag < Liquid::Tag
|
||||
# This is passed from the release notes processing script
|
||||
# When generating links for the release notes, the links should be absolute
|
||||
if context["is_release_notes_processor"]
|
||||
url_prefix = "https://pmd.github.io/pmd-#{context["site.pmd.version"]}/"
|
||||
url_prefix = "https://docs.pmd-code.org/pmd-doc-#{context["site.pmd.version"]}/"
|
||||
end
|
||||
|
||||
if @was_removed
|
||||
|
BIN
docs/images/logo/pmd-logo-300px-squared.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
docs/images/logo/pmd-logo-600px-squared.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/images/logo/pmd-logo-70px-squared.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
docs/images/logo/pmd-logo-white-300px-squared.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
docs/images/logo/pmd-logo-white-400x165px.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
docs/images/logo/pmd-logo-white-600px-squared.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/images/logo/pmd-old-logo-white-600x440px.png
Normal file
After Width: | Height: | Size: 14 KiB |
442
docs/images/logo/pmd-old.svg
Normal file
After Width: | Height: | Size: 53 KiB |
@ -27,12 +27,6 @@ It usually takes 15 minutes.
|
||||
* There is also a sub page "news" which lists all news.
|
||||
* Layout: [_layouts/news.html](https://github.com/pmd/pmd.github.io/blob/master/_layouts/news.html)
|
||||
* Page (which is pretty empty): [news.html](https://github.com/pmd/pmd.github.io/blob/master/news.html)
|
||||
* Documentation for the latest release: <https://pmd.github.io/latest/>
|
||||
* The PMD documentation of the latest release is simply copied as static html into the folder [latest/](https://github.com/pmd/pmd.github.io/tree/master/latest).
|
||||
This makes the latest release documentation available under the stable URL
|
||||
<https://pmd.github.io/latest/>. This URL is also used for the [sitemap.xml](https://github.com/pmd/pmd.github.io/blob/master/sitemap.xml).
|
||||
* Documentation for previous releases are still being kept under the folders `pmd-<version>/`.
|
||||
|
||||
|
||||
## Building the page locally
|
||||
|
||||
|
@ -45,7 +45,7 @@ e.g. it requires that the repo `pmd.github.io` is checked out aside the main pmd
|
||||
|
||||
The script `do-release.sh` is called in the directory `/home/joe/source/pmd` and searches for `../pmd.github.io`.
|
||||
|
||||
Also make sure, that the repo "pmd.github.io" is locally up to date and has no local changes.
|
||||
Also make sure, that the repo "pmd.github.io" is locally up-to-date and has no local changes.
|
||||
|
||||
### The Release Notes and docs
|
||||
|
||||
@ -183,11 +183,8 @@ Here is, what happens:
|
||||
* Remove old javadoc for the SNAPSHOT version, e.g. delete <https://docs.pmd-code.org/apidocs/pmd-core/6.34.0-SNAPSHOT/>.
|
||||
* Create a draft news post on <https://sourceforge.net/p/pmd/news/> for the new release. This contains the
|
||||
rendered release notes.
|
||||
* Add the documentation of the new release to a subfolder on <https://pmd.github.io>, also make
|
||||
this folder available as `latest`, so that <https://pmd.github.io/latest/> shows the new
|
||||
version and <https://pmd.github.io/pmd-6.34.0/> is the URL for the specific release.
|
||||
* Also copy the documentation to sourceforge's web space, so that it is available as
|
||||
<https://pmd.sourceforge.io/pmd-6.34.0/>. All previously copied version are listed
|
||||
* Copy the documentation to sourceforge's web space, so that it is available as
|
||||
<https://pmd.sourceforge.io/pmd-6.34.0/>. All previously copied versions are listed
|
||||
under <https://pmd.sourceforge.io/archive.phtml>.
|
||||
* After all this is done, the release on github (<https://github.com/pmd/pmd/releases>) is published
|
||||
and the news post on sourceforge (https://sourceforge.net/p/pmd/news/> is publishes as well.
|
||||
@ -206,7 +203,7 @@ news:
|
||||
|
||||
|
||||
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F<version>
|
||||
* Documentation: https://pmd.github.io/pmd-<version>/
|
||||
* Documentation: https://docs.pmd-code.org/pmd-doc-<version>/
|
||||
|
||||
And Copy-Paste the release notes
|
||||
|
||||
@ -219,20 +216,21 @@ Tweet on <https://twitter.com/pmd_analyzer>, eg.:
|
||||
|
||||
### Checklist
|
||||
|
||||
| Task | Description | URL | ☐ / ✔ |
|
||||
|------|-------------|-----|-------|
|
||||
| maven central | The new version of all artifacts are available in maven central | <https://repo.maven.apache.org/maven2/net/sourceforge/pmd/pmd/> | <input type="checkbox"> |
|
||||
| github releases | A new release with 3 assets (bin, src, doc) is created | <https://github.com/pmd/pmd/releases> | <input type="checkbox"> |
|
||||
| sourceforge files | The 3 assets (bin, src, doc) are uploaded, the new version is pre-selected as latest | <https://sourceforge.net/projects/pmd/files/pmd/> | <input type="checkbox"> |
|
||||
| homepage | Main landing page points to new version, doc for new version is available | <https://pmd.github.io> | <input type="checkbox"> |
|
||||
| homepage2 | New blogpost for the new release is posted | <https://pmd.github.io/#news> | <input type="checkbox"> |
|
||||
| docs | New docs are uploaded | <https://docs.pmd-code.org/latest/> | <input type="checkbox"> |
|
||||
| docs-archive | New docs are also on archive site | <https://pmd.sourceforge.io/archive.phtml> | <input type="checkbox"> |
|
||||
| javadoc | New javadocs are uploaded | <https://docs.pmd-code.org/apidocs/> | <input type="checkbox"> |
|
||||
| news | New blogpost on sourceforge is posted | <https://sourceforge.net/p/pmd/news/> | <input type="checkbox"> |
|
||||
| regression-tester | New release baseline is uploaded | <https://pmd-code.org/pmd-regression-tester> | <input type="checkbox"> |
|
||||
| mailing list | announcement on mailing list is sent | <https://sourceforge.net/p/pmd/mailman/pmd-devel/> | <input type="checkbox"> |
|
||||
| twitter | tweet about the new release | <https://twitter.com/pmd_analyzer> | <input type="checkbox"> |
|
||||
| Task | Description | URL | ☐ / ✔ |
|
||||
|-------------------|--------------------------------------------------------------------------------------|-----------------------------------------------------------------|-------------------------|
|
||||
| maven central | The new version of all artifacts are available in maven central | <https://repo.maven.apache.org/maven2/net/sourceforge/pmd/pmd/> | <input type="checkbox"> |
|
||||
| github releases | A new release with 3 assets (bin, src, doc) is created | <https://github.com/pmd/pmd/releases> | <input type="checkbox"> |
|
||||
| sourceforge files | The 3 assets (bin, src, doc) are uploaded, the new version is pre-selected as latest | <https://sourceforge.net/projects/pmd/files/pmd/> | <input type="checkbox"> |
|
||||
| homepage | Main landing page points to new version, doc for new version is available | <https://pmd.github.io> | <input type="checkbox"> |
|
||||
| homepage2 | New blogpost for the new release is posted | <https://pmd.github.io/#news> | <input type="checkbox"> |
|
||||
| docs | New docs are uploaded | <https://docs.pmd-code.org/latest/> | <input type="checkbox"> |
|
||||
| docs2 | New version in the docs is listed under "Version specific documentation" | <https://docs.pmd-code.org/> | <input type="checkbox"> |
|
||||
| docs-archive | New docs are also on archive site | <https://pmd.sourceforge.io/archive.phtml> | <input type="checkbox"> |
|
||||
| javadoc | New javadocs are uploaded | <https://docs.pmd-code.org/apidocs/> | <input type="checkbox"> |
|
||||
| news | New blogpost on sourceforge is posted | <https://sourceforge.net/p/pmd/news/> | <input type="checkbox"> |
|
||||
| regression-tester | New release baseline is uploaded | <https://pmd-code.org/pmd-regression-tester> | <input type="checkbox"> |
|
||||
| mailing list | announcement on mailing list is sent | <https://sourceforge.net/p/pmd/mailman/pmd-devel/> | <input type="checkbox"> |
|
||||
| twitter | tweet about the new release | <https://twitter.com/pmd_analyzer> | <input type="checkbox"> |
|
||||
|
||||
## Prepare the next release
|
||||
|
||||
@ -309,7 +307,7 @@ In theory, the fixes should already be there, but you never now.
|
||||
If releases from multiple branches are being done, the order matters. You should start from the "oldest" branch,
|
||||
e.g. `pmd/5.4.x`, release from there. Then merge (see above) into the next branch, e.g. `pmd/5.5.x` and release
|
||||
from there. Then merge into the `master` branch and release from there. This way, the last release done, becomes
|
||||
automatically the latest release on <https://pmd.github.io/latest/> and on sourceforge.
|
||||
automatically the latest release on <https://docs.pmd-code.org/latest/> and on sourceforge.
|
||||
|
||||
|
||||
### (Optional) Create a new release branch
|
||||
|
@ -10,11 +10,26 @@ folder: pmd/projectdocs
|
||||
|
||||
The following PMD Logos and Icons are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/):
|
||||
|
||||
* [PMD.svg](images/logo/PMD.svg)
|
||||
* [PMD.svg](images/logo/PMD.svg) - main logo source file. All other sizes/images are derived from that.
|
||||
* [PMD.png](images/logo/PMD.png)
|
||||
* [Logo (70px, transparent)](images/logo/pmd-logo-70px.png)
|
||||
* [Logo (70px, transparent, square shape)](images/logo/pmd-logo-70px-squared.png)
|
||||
* [Logo (300px, transparent)](images/logo/pmd-logo-300px.png)
|
||||
* [Logo (300px, transparent, square shape)](images/logo/pmd-logo-300px-squared.png)
|
||||
* [Logo (300px, white)](images/logo/pmd-logo-white-300px.png)
|
||||
* [Logo (300px, white, square shape)](images/logo/pmd-logo-white-300px-squared.png)
|
||||
* [Logo (400x165px, white)](images/logo/pmd-logo-white-400x165px.png)
|
||||
* [Logo (600px, transparent)](images/logo/pmd-logo-600px.png)
|
||||
* [Logo (600px, transparent, square shape)](images/logo/pmd-logo-600px-squared.png)
|
||||
* [Logo (600px, white)](images/logo/pmd-logo-white-600px.png)
|
||||
* [Logo (600px, white, suqare shape)](images/logo/pmd-logo-white-600px-squared.png)
|
||||
|
||||
* [Favicon (16x16)](images/logo/favicon.ico)
|
||||
|
||||
This new greenish logo was introduced with PMD 7.
|
||||
|
||||
Before that, PMD used the following logo with the tagline "Don't shoot the messenger".
|
||||
These old logos are provided here only as reference for historical reasons and shouldn't be used anymore.
|
||||
|
||||
* [Old logo - pmd-old.svg](images/logo/pmd-old.svg)
|
||||
* [Old logo (600x440px, white)](images/logo/pmd-old-logo-white-600x440px.png)
|
||||
|
@ -5,7 +5,7 @@ keywords: changelog, release notes
|
||||
---
|
||||
|
||||
{% if is_release_notes_processor %}
|
||||
{% capture baseurl %}https://pmd.github.io/pmd-{{ site.pmd.version }}/{% endcapture %}
|
||||
{% capture baseurl %}https://docs.pmd-code.org/pmd-doc-{{ site.pmd.version }}/{% endcapture %}
|
||||
{% else %}
|
||||
{% assign baseurl = "" %}
|
||||
{% endif %}
|
||||
@ -46,16 +46,22 @@ The remaining section describe the complete release notes for 7.0.0.
|
||||
* `AntlrBaseRule` is gone in favor of {% jdoc core::lang.rule.AbstractVisitorRule %}.
|
||||
* The classes {% jdoc kotlin::lang.kotlin.ast.KotlinInnerNode %} and {% jdoc swift::lang.swift.ast.SwiftInnerNode %}
|
||||
are package-private now.
|
||||
* The parameter order of {% jdoc core::lang.document.FileCollector#addSourceFile(String, String) %} has been swapped
|
||||
in order to have the same meaning as in 6.55.0. That will make it easier if you upgrade from 6.55.0 to 7.0.0.
|
||||
However, that means, that you need to change these method calls if you have migrated to 7.0.0-rc1 already.
|
||||
|
||||
#### Fixed Issues:
|
||||
* core
|
||||
* [#2500](https://github.com/pmd/pmd/issues/2500): \[core] Clarify API for ANTLR based languages
|
||||
* doc
|
||||
* [#2501](https://github.com/pmd/pmd/issues/2501): \[doc] Verify ANTLR Documentation
|
||||
* [#4438](https://github.com/pmd/pmd/issues/4438): \[doc] Documentation links in VS Code are outdated
|
||||
* java-codestyle
|
||||
* [#4273](https://github.com/pmd/pmd/issues/4273): \[java] CommentDefaultAccessModifier ignoredAnnotations should include "org.junit.jupiter.api.extension.RegisterExtension" by default
|
||||
* java-errorprone
|
||||
* [#4449](https://github.com/pmd/pmd/issues/4449): \[java] AvoidAccessibilityAlteration: Possible false positive in AvoidAccessibilityAlteration rule when using Lambda expression
|
||||
* miscellaneous
|
||||
* [#4462](https://github.com/pmd/pmd/issues/4462): Provide Software Bill of Materials (SBOM)
|
||||
|
||||
### 🚀 Major Features and Enhancements
|
||||
|
||||
@ -72,7 +78,7 @@ The new official logo of PMD:
|
||||
* Rewritten type resolution framework and symbol table correctly implements the JLS
|
||||
* AST exposes more semantic information (method calls, field accesses)
|
||||
|
||||
For more information, see the [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
For more information, see the [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
Contributors: [Clément Fournier](https://github.com/oowekyala) (@oowekyala),
|
||||
[Andreas Dangel](https://github.com/adangel) (@adangel),
|
||||
@ -90,7 +96,7 @@ Contributors: [Clément Fournier](https://github.com/oowekyala) (@oowekyala),
|
||||
|
||||
![Demo]({{ baseurl }}images/userdocs/pmd-demo.gif)
|
||||
|
||||
For more information, see the [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
For more information, see the [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
Contributors: [Juan Martín Sotuyo Dodero](https://github.com/jsotuyod) (@jsotuyod)
|
||||
|
||||
@ -100,7 +106,7 @@ Contributors: [Juan Martín Sotuyo Dodero](https://github.com/jsotuyod) (@jsotuy
|
||||
* Previously, Antlr grammar could only be used for CPD
|
||||
* New supported languages: Swift and Kotlin
|
||||
|
||||
For more information, see the [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
For more information, see the [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
Contributors: [Lucas Soncini](https://github.com/lsoncini) (@lsoncini),
|
||||
[Matías Fraga](https://github.com/matifraga) (@matifraga),
|
||||
@ -109,7 +115,7 @@ Contributors: [Lucas Soncini](https://github.com/lsoncini) (@lsoncini),
|
||||
### 🎉 Language Related Changes
|
||||
|
||||
Note that this is just a concise listing of the highlight.
|
||||
For more information on the languages, see the [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
For more information on the languages, see the [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
#### New: Swift support
|
||||
|
||||
@ -188,7 +194,7 @@ Contributors: [Lucas Soncini](https://github.com/lsoncini) (@lsoncini),
|
||||
#### Removed Rules
|
||||
|
||||
Many rules, that were previously deprecated have been finally removed.
|
||||
See [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html) for the complete list.
|
||||
See [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html) for the complete list.
|
||||
|
||||
### 🚨 API
|
||||
|
||||
@ -197,7 +203,7 @@ have a clear separation between a well-defined API and the implementation, which
|
||||
This should help us in future development.
|
||||
|
||||
Also, there are some improvement and changes in different areas. For the detailed description
|
||||
of the changes listed here, see [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
of the changes listed here, see [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
* Miscellaneous smaller changes and cleanups
|
||||
* XPath 3.1 support for XPath-based rules
|
||||
@ -207,7 +213,7 @@ of the changes listed here, see [Detailed Release Notes for PMD 7](pmd_release_n
|
||||
* Language Lifecycle and Language Properties
|
||||
|
||||
### 💥 Compatibility and migration notes
|
||||
See [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
See [Detailed Release Notes for PMD 7]({{ baseurl }}pmd_release_notes_pmd7.html).
|
||||
|
||||
### 🐛 Fixed Issues
|
||||
|
||||
@ -220,6 +226,7 @@ See [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
* [#2497](https://github.com/pmd/pmd/issues/2497): PMD 7 Logo page
|
||||
* [#2498](https://github.com/pmd/pmd/issues/2498): Update PMD 7 Logo in documentation
|
||||
* [#3797](https://github.com/pmd/pmd/issues/3797): \[all] Use JUnit5
|
||||
* [#4462](https://github.com/pmd/pmd/issues/4462): Provide Software Bill of Materials (SBOM)
|
||||
* ant
|
||||
* [#4080](https://github.com/pmd/pmd/issues/4080): \[ant] Split off Ant integration into a new submodule
|
||||
* core
|
||||
@ -259,6 +266,7 @@ See [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
* [#4079](https://github.com/pmd/pmd/issues/4079): \[cli] Split off CLI implementation into a pmd-cli submodule
|
||||
* doc
|
||||
* [#2501](https://github.com/pmd/pmd/issues/2501): \[doc] Verify ANTLR Documentation
|
||||
* [#4438](https://github.com/pmd/pmd/issues/4438): \[doc] Documentation links in VS Code are outdated
|
||||
* testing
|
||||
* [#2435](https://github.com/pmd/pmd/issues/2435): \[test] Remove duplicated Dummy language module
|
||||
* [#4234](https://github.com/pmd/pmd/issues/4234): \[test] Tests that change the logging level do not work
|
||||
@ -360,6 +368,7 @@ Language specific fixes:
|
||||
* [#3754](https://github.com/pmd/pmd/issues/3754): \[java] SingularField false positive with read in while condition
|
||||
* [#3786](https://github.com/pmd/pmd/issues/3786): \[java] SimplifyBooleanReturns should consider operator precedence
|
||||
* [#4238](https://github.com/pmd/pmd/pull/4238): \[java] Make LawOfDemeter not use the rulechain
|
||||
* [#4254](https://github.com/pmd/pmd/issues/4254): \[java] ImmutableField - false positive with Lombok @<!-- -->Setter
|
||||
* java-documentation
|
||||
* [#4369](https://github.com/pmd/pmd/pull/4369): \[java] Improve CommentSize
|
||||
* [#4416](https://github.com/pmd/pmd/pull/4416): \[java] Fix reported line number in CommentContentRule
|
||||
@ -386,6 +395,7 @@ Language specific fixes:
|
||||
* [#2537](https://github.com/pmd/pmd/issues/2537): \[java] DontCallThreadRun can't detect the case that call run() in `this.run()`
|
||||
* [#2538](https://github.com/pmd/pmd/issues/2538): \[java] DontCallThreadRun can't detect the case that call run() in `foo.bar.run()`
|
||||
* [#2577](https://github.com/pmd/pmd/issues/2577): \[java] UseNotifyAllInsteadOfNotify falsely detect a special case with argument: `foo.notify(bar)`
|
||||
* [#4483](https://github.com/pmd/pmd/issues/4483): \[java] NonThreadSafeSingleton false positive with double-checked locking
|
||||
* java-performance
|
||||
* [#1224](https://github.com/pmd/pmd/issues/1224): \[java] InefficientEmptyStringCheck false negative in anonymous class
|
||||
* [#2587](https://github.com/pmd/pmd/issues/2587): \[java] AvoidArrayLoops could also check for list copy through iterated List.add()
|
||||
@ -415,6 +425,7 @@ Language specific fixes:
|
||||
* [#4444](https://github.com/pmd/pmd/pull/4444): \[java] CommentDefaultAccessModifier - ignore org.junit.jupiter.api.extension.RegisterExtension by default - [Nirvik Patel](https://github.com/nirvikpatel) (@nirvikpatel)
|
||||
* [#4450](https://github.com/pmd/pmd/pull/4450): \[java] Fix #4449 AvoidAccessibilityAlteration: Correctly handle Lambda expressions in PrivilegedAction scenarios - [Seren](https://github.com/mohui1999) (@mohui1999)
|
||||
* [#4452](https://github.com/pmd/pmd/pull/4452): \[doc] Update PMD_APEX_ROOT_DIRECTORY documentation reference - [nwcm](https://github.com/nwcm) (@nwcm)
|
||||
* [#4474](https://github.com/pmd/pmd/pull/4474): \[java] ImmutableField: False positive with lombok (fixes #4254) - [Pim van der Loos](https://github.com/PimvanderLoos) (@PimvanderLoos)
|
||||
|
||||
### 📈 Stats
|
||||
* 4416 commits
|
||||
|
@ -12,7 +12,7 @@ Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/rele
|
||||
We're excited to bring you the next major version of PMD!
|
||||
|
||||
Since this is a big release, we provide here only a concise version of the release notes. We prepared a separate
|
||||
page with the full [Detailed Release Notes for PMD 7.0.0](https://pmd.github.io/pmd-7.0.0-rc1/pmd_release_notes_pmd7.html).
|
||||
page with the full [Detailed Release Notes for PMD 7.0.0](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_release_notes_pmd7.html).
|
||||
|
||||
<div style="border: 1px solid; border-radius: .25rem; padding: .75rem 1.25rem;" role="alert">
|
||||
<strong>ℹ️ Release Candidates</strong>
|
||||
@ -57,7 +57,7 @@ for all.</p>
|
||||
|
||||
The new official logo of PMD:
|
||||
|
||||
![New PMD Logo](https://pmd.github.io/pmd-7.0.0-rc1/images/logo/pmd-logo-300px.png)
|
||||
![New PMD Logo](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/images/logo/pmd-logo-300px.png)
|
||||
|
||||
#### Revamped Java module
|
||||
|
||||
@ -82,7 +82,7 @@ Contributors: [Clément Fournier](https://github.com/oowekyala) (@oowekyala),
|
||||
* progress bar support for `pmd check`
|
||||
* shell completion
|
||||
|
||||
![Demo](https://pmd.github.io/pmd-7.0.0-rc1/images/userdocs/pmd-demo.gif)
|
||||
![Demo](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/images/userdocs/pmd-demo.gif)
|
||||
|
||||
For more information, see the [Detailed Release Notes for PMD 7](pmd_release_notes_pmd7.html).
|
||||
|
||||
@ -136,46 +136,46 @@ Contributors: [Lucas Soncini](https://github.com/lsoncini) (@lsoncini),
|
||||
#### New Rules
|
||||
|
||||
**Apex**
|
||||
* [`UnusedMethod`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_apex_design.html#unusedmethod) finds unused methods in your code.
|
||||
* [`UnusedMethod`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_apex_design.html#unusedmethod) finds unused methods in your code.
|
||||
|
||||
**Java**
|
||||
* [`UnnecessaryBoxing`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_codestyle.html#unnecessaryboxing) reports boxing and unboxing conversions that may be made implicit.
|
||||
* [`UnnecessaryBoxing`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_codestyle.html#unnecessaryboxing) reports boxing and unboxing conversions that may be made implicit.
|
||||
|
||||
**Kotlin**
|
||||
* [`FunctionNameTooShort`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_kotlin_bestpractices.html#functionnametooshort)
|
||||
* [`OverrideBothEqualsAndHashcode`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_kotlin_errorprone.html#overridebothequalsandhashcode)
|
||||
* [`FunctionNameTooShort`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_kotlin_bestpractices.html#functionnametooshort)
|
||||
* [`OverrideBothEqualsAndHashcode`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_kotlin_errorprone.html#overridebothequalsandhashcode)
|
||||
|
||||
**Swift**
|
||||
* [`ProhibitedInterfaceBuilder`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder)
|
||||
* [`UnavailableFunction`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_swift_bestpractices.html#unavailablefunction)
|
||||
* [`ForceCast`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_swift_errorprone.html#forcecast)
|
||||
* [`ForceTry`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_swift_errorprone.html#forcetry)
|
||||
* [`ProhibitedInterfaceBuilder`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder)
|
||||
* [`UnavailableFunction`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_swift_bestpractices.html#unavailablefunction)
|
||||
* [`ForceCast`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_swift_errorprone.html#forcecast)
|
||||
* [`ForceTry`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_swift_errorprone.html#forcetry)
|
||||
|
||||
#### Changed Rules
|
||||
|
||||
**Java**
|
||||
|
||||
* [`UnnecessaryFullyQualifiedName`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname): the rule has two new properties,
|
||||
* [`UnnecessaryFullyQualifiedName`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname): the rule has two new properties,
|
||||
to selectively disable reporting on static field and method qualifiers. The rule also has been improved
|
||||
to be more precise.
|
||||
* [`UselessParentheses`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_codestyle.html#uselessparentheses): the rule has two new properties which control how strict
|
||||
* [`UselessParentheses`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_codestyle.html#uselessparentheses): the rule has two new properties which control how strict
|
||||
the rule should be applied. With `ignoreClarifying` (default: true) parentheses that are strictly speaking
|
||||
not necessary are allowed, if they separate expressions of different precedence.
|
||||
The other property `ignoreBalancing` (default: true) is similar, in that it allows parentheses that help
|
||||
reading and understanding the expressions.
|
||||
* [`LooseCoupling`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_bestpractices.html#loosecoupling): the rule has a new property to allow some types to be coupled
|
||||
* [`LooseCoupling`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_bestpractices.html#loosecoupling): the rule has a new property to allow some types to be coupled
|
||||
to (`allowedTypes`).
|
||||
* [`EmptyCatchBlock`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_errorprone.html#emptycatchblock): `CloneNotSupportedException` and `InterruptedException` are not
|
||||
* [`EmptyCatchBlock`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_errorprone.html#emptycatchblock): `CloneNotSupportedException` and `InterruptedException` are not
|
||||
special-cased anymore. Rename the exception parameter to `ignored` to ignore them.
|
||||
* [`DontImportSun`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_errorprone.html#dontimportsun): `sun.misc.Signal` is not special-cased anymore.
|
||||
* [`UseDiamondOperator`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_codestyle.html#usediamondoperator): the property `java7Compatibility` is removed. The rule now
|
||||
* [`DontImportSun`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_errorprone.html#dontimportsun): `sun.misc.Signal` is not special-cased anymore.
|
||||
* [`UseDiamondOperator`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_codestyle.html#usediamondoperator): the property `java7Compatibility` is removed. The rule now
|
||||
handles Java 7 properly without a property.
|
||||
* [`SingularField`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_design.html#singularfield): Properties `checkInnerClasses` and `disallowNotAssignment` are removed.
|
||||
* [`SingularField`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_design.html#singularfield): Properties `checkInnerClasses` and `disallowNotAssignment` are removed.
|
||||
The rule is now more precise and will check these cases properly.
|
||||
* [`UseUtilityClass`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_design.html#useutilityclass): The property `ignoredAnnotations` has been removed.
|
||||
* [`LawOfDemeter`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_design.html#lawofdemeter): the rule has a new property `trustRadius`. This defines the maximum degree
|
||||
* [`UseUtilityClass`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_design.html#useutilityclass): The property `ignoredAnnotations` has been removed.
|
||||
* [`LawOfDemeter`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_design.html#lawofdemeter): the rule has a new property `trustRadius`. This defines the maximum degree
|
||||
of trusted data. The default of 1 is the most restrictive.
|
||||
* [`CommentContent`](https://pmd.github.io/pmd-7.0.0-rc1/pmd_rules_java_documentation.html#commentcontent): The properties `caseSensitive` and `disallowedTerms` are removed. The
|
||||
* [`CommentContent`](https://docs.pmd-code.org/pmd-doc-7.0.0-rc1/pmd_rules_java_documentation.html#commentcontent): The properties `caseSensitive` and `disallowedTerms` are removed. The
|
||||
new property `fobiddenRegex` can be used now to define the disallowed terms with a single regular
|
||||
expression.
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
"driver": {
|
||||
"name": "PMD",
|
||||
"version": "<pmd-version>",
|
||||
"informationUri": "https://pmd.github.io/pmd/",
|
||||
"informationUri": "https://docs.pmd-code.org/latest/",
|
||||
"rules": [
|
||||
{
|
||||
"id": "ApexSharingViolations",
|
||||
@ -17,7 +17,7 @@
|
||||
"fullDescription": {
|
||||
"text": "Detect classes declared without explicit sharing mode if DML methods are used. This forces the developer to take access restrictions into account before modifying objects."
|
||||
},
|
||||
"helpUri": "https://pmd.github.io/pmd/pmd_rules_apex_security.html#apexsharingviolations",
|
||||
"helpUri": "https://docs.pmd-code.org/latest/pmd_rules_apex_security.html#apexsharingviolations",
|
||||
"help": {
|
||||
"text": "Detect classes declared without explicit sharing mode if DML methods are used. This forces the developer to take access restrictions into account before modifying objects."
|
||||
},
|
||||
@ -37,7 +37,7 @@
|
||||
"fullDescription": {
|
||||
"text": "This rule validates that: ApexDoc comments are present for classes, methods, and properties that are public or global, excluding overrides and test classes (as well as the contents of test classes)."
|
||||
},
|
||||
"helpUri": "https://pmd.github.io/pmd/pmd_rules_apex_documentation.html#apexdoc",
|
||||
"helpUri": "https://docs.pmd-code.org/latest/pmd_rules_apex_documentation.html#apexdoc",
|
||||
"help": {
|
||||
"text": "This rule validates that: ApexDoc comments are present for classes, methods, and properties that are public or global, excluding overrides and test classes (as well as the contents of test classes)."
|
||||
},
|
||||
@ -152,4 +152,4 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +1,42 @@
|
||||
---
|
||||
layout: none
|
||||
search: exclude
|
||||
# https://www.sitemaps.org/protocol.html
|
||||
# Priority is relative to the website, can be chosen in {0.1, 0.2, ..., 1}
|
||||
# Default priority is 0.5
|
||||
latestPriority: 0.8
|
||||
---
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>{{site.url}}/index.html</loc>
|
||||
<priority>0.9</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>{{ site.time | date: "%Y-%m-%d" }}</lastmod>
|
||||
</url>
|
||||
|
||||
|
||||
{% for post in site.posts %}
|
||||
{% unless post.search == "exclude" %}
|
||||
<url>
|
||||
<loc>{{site.url}}{{post.url}}</loc>
|
||||
<priority>{{page.latestPriority}}</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>{{ site.time | date: "%Y-%m-%d" }}</lastmod>
|
||||
</url>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% for page in site.pages %}
|
||||
{% unless page.search == "exclude" %}
|
||||
{% for p in site.pages %}
|
||||
{% unless p.search == "exclude" %}
|
||||
<url>
|
||||
<loc>{{site.url}}{{ page.url}}</loc>
|
||||
<loc>{{site.url}}{{ p.url}}</loc>
|
||||
<priority>{{page.latestPriority}}</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>{{ site.time | date: "%Y-%m-%d" }}</lastmod>
|
||||
</url>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</urlset>
|
||||
</urlset>
|
||||
|
@ -1,56 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Sitemap generator for pmd.github.io main landing page.
|
||||
# Assumes we have the latest version of the site under "latest"
|
||||
# https://www.sitemaps.org/protocol.html
|
||||
|
||||
WEBSITE_PREFIX="https://pmd.github.io/"
|
||||
DOC_PREFIX="latest/"
|
||||
DATE=`date +%Y-%m-%d`
|
||||
# Priority is relative to the website, can be chosen in {0.1, 0.2, ..., 1}
|
||||
# Default priority is 0.5
|
||||
LATEST_PRIORITY=0.8
|
||||
|
||||
|
||||
# Writes to standard output
|
||||
|
||||
cat << HEADER_END
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
|
||||
<url>
|
||||
<loc>${WEBSITE_PREFIX}index.html</loc>
|
||||
<priority>1</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>$DATE</lastmod>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>${WEBSITE_PREFIX}${DOC_PREFIX}index.html</loc>
|
||||
<priority>0.9</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>$DATE</lastmod>
|
||||
</url>
|
||||
|
||||
|
||||
|
||||
HEADER_END
|
||||
|
||||
|
||||
for page in ${DOC_PREFIX}pmd_*.html
|
||||
do
|
||||
|
||||
cat << ENTRY_END
|
||||
<url>
|
||||
<loc>${WEBSITE_PREFIX}$page</loc>
|
||||
<priority>$LATEST_PRIORITY</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
<lastmod>$DATE</lastmod>
|
||||
</url>
|
||||
|
||||
ENTRY_END
|
||||
|
||||
done
|
||||
|
||||
echo "</urlset>"
|
||||
|
@ -546,9 +546,9 @@ public final class PmdAnalysis implements AutoCloseable {
|
||||
&& configuration.getAnalysisCache() instanceof NoopAnalysisCache
|
||||
&& reporter.isLoggable(Level.WARN)) {
|
||||
final String version =
|
||||
PMDVersion.isUnknown() || PMDVersion.isSnapshot() ? "latest" : "pmd-" + PMDVersion.VERSION;
|
||||
PMDVersion.isUnknown() || PMDVersion.isSnapshot() ? "latest" : "pmd-doc-" + PMDVersion.VERSION;
|
||||
reporter.warn("This analysis could be faster, please consider using Incremental Analysis: "
|
||||
+ "https://pmd.github.io/{0}/pmd_userdocs_incremental_analysis.html", version);
|
||||
+ "https://docs.pmd-code.org/{0}/pmd_userdocs_incremental_analysis.html", version);
|
||||
}
|
||||
}
|
||||
}
|
||||
|