|
12 | 12 |
|
13 | 13 | import static org.openrewrite.Tree.randomId; |
14 | 14 |
|
| 15 | +import java.io.IOException; |
15 | 16 | import java.nio.file.Path; |
16 | 17 | import java.nio.file.Paths; |
17 | 18 | import java.util.Arrays; |
|
36 | 37 | import org.openrewrite.java.marker.JavaVersion; |
37 | 38 | import org.openrewrite.marker.BuildTool; |
38 | 39 | import org.openrewrite.marker.Marker; |
| 40 | +import org.slf4j.Logger; |
| 41 | +import org.slf4j.LoggerFactory; |
39 | 42 | import org.springframework.ide.vscode.commons.java.IJavaProject; |
40 | 43 | import org.springframework.ide.vscode.commons.rewrite.java.AbstractJavaProjectParser; |
41 | 44 |
|
42 | 45 | public class GradleIJavaProjectParser extends AbstractJavaProjectParser { |
43 | 46 |
|
| 47 | + private static final Logger log = LoggerFactory.getLogger(GradleIJavaProjectParser.class); |
| 48 | + |
44 | 49 | public GradleIJavaProjectParser(IJavaProject jp, Builder<?, ?> javaParserBuilder, |
45 | 50 | Function<Path, Input> parserInputProvider) { |
46 | 51 | super(jp, javaParserBuilder, parserInputProvider); |
@@ -68,17 +73,22 @@ protected List<Marker> getJavaProvenance(SourceFile buildFileAst, Path projectDi |
68 | 73 |
|
69 | 74 | @Override |
70 | 75 | public List<G.CompilationUnit> parseBuildFiles(Path projectDir, ExecutionContext ctx) { |
71 | | - OpenRewriteModel openRewriteGradleModel = OpenRewriteModelBuilder.forProjectDirectory(projectDir.toFile(), Paths.get(jp.getProjectBuild().getBuildFile()).toFile()); |
72 | | - GradleProject gradleProject = org.openrewrite.gradle.toolingapi.GradleProject.toMarker(openRewriteGradleModel.gradleProject()); |
73 | | - GradleParser gradleParser = GradleParser.builder().groovyParser(GroovyParser.builder()).build(); |
74 | | - |
75 | | - Path buildFilePath = Paths.get(jp.getProjectBuild().getBuildFile()); |
76 | | - |
77 | | - List<G.CompilationUnit> gradleFiles = gradleParser.parseInputs(() -> |
78 | | - getInputs(Stream.of(buildFilePath)).iterator(), null, ctx).map(G.CompilationUnit.class::cast).collect(Collectors.toList()); |
79 | | - return ListUtils.map( |
80 | | - gradleFiles, (i, gb) -> gb.withMarkers(gb.getMarkers().addIfAbsent(gradleProject)) |
81 | | - ); |
| 76 | + try { |
| 77 | + OpenRewriteModel openRewriteGradleModel = OpenRewriteModelBuilder.forProjectDirectory(projectDir.toFile(), Paths.get(jp.getProjectBuild().getBuildFile()).toFile()); |
| 78 | + GradleProject gradleProject =openRewriteGradleModel.getGradleProject(); |
| 79 | + GradleParser gradleParser = GradleParser.builder().groovyParser(GroovyParser.builder()).build(); |
| 80 | + |
| 81 | + Path buildFilePath = Paths.get(jp.getProjectBuild().getBuildFile()); |
| 82 | + |
| 83 | + List<G.CompilationUnit> gradleFiles = gradleParser.parseInputs(() -> |
| 84 | + getInputs(Stream.of(buildFilePath)).iterator(), null, ctx).map(G.CompilationUnit.class::cast).collect(Collectors.toList()); |
| 85 | + return ListUtils.map( |
| 86 | + gradleFiles, (i, gb) -> gb.withMarkers(gb.getMarkers().addIfAbsent(gradleProject)) |
| 87 | + ); |
| 88 | + } catch (IOException e) { |
| 89 | + log.error("", e); |
| 90 | + return List.of(); |
| 91 | + } |
82 | 92 | } |
83 | 93 |
|
84 | 94 | } |
0 commit comments