oxsecurity / megalinter

🦙 MegaLinter analyzes 50 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.
https://megalinter.io
GNU Affero General Public License v3.0
1.8k stars 215 forks source link

chore(deps): update dependency pmd/pmd to v7.3.0 #3706

Closed renovate[bot] closed 2 days ago

renovate[bot] commented 2 days ago

Mend Renovate

This PR contains the following updates:

Package Update Change
pmd/pmd minor 7.2.0 -> 7.3.0

Release Notes

pmd/pmd (pmd/pmd) ### [`v7.3.0`](https://togithub.com/pmd/pmd/releases/tag/pmd_releases/7.3.0): PMD 7.3.0 (28-June-2024) [Compare Source](https://togithub.com/pmd/pmd/compare/pmd_releases/7.2.0...pmd_releases/7.3.0) ##### 28-June-2024 - 7.3.0 The PMD team is pleased to announce PMD 7.3.0. This is a minor release. ##### Table Of Contents - [🚀 New and noteworthy](#new-and-noteworthy) - [✨ New Rules](#new-rules) - [💥 pmd-compat6 removed (breaking)](#pmd-compat6-removed-breaking) - [🐛 Fixed Issues](#fixed-issues) - [🚨 API Changes](#api-changes) - [CPD Report Format XML](#cpd-report-format-xml) - [CLI](#cli) - [Ant](#ant) - [Deprecated API](#deprecated-api) - [Breaking changes: pmd-compat6 removed](#breaking-changes-pmd-compat6-removed) - [📈 Stats](#stats) ##### 🚀 New and noteworthy ##### ✨ New Rules - The new Java rule [`UseEnumCollections`](https://docs.pmd-code.org/pmd-doc-7.3.0/pmd_rules_java_bestpractices.html#useenumcollections) reports usages for `HashSet` and `HashMap` when the keys are of an enum type. The specialized enum collections are more space- and time-efficient. ##### 💥 pmd-compat6 removed (breaking) The already deprecated PMD 6 compatibility module (pmd-compat6) has been removed. It was intended to be used with older versions of the maven-pmd-plugin, but since maven-pmd-plugin 3.22.0, PMD 7 is supported directly and this module is not needed anymore. If you currently use this dependency (`net.sourceforge.pmd:pmd-compat6`), remove it and upgrade maven-pmd-plugin to the latest version (3.23.0 or newer). See also [Maven PMD Plugin](https://docs.pmd-code.org/pmd-doc-7.3.0/pmd_userdocs_tools_maven.html). ##### 🐛 Fixed Issues - cli - [#​2827](https://togithub.com/pmd/pmd/issues/2827): \[cli] Consider processing errors in exit status - core - [#​4396](https://togithub.com/pmd/pmd/issues/4396): \[core] CPD is always case sensitive - [#​4992](https://togithub.com/pmd/pmd/pull/4992): \[core] CPD: Include processing errors in XML report - [#​5066](https://togithub.com/pmd/pmd/issues/5066): \[core] CPD throws java.lang.OutOfMemoryError: Java heap space (since 7.1.0) - apex - [#​4922](https://togithub.com/pmd/pmd/issues/4922): \[apex] SOQL syntax error with TYPEOF in sub-query - [#​5053](https://togithub.com/pmd/pmd/issues/5053): \[apex] CPD fails to parse string literals with escaped characters - [#​5055](https://togithub.com/pmd/pmd/issues/5055): \[apex] SOSL syntax error with WITH USER_MODE or WITH SYSTEM_MODE - apex-bestpractices - [#​5000](https://togithub.com/pmd/pmd/issues/5000): \[apex] UnusedLocalVariable FP with binds in SOSL / SOQL - java - [#​4885](https://togithub.com/pmd/pmd/issues/4885): \[java] AssertionError: Method should be accessible - [#​5050](https://togithub.com/pmd/pmd/issues/5050): \[java] Problems with pattern variables in switch branches - java-bestpractices - [#​577](https://togithub.com/pmd/pmd/issues/577): \[java] New Rule: Check that Map\ is an EnumMap if K is an enum value - [#​5047](https://togithub.com/pmd/pmd/issues/5047): \[java] UnusedPrivateMethod FP for Generics & Overloads - plsql - [#​1934](https://togithub.com/pmd/pmd/issues/1934): \[plsql] ParseException with MERGE statement in anonymous block - [#​2779](https://togithub.com/pmd/pmd/issues/2779): \[plsql] Error while parsing statement with (Oracle) DML Error Logging - [#​4270](https://togithub.com/pmd/pmd/issues/4270): \[plsql] Parsing exception COMPOUND TRIGGER with EXCEPTION handler ##### 🚨 API Changes ##### CPD Report Format XML There are some important changes: 1. The XML format will now use an XSD schema, that is available at . This schema defines the valid elements and attributes that one can expect from a CPD report. 2. The root element `pmd-cpd` contains the new attributes `pmdVersion`, `timestamp` and `version`. The latter is the schema version and is currently "1.0.0". 3. The CPD XML report will now also contain recoverable errors as additional `` elements. See [Report formats for CPD](pmd_userdocs_cpd_report_formats.html#xml) for an example. The XML format should be compatible as only attributes and elements have been added. However, if you parse the document with a namespace aware parser, you might encounter some issues like no elements being found. In case the new format doesn't work for you (e.g. namespaces, unexpected error elements), you can go back using the old format with the renderer "xmlold" (XMLOldRenderer). Note, that this old renderer is deprecated and only there for compatibility reasons. Whatever tooling is used to read the XML format should be updated. ##### CLI - New exit code 5 introduced. PMD and CPD will exit now by default with exit code 5, if any recoverable error (e.g. parsing exception, lexing exception or rule exception) occurred. PMD will still create a report with all detected violations or duplications if recoverable errors occurred. Such errors mean, that the report might be incomplete, as either violations or duplications for an entire file or for a specific rule are missing. These cases can be considered as false-negatives. In any case, the root cause should be investigated. If it's a problem in PMD itself, please create a bug report. - New CLI parameter `--no-fail-on-error` to ignore such errors and not exit with code 5. By default, a build with errors will now fail and with that parameter, the previous behavior can be restored. This parameter is available for both PMD and CPD. - The CLI parameter `--skip-lexical-errors` is deprecated. By default, lexical errors are skipped but the build is failed. Use the new parameter `--[no-]fail-on-error` instead to control whether to fail the build or not. ##### Ant - CPDTask has a new parameter `failOnError`. It controls, whether to fail the build if any recoverable error occurred. By default, the build will fail. CPD will still create a report with all detected duplications, but the report might be incomplete. - The parameter `skipLexicalError` in CPDTask is deprecated and ignored. Lexical errors are now always skipped. Use the new parameter `failOnError` instead to control whether to fail the build or not. ##### Deprecated API - pmd-ant - CPDTask#setSkipLexicalErrors: Use setFailOnError instead to control, whether to ignore errors or fail the build. - pmd-core - CPDConfiguration#isSkipLexicalErrors and setSkipLexicalErrors: Use setFailOnError to control whether to ignore errors or fail the build. - net.sourceforge.pmd.cpd.XMLOldRenderer (the CPD format "xmlold"). - The constructor AntlrToken#AntlrToken shouldn't be used directly. Use AntlrTokenManager instead. - pmd-java - ASTResource#getStableName and the corresponding attribute `@StableName`. - ASTRecordPattern#getVarId This method was added here by mistake. Record patterns don't declare a pattern variable for the whole pattern, but rather for individual record components, which can be accessed via getComponentPatterns. - pmd-plsql - PLSQLParserImpl is deprecated now. It should have been package-private because this is an implementation class that should not be used directly. - The node ASTKEYWORD_UNRESERVED is deprecated and is now removed from the AST. ##### Breaking changes: pmd-compat6 removed The already deprecated PMD 6 compatibility module (pmd-compat6) has been removed. See above for details. ##### 📈 Stats - 88 commits - 32 closed tickets & PRs - Days since last release: 27

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

github-actions[bot] commented 2 days ago

🦙 MegaLinter status: ⚠️ WARNING

Descriptor Linter Files Fixed Errors Elapsed time
✅ API spectral 2 0 3.58s
✅ BASH bash-exec 5 0 0.02s
✅ BASH shellcheck 5 0 0.13s
✅ BASH shfmt 5 0 0 0.56s
✅ COPYPASTE jscpd yes no 4.59s
✅ DOCKERFILE hadolint 129 0 17.19s
✅ JSON jsonlint 18 0 0.21s
✅ JSON v8r 20 0 31.2s
⚠️ MARKDOWN markdownlint 266 0 272 34.82s
✅ MARKDOWN markdown-table-formatter 266 0 0 139.83s
✅ OPENAPI spectral 2 0 2.93s
⚠️ PYTHON bandit 212 64 4.74s
✅ PYTHON black 212 0 0 5.49s
✅ PYTHON flake8 212 0 2.7s
✅ PYTHON isort 212 0 0 1.42s
✅ PYTHON mypy 212 0 18.36s
✅ PYTHON pylint 212 0 23.29s
✅ PYTHON ruff 212 0 0 0.66s
✅ REPOSITORY checkov yes no 41.23s
✅ REPOSITORY git_diff yes no 0.64s
⚠️ REPOSITORY grype yes 1 16.04s
✅ REPOSITORY secretlint yes no 12.85s
✅ REPOSITORY trivy yes no 19.2s
✅ REPOSITORY trivy-sbom yes no 10.49s
⚠️ REPOSITORY trufflehog yes 1 12.04s
✅ SPELL cspell 694 0 25.88s
⚠️ SPELL lychee 347 5 7.42s
✅ XML xmllint 3 0 0 0.56s
✅ YAML prettier 161 0 0 5.66s
✅ YAML v8r 102 0 181.63s
✅ YAML yamllint 162 0 2.38s

See detailed report in MegaLinter reports

_MegaLinter is graciously provided by OX Security_

renovate[bot] commented 2 days ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.