PMD 7 Miscellaneous Tasks
-
[x] [all] Use slf4j #896 - see #3789
-
[ ] Code update to Java8
- Switch to Java 8 as minimum runtime. Code upgrade to use Java 8…
- e.g using lambdas, streams, where useful
- that's a general task
-
[ ] Minor license switch: From "BSD-style" to standard BSD license
These are the changes:
-
Use "PMD Development Team" as copyright owner instead of InfoEther
-
Remove the "advertising clause" that requests to mention "This product includes software developed in part by support from the Defense Advanced Research Project Agency (DARPA)". That's long history.
-
Adjust file headers to use SPDX identifier, see https://spdx.org/licenses/ and https://spdx.dev/ids/
Example: `// SPDX-License-Identifier: BSD-3-Clause
-
Possible Licenses: https://spdx.org/licenses/BSD-3-Clause.html or https://spdx.org/licenses/BSD-2-Clause.html
-
See also https://github.com/pmd/pmd/discussions/3050
-
See also https://opensource.stackexchange.com/questions/11556/can-i-use-apache-2-0-licensed-project-inside-my-bsd-3-clause-licensed-project
-
-
[ ] [plsql] Document DBURI data source possibility
It is possible to check code that is stored in the database directly with PMD. That feature is however not document and it is untested.
-
[x] [javascript] Update Rhino library #699
- :x: replaced by #3242 for PMD 6.x
-
[ ] [apex] AST cleanups
- make
ApexNode.getNode()package-private - On
ASTLiteralExpression.getLiteralType(), we expose a Jorje-internal Enum. Using this, makes the rule again dependent on jorje. Same withASTBooleanExpression.getOperator(). - the class
apex.rule.security.Helperprovides many utility methods for generating a fully qualified name of variables, fields, methods. They use the format "<defining_type>:". I'm wondering, whether this actually works here in PMD, if Class A references Class B, but we let parse the files separately. I guess, the parser then doesn't resolve this? - Expose the "definingType" on the AbstractApexNode: Each jorje node has a reference to its defining type, which holds information about the compilation unit name.
- AnnotationSuppressionUtil, similar like
#1927 [java] Refactor annotation suppression,
since
CanSuppressWarningsis deprecated.
- make
-
[ ] Migration Tool PMD 6 --> 7
That depends on [[PMD 7.0.0 Documentation|PMD-7.0.0-Documentation]] / Migration Guide. If something can be automated, it's maybe worth it. But maybe, we don't need it, if most of the simple stuff can be done already on PMD 6 by fixing deprecation warnings.
-
[ ] Remove unnecessary property
colorand system propertypmd.colorinTextColorRenderer(from #2450) -
[ ] Cleanup dependencies, like in #710 / #2629 . Move PMDTask into separate module, to get rid of general ant dependency.
Out of Scope
That probably out of scope for PMD 7