PMD - pull_request #440
Annotations
6 errors and 1 warning
          | 
                      
                          Position literals first in String comparisons: 
                        powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java#L219
                      
                       Position literals first in all String comparisons, if the second argument is null then NullPointerExceptions
can be avoided, they will just return false. Note that switching literal positions for compareTo and
compareToIgnoreCase may change the result, see examples.
Note that compile-time constant strings are treated like literals. This is because they are inlined into
the class file, are necessarily non-null, and therefore cannot cause an NPE at runtime.
LiteralsFirstInComparisons (Priority: 1, Ruleset: Best Practices)
https://docs.pmd-code.org/snapshot/pmd_rules_java_bestpractices.html#literalsfirstincomparisons | 
| 
                      
                          This final field could be made static: 
                        powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java#L44
                      
                       If a final field is assigned to a compile-time constant, it could be made static, thus saving overhead
in each object at runtime.
FinalFieldCouldBeStatic (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/snapshot/pmd_rules_java_design.html#finalfieldcouldbestatic | 
| 
                      
                          This class has only private constructors and may be final: 
                        powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java#L196
                      
                       Reports classes that may be made final because they cannot be extended from outside
their compilation unit anyway. This is because all their constructors are private,
so a subclass could not call the super constructor.
ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/snapshot/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal | 
| 
                      
                          This class has only private constructors and may be final: 
                        powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java#L186
                      
                       Reports classes that may be made final because they cannot be extended from outside
their compilation unit anyway. This is because all their constructors are private,
so a subclass could not call the super constructor.
ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/snapshot/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal | 
| 
                      
                          This final field could be made static: 
                        powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java#L47
                      
                       If a final field is assigned to a compile-time constant, it could be made static, thus saving overhead
in each object at runtime.
FinalFieldCouldBeStatic (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/snapshot/pmd_rules_java_design.html#finalfieldcouldbestatic | 
| 
                      
                          Document empty method body: 
                        powertools-common/src/test/java/software/amazon/lambda/powertools/common/stubs/TestOutputStream.java#L21
                      
                       Uncommented Empty Method Body finds instances where a method body does not contain
statements, but there is no comment. By explicitly commenting empty method bodies
it is easier to distinguish between intentional (commented) and unintentional
empty methods.
UncommentedEmptyMethodBody (Priority: 1, Ruleset: Documentation)
https://docs.pmd-code.org/snapshot/pmd_rules_java_documentation.html#uncommentedemptymethodbody | 
| 
                      
                          pmd_analyse
                        
                      
                       Error: Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved. | 
Artifacts
Produced during runtime
          | Name | Size | Digest | |
|---|---|---|---|
| 
                        
                          PMD Report
                        
                       | 1.54 KB | sha256:ce07ad6701be9f4da55f5e6cfd132d3bb77241c6887542902855384dd7f270ac |  |