Skip to content

Commit 6821e70

Browse files
committed
better reference checker
1 parent 3c465d4 commit 6821e70

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

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

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.io.IOException;
2424
import java.nio.file.Files;
2525
import java.nio.file.Path;
26+
import java.util.function.Predicate;
2627

2728
/**
2829
* Validates that each transport version named reference has a constant definition.
@@ -41,19 +42,24 @@ public abstract class ValidateTransportVersionReferencesTask extends DefaultTask
4142

4243
@TaskAction
4344
public void validateTransportVersions() throws IOException {
44-
Path definitionsDir = getDefinitionsDirectory().getAsFile().get().toPath();
45+
final Predicate<String> referenceChecker;
46+
if (getDefinitionsDirectory().isPresent()) {
47+
Path definitionsDir = getDefinitionsDirectory().getAsFile().get().toPath();
48+
referenceChecker = (name) -> Files.exists(definitionsDir.resolve(name + ".csv"));
49+
} else {
50+
referenceChecker = (name) -> false;
51+
}
4552
Path namesFile = getReferencesFile().get().getAsFile().toPath();
4653

4754
for (var tvReference : TransportVersionUtils.readReferencesFile(namesFile)) {
48-
Path constantFile = definitionsDir.resolve(tvReference.name() + ".csv");
49-
if (Files.exists(constantFile) == false) {
55+
if (referenceChecker.test(tvReference.name()) == false) {
5056
throw new RuntimeException(
5157
"TransportVersion.fromName(\""
5258
+ tvReference.name()
5359
+ "\") was used at "
5460
+ tvReference.location()
5561
+ ", but lacks a"
56-
+ " transport version constant definition. This can be generated with the <TODO> task" // todo
62+
+ " transport version definition. This can be generated with the <TODO> task" // todo
5763
);
5864
}
5965
}

0 commit comments

Comments
 (0)