diff --git a/.travis/pmd-code-api.sh b/.travis/pmd-code-api.sh index 7a35523941..5f30afb09d 100644 --- a/.travis/pmd-code-api.sh +++ b/.travis/pmd-code-api.sh @@ -48,7 +48,7 @@ function pmd_code_uploadJavadoc() { log_debug "$FUNCNAME pmdVersion=$pmdVersion basePath=$basePath" - for i in ${basePath}/*/target/*-javadoc.jar; do + for i in ${basePath}/*/target/*-javadoc.jar */*/target/*-javadoc.jar; do pmd_code_uploadJavadocModule "$pmdVersion" "$i" done diff --git a/do-release.sh b/do-release.sh index 92a5ec8079..128b65b129 100755 --- a/do-release.sh +++ b/do-release.sh @@ -88,7 +88,7 @@ echo "* Update **pmd-apex/src/main/resources/rulesets/apex/quickstart.xml** an echo " **pmd-java/src/main/resources/rulesets/java/quickstart.xml** with the new rules." echo echo "* Update **docs/pages/next_major_development.md** with the API changes for" -echo " the new release based on the release notes" +echo " the new release based on the release notes. Also add any deprecated rules to the list." echo echo "* Update **../pmd.github.io/_config.yml** to mention the new release" echo diff --git a/docs/_plugins/javadoc_tag.rb b/docs/_plugins/javadoc_tag.rb index 59fba20088..0182729dc5 100644 --- a/docs/_plugins/javadoc_tag.rb +++ b/docs/_plugins/javadoc_tag.rb @@ -226,6 +226,11 @@ class JavadocTag < Liquid::Tag def self.fqcn_type(artifact_id, fqcn) artifact_dir = File.join(BASE_PMD_DIR, artifact_id) + # special case for scala as we have a different directory structure there + if artifact_id =~ /scala/ + artifact_dir = File.join(BASE_PMD_DIR, "pmd-scala-modules/pmd-scala-common") + end + src_dirs = [ File.join(artifact_dir, "src", "main", "java"), File.join(artifact_dir, "target", "generated-sources", "javacc") diff --git a/docs/_plugins/jdoc_namespace_tag.rb b/docs/_plugins/jdoc_namespace_tag.rb index 6fe9f8bf24..01373ad410 100644 --- a/docs/_plugins/jdoc_namespace_tag.rb +++ b/docs/_plugins/jdoc_namespace_tag.rb @@ -86,9 +86,14 @@ class JDocNamespaceDeclaration < Liquid::Tag expanded_fqcn += "." + fqcn_suffix end + artifactId = resolved_nspace.first + + if artifactId =~ /scala/ + artifactId = "pmd-scala_2.13" + end # Return the resolved artifactId + the expanded FQCN - [resolved_nspace.first, expanded_fqcn] + [artifactId, expanded_fqcn] end private diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md index 3439ad0b3c..f51aaea6e3 100644 --- a/docs/pages/next_major_development.md +++ b/docs/pages/next_major_development.md @@ -4,17 +4,69 @@ permalink: pmd_next_major_development.html keywords: changelog, release notes, deprecation, api changes --- -We're excited to bring you the next major version of PMD! Here are the major features and changes we're working on. +We're excited to bring you the next major version of PMD! +Here is a summary of what is planned for PMD 7. + To give us feedback or to suggest a new feature, drop us a line on [Gitter](https://gitter.im/pmd/pmd)! -## New Features +## Summary -TODO +### New Logo -## Java grammar changes +We decided it's time to have a modernized logo and get rid of the gun. This allows to include +the logo in anywhere without offense. -{% include note.html content="Current plans are listed [here](https://github.com/pmd/pmd/labels/in%3Aast) and in particular [here](https://github.com/pmd/pmd/issues/1019)" %} +The current tasks are listed here: [Integrate new PMD logo #1931](https://github.com/pmd/pmd/issues/1931) +### API + +The API of PMD has been growing over the years and needs to be cleaned up. The goal is, to +have a clear separation between a well-defined API and the implementation, which is internal. +This should help us in future development. This however entails some incompatibilities and +deprecations, see also the sections [New API support guidelines](#new-api-support-guidelines) and +[Planned API removals](#planned-api-removals] below. + +### Full Antlr Support + +PMD 6 only supports JavaCC based grammars, but with [Antlr](https://www.antlr.org/) parsers +can be generated as well. PMD 7 adds full support for grammars written in Antlr, which allows +to leverage existing grammars. + +The current tasks are listed here: [Support for ANTLR based grammars with Swift as an example language #2499](https://github.com/pmd/pmd/issues/2499) + +### Documentation + +We have quite some ideas how we want to improve the documentation. The goal is, that the documentation is +up to date and nearly complete. One big task is, how the built-in rules are presented, so that users +can easier see, what exactly is available and decide, which rules are useful for the project at hand. + +The current tasks are listed here: [Documentations improvements tracker #1139](https://github.com/pmd/pmd/issues/1139) + +### XPath + +PMD 6 supports XPath 1.0 via the Jaxen library. This library is old and unmaintained creating some problems +(one of which is duplicated classes in the package `org.w3c.dom` which is a Java API actually). +Therefore XPath 1.0 support will be dropped and we upgrade our XPath 2.0 implementation with Saxon moving +on to Saxon HE. This will eventually add support in PMD for XPath 3.1. + +The current tasks are listed here: [XPath Improvements for PMD 7 #2523](https://github.com/pmd/pmd/issues/2523) + +### Java + +Like the main PMD API, the Java AST has been growing over time and the grammar doesn't support +all edge cases (e.g. annotation are not supported everywhere). The goal is to simplify the AST by reducing +unnecessary nodes and abstractions and fix the parsing issues. +This helps in the end to provide a better type resolution implementation, but changing the AST is a breaking +API change. + +Some first results of the Java AST changes are for now documented in the Wiki: +[Java clean changes](https://github.com/pmd/pmd/wiki/Java_clean_changes). + +### Miscellaneous + +There are also some small improvements, refactoring and internal tasks that are planned for PMD 7. + +The current tasks are listed here: [PMD 7 Miscellaneous Tasks #2524](https://github.com/pmd/pmd/issues/2524) ## New API support guidelines @@ -878,14 +930,18 @@ large projects, with many duplications, it was causing `OutOfMemoryError`s (see and {% rule "java/bestpractices/PositionLiteralsFirstInCaseInsensitiveComparisons" %} (ruleset `java-bestpractices`) have been deprecated in favor of the new rule {% rule "java/bestpractices/LiteralsFirstInComparisons" %}. +* The Java rule [`AvoidFinalLocalVariable`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#avoidfinallocalvariable) (`java-codestyle`) has been deprecated + and will be removed with PMD 7.0.0. The rule is controversial and also contradicts other existing + rules such as [`LocalVariableCouldBeFinal`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_codestyle.html#localvariablecouldbefinal). If the goal is to avoid defining + constants in a scope smaller than the class, then the rule [`AvoidDuplicateLiterals`](https://pmd.github.io/pmd-6.16.0/pmd_rules_java_errorprone.html#avoidduplicateliterals) + should be used instead. +* The Apex rule [`VariableNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#variablenamingconventions) (`apex-codestyle`) has been deprecated and + will be removed with PMD 7.0.0. The rule is replaced by the more general rules + [`FieldNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#fieldnamingconventions), + [`FormalParameterNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#formalparameternamingconventions), + [`LocalVariableNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#localvariablenamingconventions), and + [`PropertyNamingConventions`](https://pmd.github.io/pmd-6.15.0/pmd_rules_apex_codestyle.html#propertynamingconventions). - - - - - - - - - +* The Java rule [`LoggerIsNotStaticFinal`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#loggerisnotstaticfinal) (`java-errorprone`) has been deprecated + and will be removed with PMD 7.0.0. The rule is replaced by [`ProperLogger`](https://pmd.github.io/pmd-6.15.0/pmd_rules_java_errorprone.html#properlogger). diff --git a/docs/pages/pmd/userdocs/cpd/cpd.md b/docs/pages/pmd/userdocs/cpd/cpd.md index d56bfacf23..c97bbdfbfd 100644 --- a/docs/pages/pmd/userdocs/cpd/cpd.md +++ b/docs/pages/pmd/userdocs/cpd/cpd.md @@ -370,7 +370,7 @@ Here's a screenshot of CPD after running on the JDK 8 java.lang package: ## Suppression Arbitrary blocks of code can be ignored through comments on **Java**, **C/C++**, **Dart**, **Go**, **Javascript**, -**Kotlin**, **Lua**, **Matlab**, **Objective-C**, **PL/SQL**, **Python** and **Swift** by including the keywords `CPD-OFF` and `CPD-ON`. +**Kotlin**, **Lua**, **Matlab**, **Objective-C**, **PL/SQL**, **Python**, **Swift** and **C#** by including the keywords `CPD-OFF` and `CPD-ON`. ```java public Object someParameterizedFactoryMethod(int x) throws Exception { diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index dc7465e6fb..3cf2442fcb 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -14,14 +14,58 @@ This is a {{ site.pmd.release_type }} release. ### New and noteworthy +#### Scala cross compilation + +Up until now the PMD Scala module has been compiled against scala 2.13 only by default. +However, this makes it impossible to use pmd as a library in scala projects, +that use scala 2.12, e.g. in sbt plugins. Therefore PMD now provides cross compiled pmd-scala +modules for both versions: **scala 2.12** and **scala 2.13**. + +The new modules have new maven artifactIds. The old artifactId `net.sourceforge.pmd:pmd-scala:{{ site.pmd.version }}` +is still available, but is deprecated from now on. It has been demoted to be just a delegation to the new +`pmd-scala_2.13` module and will be removed eventually. + +The coordinates for the new modules are: + +``` + + net.sourceforge.pmd + pmd-scala_2.12 + {{ site.pmd.version }} + + + + net.sourceforge.pmd + pmd-scala_2.13 + {{ site.pmd.version }} + +``` + +The command line version of PMD continues to use **scala 2.13**. + +#### New Rules + +* The new Java Rule {% rule "java/codestyle/UnnecessaryCast" %} (`java-codestyle`) + finds casts that are unnecessary while accessing collection elements. + ### Fixed Issues +* c# + * [#2551](https://github.com/pmd/pmd/issues/2551): \[c#] CPD suppression with comments doesn't work * java-design * [#2563](https://github.com/pmd/pmd/pull/2563): \[java] UselessOverridingMethod false negative with already public methods +* scala + * [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13 ### API Changes +* The maven module `net.sourceforge.pmd:pmd-scala` is deprecated. Use `net.sourceforge.pmd:pmd-scala_2.13` + or `net.sourceforge.pmd:pmd-scala_2.12` instead. + ### External Contributions +* [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13 - [João Ferreira](https://github.com/jtjeferreira) +* [#2567](https://github.com/pmd/pmd/pull/2567): \[c#] Fix CPD suppression with comments doesn't work - [Lixon Lookose](https://github.com/LixonLookose) + {% endtocmaker %} diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml index fa0109fc90..0e384db63b 100644 --- a/pmd-apex-jorje/pom.xml +++ b/pmd-apex-jorje/pom.xml @@ -9,6 +9,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml index 076c33e278..0465942f81 100644 --- a/pmd-apex/pom.xml +++ b/pmd-apex/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml index aff6953980..12e7b2bb8b 100644 --- a/pmd-core/pom.xml +++ b/pmd-core/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/token/AntlrToken.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/token/AntlrToken.java index f28544d8d4..5d5521c51f 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/token/AntlrToken.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/token/AntlrToken.java @@ -77,7 +77,7 @@ public class AntlrToken implements GenericToken { } public boolean isHidden() { - return token.getChannel() == Lexer.HIDDEN; + return !isDefault(); } public boolean isDefault() { diff --git a/pmd-core/src/main/resources/rulesets/releases/6250.xml b/pmd-core/src/main/resources/rulesets/releases/6250.xml new file mode 100644 index 0000000000..db652d271d --- /dev/null +++ b/pmd-core/src/main/resources/rulesets/releases/6250.xml @@ -0,0 +1,13 @@ + + + + +This ruleset contains links to rules that are new in PMD v6.25.0 + + + + + diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml index 8a0d19628e..2277cffbab 100644 --- a/pmd-cpp/pom.xml +++ b/pmd-cpp/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml index f081c317c1..f156ff282f 100644 --- a/pmd-cs/pom.xml +++ b/pmd-cs/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-cs/src/test/java/net/sourceforge/pmd/cpd/CsTokenizerTest.java b/pmd-cs/src/test/java/net/sourceforge/pmd/cpd/CsTokenizerTest.java index 2f638af1af..7121f2131e 100644 --- a/pmd-cs/src/test/java/net/sourceforge/pmd/cpd/CsTokenizerTest.java +++ b/pmd-cs/src/test/java/net/sourceforge/pmd/cpd/CsTokenizerTest.java @@ -78,6 +78,18 @@ public class CsTokenizerTest { assertEquals(5, tokens.size()); } + @Test + public void testIgnoreBetweenSpecialComments() { + tokenizer + .tokenize( + toSourceCode("// CPD-OFF\n" + "class Foo {\n" + " void bar() {\n" + " int a = 1 >> 2; \n" + + " a += 1; \n" + " a++; \n" + " a /= 3e2; \n" + " float f = -3.1; \n" + + " f *= 2; \n" + " bool b = ! (f == 2.0 || f >= 1.0 && f <= 2.0) \n" + + " }\n" + "// CPD-ON\n" + "}"), + tokens); + assertEquals(2, tokens.size()); // "}" + EOF + } + @Test public void testCommentsIgnored3() { tokenizer.tokenize(toSourceCode("class Foo { /// class X /* aaa */ \n }"), tokens); diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml index a6c27528d4..74e75d3dd1 100644 --- a/pmd-dart/pom.xml +++ b/pmd-dart/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml index e5f04185d4..7658b09f6a 100644 --- a/pmd-dist/pom.xml +++ b/pmd-dist/pom.xml @@ -9,6 +9,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ @@ -199,7 +200,7 @@ net.sourceforge.pmd - pmd-scala + pmd-scala_2.13 ${project.version} diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml index 58cc0318be..1b4b2dc7c5 100644 --- a/pmd-doc/pom.xml +++ b/pmd-doc/pom.xml @@ -9,6 +9,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml index 0d0d496a62..c98a55d035 100644 --- a/pmd-fortran/pom.xml +++ b/pmd-fortran/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml index 961f83682d..f0f759cfe6 100644 --- a/pmd-go/pom.xml +++ b/pmd-go/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml index fc852c98aa..cbc765b1b4 100644 --- a/pmd-groovy/pom.xml +++ b/pmd-groovy/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml index 95145f93c6..4018319dcb 100644 --- a/pmd-java/pom.xml +++ b/pmd-java/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastRule.java similarity index 54% rename from pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java rename to pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastRule.java index dab321faab..c6d97db928 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/migrating/UnnecessaryCastRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastRule.java @@ -1,11 +1,12 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.migrating; +package net.sourceforge.pmd.lang.java.rule.codestyle; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import net.sourceforge.pmd.lang.ast.Node; @@ -13,10 +14,12 @@ import net.sourceforge.pmd.lang.java.ast.ASTCastExpression; import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceType; import net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration; import net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration; -import net.sourceforge.pmd.lang.java.ast.ASTName; +import net.sourceforge.pmd.lang.java.ast.ASTTypeArgument; import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId; import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; +import net.sourceforge.pmd.lang.java.typeresolution.TypeHelper; import net.sourceforge.pmd.lang.symboltable.NameOccurrence; +import net.sourceforge.pmd.lang.symboltable.ScopedNode; /** * This is a rule, that detects unnecessary casts when using Java 1.5 generics @@ -34,7 +37,6 @@ import net.sourceforge.pmd.lang.symboltable.NameOccurrence; * "http://sourceforge.net/p/pmd/discussion/188192/thread/276fd6f0">Java 5 * rules: Unnecessary casts/Iterators */ -// TODO This is not referenced by any RuleSet? public class UnnecessaryCastRule extends AbstractJavaRule { private static Set implClassNames = new HashSet<>(); @@ -62,36 +64,67 @@ public class UnnecessaryCastRule extends AbstractJavaRule { implClassNames.add("java.util.TreeSet"); implClassNames.add("java.util.TreeMap"); implClassNames.add("java.util.Vector"); + implClassNames.add("Iterator"); + implClassNames.add("java.util.Iterator"); } @Override public Object visit(ASTLocalVariableDeclaration node, Object data) { - return process(node, data); + process(node, data); + return super.visit(node, data); } @Override public Object visit(ASTFieldDeclaration node, Object data) { - return process(node, data); + process(node, data); + return super.visit(node, data); } - private Object process(Node node, Object data) { - ASTClassOrInterfaceType cit = node.getFirstDescendantOfType(ASTClassOrInterfaceType.class); - if (cit == null || !implClassNames.contains(cit.getImage())) { - return data; + private void process(Node node, Object data) { + ASTClassOrInterfaceType collectionType = node.getFirstDescendantOfType(ASTClassOrInterfaceType.class); + if (collectionType == null || !implClassNames.contains(collectionType.getImage())) { + return; } - cit = cit.getFirstDescendantOfType(ASTClassOrInterfaceType.class); + ASTClassOrInterfaceType cit = getCollectionItemType(collectionType); if (cit == null) { - return data; + return; } ASTVariableDeclaratorId decl = node.getFirstDescendantOfType(ASTVariableDeclaratorId.class); List usages = decl.getUsages(); for (NameOccurrence no : usages) { - ASTName name = (ASTName) no.getLocation(); - Node n = name.getParent().getParent().getParent(); - if (n instanceof ASTCastExpression) { - addViolation(data, n); + ASTCastExpression castExpression = findCastExpression(no.getLocation()); + if (castExpression != null) { + ASTClassOrInterfaceType castTarget = castExpression.getFirstDescendantOfType(ASTClassOrInterfaceType.class); + if (castTarget != null + && cit.getImage().equals(castTarget.getImage()) + && !castTarget.hasDescendantOfType(ASTTypeArgument.class)) { + addViolation(data, castExpression); + } } } + } + + private ASTClassOrInterfaceType getCollectionItemType(ASTClassOrInterfaceType collectionType) { + if (TypeHelper.isA(collectionType, Map.class)) { + List types = collectionType.findDescendantsOfType(ASTClassOrInterfaceType.class); + if (types.size() >= 2) { + return types.get(1); // the value type of the map + } + } else { + return collectionType.getFirstDescendantOfType(ASTClassOrInterfaceType.class); + } + return null; + } + + private ASTCastExpression findCastExpression(ScopedNode usage) { + Node n = usage.getNthParent(2); + if (n instanceof ASTCastExpression) { + return (ASTCastExpression) n; + } + n = n.getParent(); + if (n instanceof ASTCastExpression) { + return (ASTCastExpression) n; + } return null; } } diff --git a/pmd-java/src/main/resources/category/java/codestyle.xml b/pmd-java/src/main/resources/category/java/codestyle.xml index e8995ca3a9..41d06456bd 100644 --- a/pmd-java/src/main/resources/category/java/codestyle.xml +++ b/pmd-java/src/main/resources/category/java/codestyle.xml @@ -1855,6 +1855,30 @@ public class Foo { + + +This rule detects when a cast is unnecessary while accessing collection elements. This rule is mostly useful +for old java code before generics where introduced with java 1.5. + + 3 + + stringList = Arrays.asList("a", "b"); + String element = (String) stringList.get(0); // this cast is unnecessary + String element2 = stringList.get(0); + } +} +]]> + + --> + diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastTest.java new file mode 100644 index 0000000000..992a7e91ac --- /dev/null +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryCastTest.java @@ -0,0 +1,12 @@ +/* + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + + +package net.sourceforge.pmd.lang.java.rule.codestyle; + +import net.sourceforge.pmd.testframework.PmdRuleTst; + +public class UnnecessaryCastTest extends PmdRuleTst { + // no additional unit tests +} diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryCast.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryCast.xml new file mode 100644 index 0000000000..e3403cb86d --- /dev/null +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryCast.xml @@ -0,0 +1,157 @@ + + + + + Basic Violations + 5 + 12,15,18,23,28 + map = new HashMap<>(); + + public void localVars() { + List stringList = Arrays.asList("a"); + String element = (String) stringList.get(0); + + List doubleList = new ArrayList<>(); + Double number = (Double) doubleList.get(0); + + Map stringMap = new HashMap<>(); + String mapData = (String) stringMap.get("a"); + } + + public void fields() { + map.put(1, "test"); + String val = (String) map.get(1); + } + + public void fields2() { + this.map.put(1, "test"); + String val = (String) this.map.get(1); + } +} + ]]> + + + + Without casts there should be no violation + 0 + map = new HashMap<>(); + + public void localVars() { + List stringList = Arrays.asList("a"); + String element = stringList.get(0); + + List doubleList = new ArrayList<>(); + Double number = doubleList.get(0); + } + + public void fields() { + map.put(1, "test"); + String val = map.get(1); + } + + public void fields2() { + this.map.put(1, "test"); + String val = this.map.get(1); + } +} + ]]> + + + + Unnecessary casts with iterator + 2 + 10,17 + stringList = Arrays.asList("a"); + Iterator stringIt = stringList.iterator(); + while (stringIt.hasNext()) { + String element = (String) stringIt.next(); + String element2 = stringIt.next(); + } + + List doubleList = new ArrayList<>(); + Iterator doubleIt = doubleList.iterator(); + while (doubleIt.hasNext()) { + Double number = (Double) doubleIt.next(); + Double number2 = doubleIt.next(); + } + } +} + ]]> + + + + Avoid cast false-positives + 0 + numbers = Arrays.asList(1, 2, 3); + Integer myInt = (Integer) numbers.get(0); + + List data = new ArrayList<>(); + String item = (String) data.get(0); + + Map map = new HashMap<>(); + String dataFromMap = (String) map.get("foo"); + } +} + ]]> + + + + Avoid clone false-positive + 0 + strings = new ArrayList<>(); + List copy = (List) strings.clone(); + } +} + ]]> + + + + Necessary Map Cast (nested generics) false-positive + 0 + , Map> resourceCaches = new ConcurrentHashMap<>(4); + + @SuppressWarnings("unchecked") + public Map getResourceCache(Class valueType) { + return (Map) this.resourceCaches.computeIfAbsent(valueType, key -> new ConcurrentHashMap<>()); + } +} + ]]> + + diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml index 6b8fff1aa0..ed969291c5 100644 --- a/pmd-java8/pom.xml +++ b/pmd-java8/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml index 3dfbaf1582..94cf49a18d 100644 --- a/pmd-javascript/pom.xml +++ b/pmd-javascript/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml index fc134ffca6..102ac311f4 100644 --- a/pmd-jsp/pom.xml +++ b/pmd-jsp/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml index e8076b3573..77db6c864e 100644 --- a/pmd-kotlin/pom.xml +++ b/pmd-kotlin/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml index 4606693a07..084e37d9dc 100644 --- a/pmd-lang-test/pom.xml +++ b/pmd-lang-test/pom.xml @@ -13,6 +13,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/BaseTreeDumpTest.kt b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/BaseTreeDumpTest.kt index 4e52a66651..4fab7ba383 100644 --- a/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/BaseTreeDumpTest.kt +++ b/pmd-lang-test/src/main/kotlin/net/sourceforge/pmd/lang/ast/test/BaseTreeDumpTest.kt @@ -51,7 +51,7 @@ abstract class BaseTreeDumpTest( // Outputting a path makes for better error messages private val srcTestResources = let { - // this is set from maven surefire + // this is set from maven surefire - see parent pom.xml configuration for surefire (systemPropertyVariables) System.getProperty("mvn.project.src.test.resources") ?.let { Paths.get(it).toAbsolutePath() } // that's for when the tests are run inside the IDE diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml index 604c7970cb..3ca38f938e 100644 --- a/pmd-lua/pom.xml +++ b/pmd-lua/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml index 1c0107057b..44bab0225c 100644 --- a/pmd-matlab/pom.xml +++ b/pmd-matlab/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-modelica/pom.xml b/pmd-modelica/pom.xml index d0ced19ed4..a7ca75a5b1 100644 --- a/pmd-modelica/pom.xml +++ b/pmd-modelica/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml index 113955cbce..464c81642d 100644 --- a/pmd-objectivec/pom.xml +++ b/pmd-objectivec/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml index c85bf7bc0c..9907e4c1b1 100644 --- a/pmd-perl/pom.xml +++ b/pmd-perl/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml index fb5e9ab096..33bec7c3d7 100644 --- a/pmd-php/pom.xml +++ b/pmd-php/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml index e3f06fe9db..111f4e5f20 100644 --- a/pmd-plsql/pom.xml +++ b/pmd-plsql/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml index 690ee3c592..4ef39d1ddf 100644 --- a/pmd-python/pom.xml +++ b/pmd-python/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml index e79369db0d..6f7f54eff3 100644 --- a/pmd-ruby/pom.xml +++ b/pmd-ruby/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-scala-modules/pmd-scala-common/README.md b/pmd-scala-modules/pmd-scala-common/README.md new file mode 100644 index 0000000000..19624d2dec --- /dev/null +++ b/pmd-scala-modules/pmd-scala-common/README.md @@ -0,0 +1,8 @@ +# pmd-scala-common + +Contains shared code for the pmd-scala_2.12 and pmd-scala_2.13 modules. + +It is not a module in itself, since it needs to be used while cross-compiling +with a specific scala version. + +It should be source compatible with the oldest scala version we are supporting. diff --git a/pmd-scala-modules/pmd-scala-common/pom.xml b/pmd-scala-modules/pmd-scala-common/pom.xml new file mode 100644 index 0000000000..62f704414d --- /dev/null +++ b/pmd-scala-modules/pmd-scala-common/pom.xml @@ -0,0 +1,129 @@ + + + 4.0.0 + PMD Scala Common Source and Settings + pmd-scala-common + pom + + + net.sourceforge.pmd + pmd + 6.25.0-SNAPSHOT + ../.. + + + + 4.2.0 + + + + ../pmd-scala-common/src/main/java + + + ../pmd-scala-common/src/main/resources + + + ../pmd-scala-common/src/test/java + + + ../pmd-scala-common/src/test/resources + + + + + + + maven-resources-plugin + + false + + ${*} + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + + + compile + + compile + + + + ../pmd-scala-common/src/main/kotlin + ../pmd-scala-common/src/main/java + + + + + test-compile + + test-compile + + + + ../pmd-scala-common/src/test/kotlin + ../pmd-scala-common/src/test/java + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + + ${project.basedir}/../../pmd-lang-test/target/dokka/pmd-lang-test + ../../pmd-lang-test/${project.version} + + + ${project.basedir}/../../pmd-test/target/apidocs + ../../pmd-test/${project.version} + + + + ${project.basedir}/../../pmd-core/target/apidocs + ../../pmd-core/${project.version} + + + + + + + + + + + net.sourceforge.pmd + pmd-core + + + + junit + junit + test + + + org.junit.vintage + junit-vintage-engine + test + + + net.sourceforge.pmd + pmd-test + test + + + net.sourceforge.pmd + pmd-lang-test + test + + + diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaLanguage.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/cpd/ScalaLanguage.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaLanguage.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/cpd/ScalaLanguage.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java similarity index 98% rename from pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java index a5f3082922..3900fc3bd6 100644 --- a/pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java +++ b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java @@ -96,7 +96,7 @@ public class ScalaTokenizer implements Tokenizer { Token.LF.class, Token.FF.class, Token.LFLF.class, Token.EOF.class }; ScalaTokenFilter(Iterator iterator) { - this.tokenIter = iterator.iterator(); + this.tokenIter = iterator; } Token getNextToken() { diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageHandler.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageHandler.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageHandler.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageHandler.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageModule.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageModule.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageModule.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageModule.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaParser.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaParser.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaParser.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaParser.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaTreeBuilder.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaTreeBuilder.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaTreeBuilder.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ScalaTreeBuilder.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCase.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCase.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCase.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCase.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorPrimary.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorPrimary.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorPrimary.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorPrimary.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorSecondary.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorSecondary.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorSecondary.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTCtorSecondary.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclDef.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclDef.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclDef.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclDef.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclType.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclType.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclType.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclType.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVal.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVal.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVal.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVal.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVar.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVar.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVar.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDeclVar.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnClass.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnClass.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnClass.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnClass.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnDef.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnDef.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnDef.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnDef.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnMacro.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnMacro.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnMacro.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnMacro.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnObject.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnObject.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnObject.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnObject.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnTrait.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnTrait.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnTrait.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnTrait.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnType.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnType.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnType.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnType.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVal.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVal.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVal.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVal.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVar.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVar.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVar.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTDefnVar.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGenerator.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGenerator.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGenerator.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGenerator.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGuard.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGuard.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGuard.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorGuard.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorVal.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorVal.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorVal.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTEnumeratorVal.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImport.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImport.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImport.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImport.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeName.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeName.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeName.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeName.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeRename.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeRename.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeRename.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeRename.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeUnimport.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeUnimport.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeUnimport.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeUnimport.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeWildcard.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeWildcard.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeWildcard.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporteeWildcard.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporter.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporter.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporter.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTImporter.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTInit.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTInit.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTInit.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTInit.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitBoolean.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitBoolean.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitBoolean.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitBoolean.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitByte.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitByte.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitByte.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitByte.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitChar.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitChar.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitChar.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitChar.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitDouble.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitDouble.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitDouble.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitDouble.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitFloat.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitFloat.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitFloat.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitFloat.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitInt.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitInt.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitInt.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitInt.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitLong.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitLong.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitLong.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitLong.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitNull.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitNull.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitNull.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitNull.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitShort.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitShort.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitShort.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitShort.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitString.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitString.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitString.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitString.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitSymbol.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitSymbol.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitSymbol.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitSymbol.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitUnit.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitUnit.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitUnit.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTLitUnit.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAbstract.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAbstract.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAbstract.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAbstract.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAnnot.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAnnot.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAnnot.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModAnnot.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCase.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCase.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCase.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCase.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModContravariant.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModContravariant.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModContravariant.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModContravariant.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCovariant.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCovariant.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCovariant.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModCovariant.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModFinal.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModFinal.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModFinal.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModFinal.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModImplicit.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModImplicit.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModImplicit.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModImplicit.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModInline.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModInline.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModInline.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModInline.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModLazy.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModLazy.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModLazy.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModLazy.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModOverride.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModOverride.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModOverride.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModOverride.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModPrivate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModPrivate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModPrivate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModPrivate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModProtected.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModProtected.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModProtected.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModProtected.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModSealed.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModSealed.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModSealed.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModSealed.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModValParam.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModValParam.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModValParam.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModValParam.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModVarParam.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModVarParam.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModVarParam.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTModVarParam.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameAnonymous.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameAnonymous.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameAnonymous.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameAnonymous.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameIndeterminate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameIndeterminate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameIndeterminate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTNameIndeterminate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatAlternative.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatAlternative.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatAlternative.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatAlternative.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatBind.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatBind.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatBind.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatBind.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtract.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtract.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtract.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtract.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtractInfix.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtractInfix.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtractInfix.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatExtractInfix.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatInterpolate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatInterpolate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatInterpolate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatInterpolate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatSeqWildcard.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatSeqWildcard.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatSeqWildcard.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatSeqWildcard.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTuple.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTuple.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTuple.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTuple.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTyped.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTyped.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTyped.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatTyped.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatVar.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatVar.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatVar.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatVar.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatWildcard.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatWildcard.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatWildcard.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatWildcard.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatXml.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatXml.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatXml.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPatXml.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkg.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkg.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkg.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkg.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkgObject.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkgObject.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkgObject.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTPkgObject.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTQuasi.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTQuasi.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTQuasi.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTQuasi.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSelf.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSelf.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSelf.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSelf.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSource.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSource.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSource.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTSource.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTemplate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTemplate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTemplate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTemplate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAnnotate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAnnotate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAnnotate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAnnotate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApply.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApply.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApply.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApply.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyInfix.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyInfix.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyInfix.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyInfix.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyType.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyType.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyType.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyType.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyUnary.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyUnary.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyUnary.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermApplyUnary.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAscribe.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAscribe.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAscribe.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAscribe.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAssign.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAssign.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAssign.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermAssign.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermBlock.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermBlock.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermBlock.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermBlock.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermDo.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermDo.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermDo.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermDo.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermEta.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermEta.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermEta.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermEta.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFor.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFor.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFor.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFor.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermForYield.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermForYield.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermForYield.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermForYield.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFunction.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFunction.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFunction.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermFunction.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermIf.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermIf.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermIf.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermIf.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermInterpolate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermInterpolate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermInterpolate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermInterpolate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermMatch.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermMatch.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermMatch.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermMatch.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermName.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermName.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermName.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermName.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNew.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNew.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNew.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNew.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNewAnonymous.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNewAnonymous.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNewAnonymous.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermNewAnonymous.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermParam.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermParam.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermParam.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermParam.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPartialFunction.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPartialFunction.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPartialFunction.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPartialFunction.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPlaceholder.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPlaceholder.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPlaceholder.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermPlaceholder.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermRepeated.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermRepeated.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermRepeated.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermRepeated.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermReturn.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermReturn.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermReturn.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermReturn.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSelect.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSelect.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSelect.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSelect.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSuper.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSuper.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSuper.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermSuper.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThis.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThis.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThis.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThis.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThrow.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThrow.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThrow.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermThrow.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTry.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTry.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTry.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTry.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTryWithHandler.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTryWithHandler.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTryWithHandler.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTryWithHandler.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTuple.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTuple.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTuple.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermTuple.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermWhile.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermWhile.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermWhile.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermWhile.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermXml.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermXml.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermXml.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTermXml.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnd.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnd.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnd.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnd.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnnotate.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnnotate.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnnotate.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeAnnotate.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApply.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApply.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApply.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApply.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApplyInfix.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApplyInfix.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApplyInfix.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeApplyInfix.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeBounds.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeBounds.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeBounds.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeBounds.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeByName.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeByName.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeByName.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeByName.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeExistential.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeExistential.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeExistential.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeExistential.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeFunction.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeFunction.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeFunction.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeFunction.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeImplicitFunction.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeImplicitFunction.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeImplicitFunction.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeImplicitFunction.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeLambda.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeLambda.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeLambda.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeLambda.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeMethod.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeMethod.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeMethod.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeMethod.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeName.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeName.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeName.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeName.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeOr.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeOr.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeOr.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeOr.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeParam.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeParam.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeParam.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeParam.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypePlaceholder.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypePlaceholder.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypePlaceholder.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypePlaceholder.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeProject.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeProject.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeProject.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeProject.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRefine.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRefine.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRefine.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRefine.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRepeated.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRepeated.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRepeated.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeRepeated.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSelect.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSelect.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSelect.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSelect.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSingleton.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSingleton.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSingleton.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeSingleton.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeTuple.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeTuple.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeTuple.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeTuple.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeVar.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeVar.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeVar.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeVar.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeWith.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeWith.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeWith.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ASTTypeWith.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/AbstractScalaNode.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/AbstractScalaNode.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/AbstractScalaNode.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/AbstractScalaNode.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaNode.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaNode.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaNode.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaNode.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitor.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitor.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitor.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitor.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitorAdapter.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitorAdapter.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitorAdapter.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/ast/ScalaParserVisitorAdapter.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRule.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRule.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRule.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRule.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleChainVisitor.java diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleViolationFactory.java b/pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleViolationFactory.java similarity index 100% rename from pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleViolationFactory.java rename to pmd-scala-modules/pmd-scala-common/src/main/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleViolationFactory.java diff --git a/pmd-scala/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language b/pmd-scala-modules/pmd-scala-common/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language similarity index 100% rename from pmd-scala/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language rename to pmd-scala-modules/pmd-scala-common/src/main/resources/META-INF/services/net.sourceforge.pmd.cpd.Language diff --git a/pmd-scala/src/main/resources/META-INF/services/net.sourceforge.pmd.lang.Language b/pmd-scala-modules/pmd-scala-common/src/main/resources/META-INF/services/net.sourceforge.pmd.lang.Language similarity index 100% rename from pmd-scala/src/main/resources/META-INF/services/net.sourceforge.pmd.lang.Language rename to pmd-scala-modules/pmd-scala-common/src/main/resources/META-INF/services/net.sourceforge.pmd.lang.Language diff --git a/pmd-scala/src/main/resources/category/scala/bestpractices.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/bestpractices.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/bestpractices.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/bestpractices.xml diff --git a/pmd-scala/src/main/resources/category/scala/categories.properties b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/categories.properties similarity index 100% rename from pmd-scala/src/main/resources/category/scala/categories.properties rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/categories.properties diff --git a/pmd-scala/src/main/resources/category/scala/codestyle.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/codestyle.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/codestyle.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/codestyle.xml diff --git a/pmd-scala/src/main/resources/category/scala/design.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/design.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/design.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/design.xml diff --git a/pmd-scala/src/main/resources/category/scala/documentation.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/documentation.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/documentation.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/documentation.xml diff --git a/pmd-scala/src/main/resources/category/scala/errorprone.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/errorprone.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/errorprone.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/errorprone.xml diff --git a/pmd-scala/src/main/resources/category/scala/multithreading.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/multithreading.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/multithreading.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/multithreading.xml diff --git a/pmd-scala/src/main/resources/category/scala/performance.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/performance.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/performance.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/performance.xml diff --git a/pmd-scala/src/main/resources/category/scala/security.xml b/pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/security.xml similarity index 100% rename from pmd-scala/src/main/resources/category/scala/security.xml rename to pmd-scala-modules/pmd-scala-common/src/main/resources/category/scala/security.xml diff --git a/pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Compiler.scala b/pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Compiler.scala similarity index 100% rename from pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Compiler.scala rename to pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Compiler.scala diff --git a/pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Lexer.scala b/pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Lexer.scala similarity index 100% rename from pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Lexer.scala rename to pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Lexer.scala diff --git a/pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Parser.scala b/pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Parser.scala similarity index 100% rename from pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Parser.scala rename to pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Parser.scala diff --git a/pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Token.scala b/pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Token.scala similarity index 100% rename from pmd-scala/src/main/scala/org/sonar/plugins/scala/compiler/Token.scala rename to pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/compiler/Token.scala diff --git a/pmd-scala/src/main/scala/org/sonar/plugins/scala/language/CodeDetector.scala b/pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/language/CodeDetector.scala similarity index 100% rename from pmd-scala/src/main/scala/org/sonar/plugins/scala/language/CodeDetector.scala rename to pmd-scala-modules/pmd-scala-common/src/main/scala/org/sonar/plugins/scala/language/CodeDetector.scala diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/RulesetFactoryTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/RulesetFactoryTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/RulesetFactoryTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/RulesetFactoryTest.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/cpd/ScalaTokenizerTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/cpd/ScalaTokenizerTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/cpd/ScalaTokenizerTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/cpd/ScalaTokenizerTest.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/ast/BaseScalaTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/ast/BaseScalaTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/ast/BaseScalaTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/ast/BaseScalaTest.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/ast/ScalaParsingHelper.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/ast/ScalaParsingHelper.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/ast/ScalaParsingHelper.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/ast/ScalaParsingHelper.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/rule/ScalaRuleTest.java diff --git a/pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/rule/XPathRuleTest.java b/pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/rule/XPathRuleTest.java similarity index 100% rename from pmd-scala/src/test/java/net/sourceforge/pmd/lang/scala/rule/XPathRuleTest.java rename to pmd-scala-modules/pmd-scala-common/src/test/java/net/sourceforge/pmd/lang/scala/rule/XPathRuleTest.java diff --git a/pmd-scala/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaParserTests.kt b/pmd-scala-modules/pmd-scala-common/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaParserTests.kt similarity index 100% rename from pmd-scala/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaParserTests.kt rename to pmd-scala-modules/pmd-scala-common/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaParserTests.kt diff --git a/pmd-scala/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaTreeTests.kt b/pmd-scala-modules/pmd-scala-common/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaTreeTests.kt similarity index 100% rename from pmd-scala/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaTreeTests.kt rename to pmd-scala-modules/pmd-scala-common/src/test/kotlin/net/sourceforge/pmd/lang/scala/ast/ScalaTreeTests.kt diff --git a/pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.scala b/pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.scala similarity index 100% rename from pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.scala rename to pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.scala diff --git a/pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.txt b/pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.txt similarity index 100% rename from pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.txt rename to pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/List.txt diff --git a/pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.scala b/pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.scala similarity index 100% rename from pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.scala rename to pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.scala diff --git a/pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.txt b/pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.txt similarity index 100% rename from pmd-scala/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.txt rename to pmd-scala-modules/pmd-scala-common/src/test/resources/net/sourceforge/pmd/lang/scala/ast/testdata/package.txt diff --git a/pmd-scala/src/test/resources/parserFiles/helloworld.scala b/pmd-scala-modules/pmd-scala-common/src/test/resources/parserFiles/helloworld.scala similarity index 100% rename from pmd-scala/src/test/resources/parserFiles/helloworld.scala rename to pmd-scala-modules/pmd-scala-common/src/test/resources/parserFiles/helloworld.scala diff --git a/pmd-scala/src/test/resources/tokenizerFiles/sample-LiftActor.scala b/pmd-scala-modules/pmd-scala-common/src/test/resources/tokenizerFiles/sample-LiftActor.scala similarity index 100% rename from pmd-scala/src/test/resources/tokenizerFiles/sample-LiftActor.scala rename to pmd-scala-modules/pmd-scala-common/src/test/resources/tokenizerFiles/sample-LiftActor.scala diff --git a/pmd-scala-modules/pmd-scala_2.12/pom.xml b/pmd-scala-modules/pmd-scala_2.12/pom.xml new file mode 100644 index 0000000000..220974c6e1 --- /dev/null +++ b/pmd-scala-modules/pmd-scala_2.12/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + PMD Scala for Scala 2.12 + pmd-scala_2.12 + + + net.sourceforge.pmd + pmd-scala-common + 6.25.0-SNAPSHOT + ../pmd-scala-common + + + + 2.12 + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + + + + + + + org.scalameta + scalameta_${scalaVersion} + ${scalameta.version} + + + diff --git a/pmd-scala-modules/pmd-scala_2.13/pom.xml b/pmd-scala-modules/pmd-scala_2.13/pom.xml new file mode 100644 index 0000000000..b314beda49 --- /dev/null +++ b/pmd-scala-modules/pmd-scala_2.13/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + PMD Scala for Scala 2.13 + pmd-scala_2.13 + + + net.sourceforge.pmd + pmd-scala-common + 6.25.0-SNAPSHOT + ../pmd-scala-common + + + + 2.13 + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + + + + + + + org.scalameta + scalameta_${scalaVersion} + ${scalameta.version} + + + diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml index 4d7f28830c..5657463f77 100644 --- a/pmd-scala/pom.xml +++ b/pmd-scala/pom.xml @@ -1,69 +1,25 @@ - + 4.0.0 pmd-scala - PMD Scala + PMD Scala - Transitional package (deprecated) + This is deprecated, use pmd-scala_2.13 directly + pom net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ - - 4.2.0 - - - - - - maven-resources-plugin - - false - - ${*} - - - - - - kotlin-maven-plugin - org.jetbrains.kotlin - - - - - - org.scalameta - scalameta_2.13 - ${scalameta.version} - - - net.sourceforge.pmd - pmd-core - - - - junit - junit - test - - - org.junit.vintage - junit-vintage-engine - test - - - net.sourceforge.pmd - pmd-test - test - - - net.sourceforge.pmd - pmd-lang-test - test + ${project.groupId} + pmd-scala_2.13 + ${project.version} diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml index 3e8b4cfb14..95e213648a 100644 --- a/pmd-swift/pom.xml +++ b/pmd-swift/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml index 4aeda98c02..5f9f7913c8 100644 --- a/pmd-test/pom.xml +++ b/pmd-test/pom.xml @@ -9,6 +9,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml index 300c8efc67..1f99a9d170 100644 --- a/pmd-visualforce/pom.xml +++ b/pmd-visualforce/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml index 8b8ef3ff19..d8cbf3ebb2 100644 --- a/pmd-vm/pom.xml +++ b/pmd-vm/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml index 8c98430ba7..74df3d98e9 100644 --- a/pmd-xml/pom.xml +++ b/pmd-xml/pom.xml @@ -8,6 +8,7 @@ net.sourceforge.pmd pmd 6.25.0-SNAPSHOT + ../ diff --git a/pom.xml b/pom.xml index 3d4562faef..062f361a90 100644 --- a/pom.xml +++ b/pom.xml @@ -256,7 +256,7 @@ once alphabetical - ${project.basedir}/src/test/resources + ${project.build.testResources[0].directory} @@ -1030,7 +1030,10 @@ pmd-plsql pmd-python pmd-ruby - pmd-scala + pmd-scala + pmd-scala-modules/pmd-scala-common + pmd-scala-modules/pmd-scala_2.13 + pmd-scala-modules/pmd-scala_2.12 pmd-swift pmd-test pmd-visualforce