Skip to content

Commit 066f879

Browse files
committed
Some more review feedback
1 parent 9861447 commit 066f879

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,24 @@
2323

2424
public abstract class ProjectSubscribeBuildService implements BuildService<BuildServiceParameters.None> {
2525

26-
public static final String TRANSPORT_REFERENCES_TOPIC = "transportReferences";
2726
private final ProviderFactory providerFactory;
2827

28+
/**
29+
* The filling of this map depends on the order of #registerProjectForTopic being called.
30+
* This is usually done during configuration phase, but we do not enforce yet the time of this method call.
31+
* The values are LinkedHashSet to preserve the order of registration mostly to provide a predicatable order
32+
* when running consecutive builds.
33+
* */
2934
private Map<String, Collection<String>> versionsByTopic = new HashMap<>();
3035

3136
@Inject
3237
public ProjectSubscribeBuildService(ProviderFactory providerFactory) {
3338
this.providerFactory = providerFactory;
3439
}
3540

41+
/**
42+
* Returning a provider so the evaluation of the map value is deferred to when the provider is queried.
43+
* */
3644
public Provider<Collection<String>> getProjectsByTopic(String topic) {
3745
return providerFactory.provider(() -> versionsByTopic.computeIfAbsent(topic, k -> new java.util.LinkedHashSet<>()));
3846
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.gradle.api.tasks.SourceSet;
1717
import org.gradle.language.base.plugins.LifecycleBasePlugin;
1818

19-
import static org.elasticsearch.gradle.internal.ProjectSubscribeBuildService.TRANSPORT_REFERENCES_TOPIC;
19+
import static org.elasticsearch.gradle.internal.transport.TransportVersionResourcesPlugin.TRANSPORT_REFERENCES_TOPIC;
2020

2121
public class TransportVersionReferencesPlugin implements Plugin<Project> {
2222

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919

2020
import java.util.Map;
2121

22-
import static org.elasticsearch.gradle.internal.ProjectSubscribeBuildService.TRANSPORT_REFERENCES_TOPIC;
23-
2422
public class TransportVersionResourcesPlugin implements Plugin<Project> {
2523

24+
public static final String TRANSPORT_REFERENCES_TOPIC = "transportReferences";
25+
2626
@Override
2727
public void apply(Project project) {
2828
project.getPluginManager().apply(LifecycleBasePlugin.class);

0 commit comments

Comments
 (0)