Skip to content

Commit 8aef203

Browse files
committed
Adjust rewrite gradle parsing
1 parent 9cdff86 commit 8aef203

File tree

3 files changed

+22
-17
lines changed

3 files changed

+22
-17
lines changed

headless-services/commons/commons-rewrite/src/main/java/org/springframework/ide/vscode/commons/rewrite/gradle/GradleIJavaProjectParser.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import static org.openrewrite.Tree.randomId;
1414

15+
import java.io.IOException;
1516
import java.nio.file.Path;
1617
import java.nio.file.Paths;
1718
import java.util.Arrays;
@@ -36,11 +37,15 @@
3637
import org.openrewrite.java.marker.JavaVersion;
3738
import org.openrewrite.marker.BuildTool;
3839
import org.openrewrite.marker.Marker;
40+
import org.slf4j.Logger;
41+
import org.slf4j.LoggerFactory;
3942
import org.springframework.ide.vscode.commons.java.IJavaProject;
4043
import org.springframework.ide.vscode.commons.rewrite.java.AbstractJavaProjectParser;
4144

4245
public class GradleIJavaProjectParser extends AbstractJavaProjectParser {
4346

47+
private static final Logger log = LoggerFactory.getLogger(GradleIJavaProjectParser.class);
48+
4449
public GradleIJavaProjectParser(IJavaProject jp, Builder<?, ?> javaParserBuilder,
4550
Function<Path, Input> parserInputProvider) {
4651
super(jp, javaParserBuilder, parserInputProvider);
@@ -68,17 +73,22 @@ protected List<Marker> getJavaProvenance(SourceFile buildFileAst, Path projectDi
6873

6974
@Override
7075
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+
}
8292
}
8393

8494
}

headless-services/commons/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,6 @@
138138
<artifactId>gradle-tooling-api</artifactId>
139139
<version>8.11</version>
140140
</dependency>
141-
<dependency>
142-
<groupId>org.openrewrite.gradle.tooling</groupId>
143-
<artifactId>model</artifactId>
144-
<version>2.7.0</version>
145-
</dependency>
146141
<dependency>
147142
<groupId>org.eclipse.jgit</groupId>
148143
<artifactId>org.eclipse.jgit</artifactId>

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1066,7 +1066,7 @@ private static String getComplianceJavaVersion(String javaVersion) {
10661066
}
10671067

10681068
private static String extractComplianceVersion(String versionString) {
1069-
if (versionString.contains(".")) {
1069+
if (versionString != null && versionString.contains(".")) {
10701070
String[] parts = versionString.split("\\.");
10711071
if ("1".equals(parts[0])) {
10721072
if (parts.length > 1) {

0 commit comments

Comments
 (0)