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);