Skip to content

Commit c34e9dc

Browse files
committed
Skip adding new entry when the same entry already exists
1 parent 4d610f2 commit c34e9dc

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

tests/tck-build-logic/src/main/java/org/graalvm/internal/tck/ScaffoldTask.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ private void checkExistingMetadata(Coordinates coordinates, Path metadataVersion
107107
}
108108
}
109109

110+
private boolean shouldAddNewMetadataEntry(Path coordinatesMetadataRoot, Coordinates coordinates) throws IOException {
111+
String newModule = coordinates.group() + ":" + coordinates.artifact();
112+
File metadataIndex = coordinatesMetadataRoot.resolve("index.json").toFile();
113+
List<MetadataVersionsIndexEntry> entries = objectMapper.readValue(metadataIndex, new TypeReference<>() {});
114+
return entries.stream().noneMatch(e -> e.module().equalsIgnoreCase(newModule) && e.metadataVersion().equalsIgnoreCase(coordinates.version()));
115+
}
116+
117+
110118
private void addToTestIndexJson(Coordinates coordinates) throws IOException {
111119
File testIndex = getProject().file("tests/src/index.json");
112120
List<TestIndexEntry> entries = objectMapper.readValue(testIndex, new TypeReference<>() {
@@ -243,6 +251,10 @@ private void writeCoordinatesMetadataRootJson(Path metadataRoot, Coordinates coo
243251
}
244252

245253
private void updateCoordinatesMetadataRootJson(Path metadataRoot, Coordinates coordinates) throws IOException {
254+
if (!shouldAddNewMetadataEntry(metadataRoot, coordinates)) {
255+
return;
256+
}
257+
246258
File metadataIndex = metadataRoot.resolve("index.json").toFile();
247259
List<MetadataVersionsIndexEntry> entries = objectMapper.readValue(metadataIndex, new TypeReference<>() {});
248260

0 commit comments

Comments
 (0)