diff --git a/.travis/build-deploy.sh b/.travis/build-deploy.sh
index 9935d0bee7..18dc1c824a 100755
--- a/.travis/build-deploy.sh
+++ b/.travis/build-deploy.sh
@@ -26,7 +26,6 @@ elif travis_isPullRequest; then
log_info "This is a pull-request build"
./mvnw verify $MVN_BUILD_FLAGS
- ./mvnw clean verify $MVN_BUILD_FLAGS -pl pmd-scala -DscalaVersion=2.13
regression-tester_executeDanger
@@ -43,7 +42,6 @@ elif travis_isPush; then
# Build and deploy to ossrh / maven-central
./mvnw deploy -Possrh,sign,pmd-release $MVN_BUILD_FLAGS
- ./mvnw clean deploy -Possrh,sign,pmd-release $MVN_BUILD_FLAGS -pl pmd-scala -DscalaVersion=2.13
echo -e "\n\n"
# Deploy to github releases
@@ -59,7 +57,6 @@ elif travis_isPush; then
elif [[ "${VERSION}" == *-SNAPSHOT ]]; then
log_info "This is a snapshot build"
./mvnw deploy -Possrh,sign $MVN_BUILD_FLAGS
- ./mvnw clean deploy -Possrh,sign $MVN_BUILD_FLAGS -pl pmd-scala -DscalaVersion=2.13
# Deploy to sourceforge files
sourceforge_uploadFile "${VERSION}" "pmd-dist/target/pmd-bin-${VERSION}.zip"
diff --git a/pmd-scala-modules/pmd-scala/pom.xml b/pmd-scala-modules/pmd-scala/pom.xml
new file mode 100644
index 0000000000..48ac410350
--- /dev/null
+++ b/pmd-scala-modules/pmd-scala/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+ pmd-scala
+ PMD Scala
+ pom
+
+
+ net.sourceforge.pmd
+ pmd
+ 6.25.0-SNAPSHOT
+
+
+
diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaLanguage.java b/pmd-scala-modules/pmd-scala/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/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/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java
similarity index 100%
rename from pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java
rename to pmd-scala-modules/pmd-scala/src/main/java/net/sourceforge/pmd/cpd/ScalaTokenizer.java
diff --git a/pmd-scala/src/main/java/net/sourceforge/pmd/lang/scala/ScalaLanguageHandler.java b/pmd-scala-modules/pmd-scala/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/src/test/resources/parserFiles/helloworld.scala
diff --git a/pmd-scala/src/test/resources/tokenizerFiles/sample-LiftActor.scala b/pmd-scala-modules/pmd-scala/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/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..ff4d2e1e1e
--- /dev/null
+++ b/pmd-scala-modules/pmd-scala_2.12/pom.xml
@@ -0,0 +1,107 @@
+
+
+ 4.0.0
+ pmd-scala_2.12
+
+
+ net.sourceforge.pmd
+ pmd-scala
+ 6.25.0-SNAPSHOT
+
+
+
+ 2.12
+ 4.2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ maven-resources-plugin
+
+ false
+
+ ${*}
+
+
+
+
+
+ kotlin-maven-plugin
+ org.jetbrains.kotlin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.scalameta
+ scalameta_${scalaVersion}
+ ${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
+
+
+
+
+
diff --git a/pmd-scala-modules/pmd-scala_2.12/src b/pmd-scala-modules/pmd-scala_2.12/src
new file mode 120000
index 0000000000..f1fe577fe1
--- /dev/null
+++ b/pmd-scala-modules/pmd-scala_2.12/src
@@ -0,0 +1 @@
+../pmd-scala/src/
\ No newline at end of file
diff --git a/pmd-scala/pom.xml b/pmd-scala-modules/pmd-scala_2.13/pom.xml
similarity index 82%
rename from pmd-scala/pom.xml
rename to pmd-scala-modules/pmd-scala_2.13/pom.xml
index 0cb6076044..20b16bbb21 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala-modules/pmd-scala_2.13/pom.xml
@@ -1,20 +1,21 @@
-
+
4.0.0
- pmd-scala_${scalaVersion}
- PMD Scala
-
+ pmd-scala_2.13
+
net.sourceforge.pmd
- pmd
+ pmd-scala
6.25.0-SNAPSHOT
-
+
- 2.12
+ 2.13
4.2.0
-
+
@@ -26,15 +27,15 @@
-
+
kotlin-maven-plugin
org.jetbrains.kotlin
-
+
-
+
org.scalameta
@@ -45,7 +46,7 @@
net.sourceforge.pmd
pmd-core
-
+
junit
junit
@@ -67,4 +68,6 @@
test
+
+
diff --git a/pmd-scala-modules/pmd-scala_2.13/src b/pmd-scala-modules/pmd-scala_2.13/src
new file mode 120000
index 0000000000..f1fe577fe1
--- /dev/null
+++ b/pmd-scala-modules/pmd-scala_2.13/src
@@ -0,0 +1 @@
+../pmd-scala/src/
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index f1aa91d126..7408e4e548 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,6 @@
1.3.0
0.10.1
- 2.12
5.0
2.22.1
@@ -1031,7 +1030,9 @@
pmd-plsql
pmd-python
pmd-ruby
- pmd-scala
+ pmd-scala-modules/pmd-scala
+ pmd-scala-modules/pmd-scala_2.13
+ pmd-scala-modules/pmd-scala_2.12
pmd-swift
pmd-test
pmd-visualforce