From 28bd2baae54c42de51e16ab3ddddd10fd2406fb8 Mon Sep 17 00:00:00 2001
From: Simon Zilliken <45996518+simonzn@users.noreply.github.com>
Date: Tue, 21 Nov 2023 23:20:49 +0100
Subject: [PATCH] Adds GroovyParser (#662) (#663)
---
pom.xml | 4 ++++
.../java/org/openrewrite/maven/ResourceParser.java | 11 +++++++++++
2 files changed, 15 insertions(+)
diff --git a/pom.xml b/pom.xml
index c9d79f5b..3d6fe02f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,6 +204,10 @@
org.openrewrite
rewrite-yaml
+
+ org.openrewrite
+ rewrite-groovy
+
org.openrewrite
rewrite-python
diff --git a/src/main/java/org/openrewrite/maven/ResourceParser.java b/src/main/java/org/openrewrite/maven/ResourceParser.java
index 7a2c985c..3ccaae59 100644
--- a/src/main/java/org/openrewrite/maven/ResourceParser.java
+++ b/src/main/java/org/openrewrite/maven/ResourceParser.java
@@ -19,6 +19,7 @@
import org.openrewrite.ExecutionContext;
import org.openrewrite.InMemoryExecutionContext;
import org.openrewrite.SourceFile;
+import org.openrewrite.groovy.GroovyParser;
import org.openrewrite.hcl.HclParser;
import org.openrewrite.java.JavaParser;
import org.openrewrite.json.JsonParser;
@@ -156,6 +157,9 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
KotlinParser kotlinParser = KotlinParser.builder().build();
List kotlinPaths = new ArrayList<>();
+ GroovyParser groovyParser = GroovyParser.builder().build();
+ List groovyPaths = new ArrayList<>();
+
HclParser hclParser = HclParser.builder().build();
List hclPaths = new ArrayList<>();
@@ -182,6 +186,8 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
pythonPaths.add(path);
} else if (kotlinParser.accept(path)) {
kotlinPaths.add(path);
+ } else if (groovyParser.accept(path)) {
+ groovyPaths.add(path);
} else if (hclParser.accept(path)) {
hclPaths.add(path);
} else if (quarkParser.accept(path)) {
@@ -229,6 +235,11 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
alreadyParsed.addAll(kotlinPaths);
}
+ if (!groovyPaths.isEmpty()) {
+ sourceFiles = Stream.concat(sourceFiles, (Stream) groovyParser.parse(groovyPaths, baseDir, ctx));
+ alreadyParsed.addAll(groovyPaths);
+ }
+
if (!hclPaths.isEmpty()) {
sourceFiles = Stream.concat(sourceFiles, (Stream) hclParser.parse(hclPaths, baseDir, ctx));
alreadyParsed.addAll(hclPaths);