Skip to content

Commit 4e21475

Browse files
committed
only check latest files on main or current branch
1 parent 9a050f8 commit 4e21475

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/ValidateTransportVersionDefinitionsTask.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
import com.google.common.collect.Comparators;
1313

14+
import org.elasticsearch.gradle.Version;
15+
import org.elasticsearch.gradle.VersionProperties;
1416
import org.elasticsearch.gradle.internal.transport.TransportVersionUtils.TransportVersionDefinition;
1517
import org.elasticsearch.gradle.internal.transport.TransportVersionUtils.TransportVersionId;
1618
import org.elasticsearch.gradle.internal.transport.TransportVersionUtils.TransportVersionLatest;
@@ -128,11 +130,36 @@ public void validateTransportVersions() throws IOException {
128130

129131
// now load all latest versions and do validation
130132
// NOTE: this must run after definition recording and idsByBase cleanup
133+
List<Path> latestFiles = new ArrayList<>();
131134
try (var latestStream = Files.list(latestDir)) {
132135
for (var latestFile : latestStream.toList()) {
133-
recordAndValidateLatest(readLatestFile(latestFile));
136+
latestFiles.add(latestFile);
134137
}
135138
}
139+
if (latestFiles.size() > 1) {
140+
// only check all files on main, otherwise just check the current major/minor version
141+
// NOTE: this implicitly works for serverless because it only has one version so we skip parsing
142+
Version currentVersion = VersionProperties.getElasticsearchVersion();
143+
boolean onMain = true;
144+
for (Path latestFile : latestFiles) {
145+
String[] branchParts = latestFile.getFileName().toString().split("\\.");
146+
int major = Integer.parseInt(branchParts[0]);
147+
int minor = Integer.parseInt(branchParts[1]);
148+
if (major > currentVersion.getMajor() || major == currentVersion.getMajor() && minor > currentVersion.getMinor()) {
149+
onMain = false;
150+
break;
151+
}
152+
}
153+
154+
if (onMain == false) {
155+
String currentBranch = currentVersion.getMajor() + "." + currentVersion.getMinor();
156+
latestFiles = List.of(TransportVersionUtils.latestFilePath(getResourcesDirectory().get(), currentBranch));
157+
}
158+
}
159+
for (Path latestFile : latestFiles) {
160+
recordAndValidateLatest(readLatestFile(latestFile));
161+
}
162+
136163
}
137164

138165
private String gitCommand(String... args) {

0 commit comments

Comments
 (0)