Skip to content

Commit 86fc83b

Browse files
committed
Address some review feedback
1 parent 3248d0c commit 86fc83b

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,31 @@
1010
package org.elasticsearch.gradle.internal;
1111

1212
import org.gradle.api.Project;
13+
import org.gradle.api.provider.Provider;
14+
import org.gradle.api.provider.ProviderFactory;
1315
import org.gradle.api.services.BuildService;
1416
import org.gradle.api.services.BuildServiceParameters;
1517

1618
import java.util.Collection;
1719
import java.util.HashMap;
1820
import java.util.Map;
1921

22+
import javax.inject.Inject;
23+
2024
public abstract class ProjectSubscribeBuildService implements BuildService<BuildServiceParameters.None> {
2125

2226
public static final String TRANSPORT_REFERENCES_TOPIC = "transportReferences";
27+
private final ProviderFactory providerFactory;
2328

2429
private Map<String, Collection<String>> versionsByTopic = new HashMap<>();
2530

26-
public Collection<String> getProjectsByTopic(String topic) {
27-
return versionsByTopic.get(topic);
31+
@Inject
32+
public ProjectSubscribeBuildService(ProviderFactory providerFactory) {
33+
this.providerFactory = providerFactory;
34+
}
35+
36+
public Provider<Collection<String>> getProjectsByTopic(String topic) {
37+
return providerFactory.provider(() -> versionsByTopic.computeIfAbsent(topic, k -> new java.util.LinkedHashSet<>()));
2838
}
2939

3040
public void registerProjectForTopic(String topic, Project project) {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ public void apply(Project project) {
4545
c.defaultDependencies(t -> {
4646
psService.get()
4747
.getProjectsByTopic(TRANSPORT_REFERENCES_TOPIC)
48-
.forEach(p -> { t.add(depsHandler.project(Map.of("path", p))); });
48+
.get()
49+
.forEach(path -> t.add(depsHandler.project(Map.of("path", path))));
4950
});
5051
});
5152

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.gradle.api.tasks.PathSensitive;
2121
import org.gradle.api.tasks.PathSensitivity;
2222
import org.gradle.api.tasks.TaskAction;
23+
import org.gradle.api.tasks.VerificationException;
2324
import org.gradle.api.tasks.VerificationTask;
2425

2526
import java.io.IOException;
@@ -52,7 +53,7 @@ public void validateTransportVersions() throws IOException {
5253

5354
for (var tvReference : TransportVersionReference.listFromFile(namesFile)) {
5455
if (resources.referableDefinitionExists(tvReference.name()) == false) {
55-
throw new RuntimeException(
56+
throw new VerificationException(
5657
"TransportVersion.fromName(\""
5758
+ tvReference.name()
5859
+ "\") was used at "

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.gradle.api.tasks.PathSensitive;
2323
import org.gradle.api.tasks.PathSensitivity;
2424
import org.gradle.api.tasks.TaskAction;
25+
import org.gradle.api.tasks.VerificationException;
2526
import org.gradle.api.tasks.VerificationTask;
2627

2728
import java.io.IOException;
@@ -256,11 +257,11 @@ private void validateBase(int base, List<IdAndDefinition> ids) {
256257

257258
private void throwDefinitionFailure(TransportVersionDefinition definition, String message) {
258259
Path relativePath = getResources().get().getReferableDefinitionRepositoryPath(definition);
259-
throw new IllegalStateException("Transport version definition file [" + relativePath + "] " + message);
260+
throw new VerificationException("Transport version definition file [" + relativePath + "] " + message);
260261
}
261262

262263
private void throwUpperBoundFailure(TransportVersionUpperBound upperBound, String message) {
263264
Path relativePath = getResources().get().getUpperBoundRepositoryPath(upperBound);
264-
throw new IllegalStateException("Transport version upper bound file [" + relativePath + "] " + message);
265+
throw new VerificationException("Transport version upper bound file [" + relativePath + "] " + message);
265266
}
266267
}

0 commit comments

Comments
 (0)