Skip to content

Commit 825707a

Browse files
jormundur00vjovanov
authored andcommitted
Filter out already tested versions when fetching newer versions of libraries
1 parent b7e415e commit 825707a

File tree

3 files changed

+32
-24
lines changed

3 files changed

+32
-24
lines changed

metadata/com.microsoft.sqlserver/mssql-jdbc/index.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
"12.8.0.jre11",
3838
"12.8.0.jre8",
3939
"12.8.1.jre11",
40-
"12.8.1.jre11",
4140
"12.8.1.jre8",
4241
"12.10.1.jre11",
4342
"12.10.1.jre8",
@@ -46,13 +45,10 @@
4645
"13.1.1.jre11-preview",
4746
"13.1.1.jre8-preview",
4847
"13.2.0.jre11",
49-
"13.2.0.jre11",
5048
"13.2.0.jre8",
5149
"13.2.1.jre11",
52-
"13.2.1.jre11",
5350
"13.2.1.jre8",
5451
"13.3.0.jre11-preview",
55-
"13.3.0.jre11-preview",
5652
"13.3.0.jre8-preview"
5753
]
5854
}

metadata/io.netty/netty-transport/index.json

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,7 @@
66
"metadata-version" : "4.1.115.Final",
77
"tested-versions" : [
88
"4.1.115.Final",
9-
"4.1.116.Final",
10-
"4.2.0.Alpha1",
11-
"4.2.0.Alpha2",
12-
"4.2.0.Alpha3",
13-
"4.2.0.RC1",
14-
"4.2.0.RC4",
15-
"4.2.1.Final",
16-
"4.2.2.Final"
9+
"4.1.116.Final"
1710
]
1811
},
1912
{

tests/tck-build-logic/src/main/groovy/org/graalvm/internal/tck/harness/tasks/FetchExistingLibrariesWithNewerVersionsTask.groovy

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ abstract class FetchExistingLibrariesWithNewerVersionsTask extends DefaultTask {
9797

9898
List<String> newerVersions = getNewerVersionsFromLibraryIndex(data, startingVersion, library)
9999

100+
// filter out already tested versions
101+
List<String> testedVersions = getTestedVersions(library);
102+
newerVersions.removeAll(testedVersions);
103+
100104
// filter pre-release versions if full release exists
101105
return filterPreReleases(newerVersions)
102106
}
@@ -147,30 +151,45 @@ abstract class FetchExistingLibrariesWithNewerVersionsTask extends DefaultTask {
147151
}
148152

149153
static String getLatestLibraryVersion(String libraryModule) {
154+
try {
155+
List<String> testedVersions = getTestedVersions(libraryModule);
156+
if (testedVersions.isEmpty()) {
157+
throw new IllegalStateException("Cannot find any tested version for: " + libraryModule);
158+
}
159+
160+
testedVersions.sort(Comparator.comparing(VersionNumber::parse));
161+
return testedVersions.get(testedVersions.size() - 1);
162+
} catch (IOException e) {
163+
throw new RuntimeException(e);
164+
}
165+
}
166+
167+
/**
168+
* Reads the tested versions of a given library from its metadata index file.
169+
*/
170+
static List<String> getTestedVersions(String libraryModule) {
150171
try {
151172
String[] coordinates = libraryModule.split(":");
152173
String group = coordinates[0];
153174
String artifact = coordinates[1];
154175

155-
File coordinatesMetadataIndex = new File("metadata/" + group + "/" + artifact +"/index.json");
176+
File indexFile = new File("metadata/" + group + "/" + artifact + "/index.json");
177+
if (!indexFile.exists()) {
178+
return Collections.emptyList();
179+
}
180+
156181
ObjectMapper objectMapper = new ObjectMapper()
157182
.enable(SerializationFeature.INDENT_OUTPUT)
158183
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
159184

160-
List<MetadataVersionsIndexEntry> entries = objectMapper.readValue(coordinatesMetadataIndex, new TypeReference<List<MetadataVersionsIndexEntry>>() {
161-
});
185+
List<MetadataVersionsIndexEntry> entries = objectMapper.readValue(indexFile,
186+
new TypeReference<List<MetadataVersionsIndexEntry>>() {});
162187

163-
List<String> allTested = new ArrayList<>();
188+
List<String> testedVersions = new ArrayList<>();
164189
for (MetadataVersionsIndexEntry entry : entries) {
165-
allTested.addAll(entry.testedVersions());
190+
testedVersions.addAll(entry.testedVersions());
166191
}
167-
168-
if (allTested.isEmpty()) {
169-
throw new IllegalStateException("Cannot find any tested version for: " + libraryModule);
170-
}
171-
172-
allTested.sort(Comparator.comparing(VersionNumber::parse));
173-
return allTested.get(allTested.size() - 1);
192+
return testedVersions;
174193
} catch (IOException e) {
175194
throw new RuntimeException(e);
176195
}

0 commit comments

Comments
 (0)