Skip to content

Commit 719290a

Browse files
committed
Boot RC2 and attempt to fix the test
Signed-off-by: BoykoAlex <[email protected]>
1 parent 3f8b176 commit 719290a

File tree

13 files changed

+35
-12
lines changed

13 files changed

+35
-12
lines changed

headless-services/commons/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<parent>
1414
<groupId>org.springframework.boot</groupId>
1515
<artifactId>spring-boot-starter-parent</artifactId>
16-
<version>4.0.0-M3</version>
16+
<version>4.0.0-RC2</version>
1717
<relativePath></relativePath>
1818
</parent>
1919

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private CompletableFuture<Void> mavenRegenerateMetadata(Path pom, String[] goal)
6262
synchronized(MAVEN_LOCK) {
6363
String[] cmd = new String[1 + goal.length];
6464
Path projectPath = pom.getParent();
65-
String mvnw = OS.isWindows() ? "./mvnw.cmd" : "./mvnw";
65+
String mvnw = OS.isWindows() ? ".\\mvnw.cmd" : "./mvnw";
6666
cmd[0] = Files.isRegularFile(projectPath.resolve(mvnw)) ? mvnw : "mvn";
6767
System.arraycopy(goal, 0, cmd, 1, goal.length);
6868
try {

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

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.concurrent.ConcurrentMap;
2525
import java.util.function.Consumer;
2626
import java.util.stream.Collectors;
27+
import java.util.stream.Stream;
2728

2829
import org.eclipse.lsp4j.Command;
2930
import org.slf4j.Logger;
@@ -114,6 +115,22 @@ public DataRepositoryAotMetadataService(FileObserver fileObserver, JavaProjectFi
114115
notify(removedEntries);
115116
}
116117
});
118+
fileObserver.onFilesDeleted(List.of("**/spring-aot", "**/spring-aot/main", "**/spring-aot/main/resources"), changedFiles -> {
119+
// If `spring-aot` folder is deleted VSCode would only notify about the folder deletion, no events for each contained file
120+
for (String fileUri : changedFiles) {
121+
URI uri = URI.create(fileUri);
122+
Path path = Paths.get(uri);
123+
List<URI> removedEntries = metadataCache.keySet().stream()
124+
.filter(p -> p.startsWith(path))
125+
.filter(p -> metadataCache.remove(p).isPresent())
126+
.map(p -> p.toUri())
127+
.toList();
128+
if (!removedEntries.isEmpty()) {
129+
log.info("Spring AOT Metadata refreshed: %s".formatted(removedEntries.stream().map(p -> p.toString()).collect(Collectors.joining(", "))));
130+
notify(removedEntries);
131+
}
132+
}
133+
});
117134
}
118135
}
119136

@@ -141,7 +158,13 @@ public Command regenerateMetadataCommand(IJavaProject jp) {
141158
switch (jp.getProjectBuild().getType()) {
142159
case ProjectBuild.MAVEN_PROJECT_TYPE:
143160
List<String> goal = new ArrayList<>();
144-
if (!IClasspathUtil.getOutputFolders(jp.getClasspath()).map(f -> f.toPath()).allMatch(Files::isDirectory)) {
161+
if (!IClasspathUtil.getOutputFolders(jp.getClasspath()).map(f -> f.toPath()).filter(Files::isDirectory).flatMap(d -> {
162+
try {
163+
return Files.walk(d);
164+
} catch (IOException e) {
165+
return Stream.empty();
166+
}
167+
}).anyMatch(f -> Files.isRegularFile(f) && f.getFileName().toString().endsWith(".class"))) {
145168
// Check if source is compiled by checking that all output folders exist
146169
// If not compiled then add `compile` goal
147170
goal.add("compile");

headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/data/test/DataRepositoryAotMetadataCodeLensProviderJpaTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ void codeLensOverMethod() throws Exception {
7878
List<CodeLens> cls = editor.getCodeLenses("findUserByUsername", 1);
7979
assertEquals("Turn into @Query", cls.get(0).getCommand().getTitle());
8080
assertEquals("Implementation", cls.get(1).getCommand().getTitle());
81-
assertEquals("SELECT u FROM example.springdata.aot.User u WHERE u.username = :username", cls.get(2).getCommand().getTitle());
81+
assertEquals("SELECT u FROM users u WHERE u.username = :username", cls.get(2).getCommand().getTitle());
8282
}
8383

8484
@Test

headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/data/test/DataRepositoryAotMetadataCodeLensProviderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ void generateMetadataCodeLens() throws Exception {
9696
assertTrue(cls.size() > 1);
9797
assertEquals("Turn into @Query", cls.get(0).getCommand().getTitle());
9898
assertEquals("Implementation", cls.get(1).getCommand().getTitle());
99-
assertEquals("SELECT u FROM example.springdata.aot.User u WHERE u.username = :username", cls.get(2).getCommand().getTitle());
99+
assertEquals("SELECT u FROM users u WHERE u.username = :username", cls.get(2).getCommand().getTitle());
100100
assertEquals("Refresh", cls.get(3).getCommand().getTitle());
101101
}
102102

headless-services/spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/data/test/QueryMethodCodeActionProviderJpaTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void convertToQueryCodeAction() throws Exception {
8585
WorkspaceEdit edit = refactorings.createEdit((JsonElement) cmd.getArguments().get(1)).get(5, TimeUnit.SECONDS);
8686
TextDocumentEdit docEdit = edit.getDocumentChanges().get(0).getLeft();
8787
assertEquals(
88-
"@Query(\"SELECT u FROM example.springdata.aot.User u WHERE u.lastname LIKE :lastname ESCAPE '\\\\' ORDER BY u.firstname asc\")",
88+
"@Query(\"SELECT u FROM users u WHERE u.lastname LIKE :lastname ESCAPE '\\\\' ORDER BY u.firstname asc\")",
8989
docEdit.getEdits().get(0).getNewText().trim());
9090
assertEquals(filePath.toUri().toASCIIString(), docEdit.getTextDocument().getUri());
9191
}

headless-services/spring-boot-language-server/src/test/resources/test-projects/aot-data-repositories-jpa/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>4.0.0-M3</version>
9+
<version>4.0.0-RC2</version>
1010
<relativePath /> <!-- lookup parent from repository -->
1111
</parent>
1212

headless-services/spring-boot-language-server/src/test/resources/test-projects/aot-data-repositories-mongodb/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>4.0.0-M3</version>
9+
<version>4.0.0-RC2</version>
1010
<relativePath/> <!-- lookup parent from repository -->
1111
</parent>
1212

headless-services/spring-boot-language-server/src/test/resources/test-projects/data-repositories-jpa-4/mvnw.cmd

100644100755
File mode changed.

headless-services/spring-boot-language-server/src/test/resources/test-projects/data-repositories-jpa-4/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>4.0.0-M3</version>
9+
<version>4.0.0-RC2</version>
1010
<relativePath /> <!-- lookup parent from repository -->
1111
</parent>
1212

0 commit comments

Comments
 (0)