Skip to content

Commit 6bc494c

Browse files
committed
skip if no named constants yet
1 parent 58c91dd commit 6bc494c

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,37 @@
1313
import org.gradle.api.file.DirectoryProperty;
1414
import org.gradle.api.file.RegularFileProperty;
1515
import org.gradle.api.tasks.InputDirectory;
16+
import org.gradle.api.tasks.Optional;
1617
import org.gradle.api.tasks.OutputFile;
18+
import org.gradle.api.tasks.PathSensitive;
19+
import org.gradle.api.tasks.PathSensitivity;
1720
import org.gradle.api.tasks.TaskAction;
1821

1922
import java.io.IOException;
23+
import java.nio.charset.StandardCharsets;
2024
import java.nio.file.Files;
2125
import java.nio.file.Path;
2226

2327
public abstract class GenerateTransportVersionManifestTask extends DefaultTask {
2428
@InputDirectory
29+
@Optional
30+
@PathSensitive(PathSensitivity.RELATIVE)
2531
public abstract DirectoryProperty getDefinitionsDirectory();
2632

2733
@OutputFile
2834
public abstract RegularFileProperty getManifestFile();
2935

3036
@TaskAction
3137
public void generateTransportVersionManifest() throws IOException {
32-
Path constantsDir = getDefinitionsDirectory().get().getAsFile().toPath();
3338
Path manifestFile = getManifestFile().get().getAsFile().toPath();
39+
if (getDefinitionsDirectory().isPresent() == false) {
40+
// no definitions to capture, remove this leniency once all branches have at least one version
41+
Files.writeString(manifestFile, "", StandardCharsets.UTF_8);
42+
return;
43+
}
44+
Path constantsDir = getDefinitionsDirectory().get().getAsFile().toPath();
45+
46+
3447
try (var writer = Files.newBufferedWriter(manifestFile)) {
3548
try (var stream = Files.list(constantsDir)) {
3649
for (String filename : stream.map(p -> p.getFileName().toString()).toList()) {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ public abstract class ValidateTransportVersionDefinitionsTask extends DefaultTas
4747

4848
@TaskAction
4949
public void validateTransportVersions() throws IOException {
50+
if (getDefinitionsDirectory().isPresent() == false) {
51+
return; // no definitions to validate, remove this leniency once all branches have at least one version
52+
}
5053
Path constantsDir = getDefinitionsDirectory().getAsFile().get().toPath();
5154

5255
Set<String> allTvNames = new HashSet<>();

0 commit comments

Comments
 (0)