The PMD team is pleased to announce PMD 6.28.0.
This is a minor release.
The AnyTokenizer is used for languages, that don't have an own lexer/grammar based tokenizer.
AnyTokenizer now handles string literals and end-of-line comments. Fortran, Perl and Ruby have
been updated to use AnyTokenizer instead of their old custom tokenizer based on AbstractTokenizer.
See #2758 for details.
AbstractTokenizer and the custom tokenizers of Fortran, Perl and Ruby are deprecated now.
cpd
apex-security
java
net.sourceforge.pmd.RuleViolationComparator. Use RuleViolation#DEFAULT_COMPARATOR instead.net.sourceforge.pmd.cpd.AbstractTokenizer. Use net.sourceforge.pmd.cpd.AnyTokenizer instead.net.sourceforge.pmd.cpd.FortranTokenizer. Was replaced by an AnyTokenizer. Use FortranLanguage#getTokenizer anyway.net.sourceforge.pmd.cpd.PerlTokenizer. Was replaced by an AnyTokenizer. Use PerlLanguage#getTokenizer anyway.net.sourceforge.pmd.cpd.RubyTokenizer. Was replaced by an AnyTokenizer. Use RubyLanguage#getTokenizer anyway.RuleReference#getOverriddenLanguage andRuleReference#setLanguagenet.sourceforge.pmd.lang.cs.antlr4.CSharpLexer will be moved to package net.sourceforge.pmd.lang.cs.ast with PMD 7.net.sourceforge.pmd.lang.dart.antlr4.Dart2Lexer will be renamed to DartLexer and moved to package net.sourceforge.pmd.lang.dart.ast with PMD 7. All other classes in the old package will be removed.net.sourceforge.pmd.lang.go.antlr4.GolangLexer will be moved to packagenet.sourceforge.pmd.lang.go.ast with PMD 7. All other classes in the old package will be removed.net.sourceforge.pmd.lang.kotlin.antlr4.Kotlin will be renamed to KotlinLexer and moved to package net.sourceforge.pmd.lang.kotlin.ast with PMD 7.net.sourceforge.pmd.lang.lua.antlr4.LuaLexer will be moved to packagenet.sourceforge.pmd.lang.lua.ast with PMD 7. All other classes in the old package will be removed. 2020-09-26
  
  
                
            
        
     
    
      2020-09-26