@@ -39,6 +39,7 @@ public record BootstrapArgs(
3939 Function <Class <?>, String > pluginResolver ,
4040 Function <String , String > settingResolver ,
4141 Function <String , Stream <String >> settingGlobResolver ,
42+ Function <String , Path > repoDirResolver ,
4243 Path [] dataDirs ,
4344 Path configDir ,
4445 Path logsDir ,
@@ -49,6 +50,7 @@ public record BootstrapArgs(
4950 requireNonNull (pluginResolver );
5051 requireNonNull (settingResolver );
5152 requireNonNull (settingGlobResolver );
53+ requireNonNull (repoDirResolver );
5254 requireNonNull (dataDirs );
5355 if (dataDirs .length == 0 ) {
5456 throw new IllegalArgumentException ("must provide at least one data directory" );
@@ -71,6 +73,9 @@ public static BootstrapArgs bootstrapArgs() {
7173 *
7274 * @param pluginPolicies a map holding policies for plugins (and modules), by plugin (or module) name.
7375 * @param pluginResolver a functor to map a Java Class to the plugin it belongs to (the plugin name).
76+ * @param settingResolver a functor to resolve the value of an Elasticsearch setting.
77+ * @param settingGlobResolver a functor to resolve a glob expression for one or more Elasticsearch settings.
78+ * @param repoDirResolver a functor to map a repository location to its Elasticsearch path.
7479 * @param dataDirs data directories for Elasticsearch
7580 * @param configDir the config directory for Elasticsearch
7681 * @param tempDir the temp directory for Elasticsearch
@@ -81,6 +86,7 @@ public static void bootstrap(
8186 Function <Class <?>, String > pluginResolver ,
8287 Function <String , String > settingResolver ,
8388 Function <String , Stream <String >> settingGlobResolver ,
89+ Function <String , Path > repoDirResolver ,
8490 Path [] dataDirs ,
8591 Path configDir ,
8692 Path logsDir ,
@@ -95,6 +101,7 @@ public static void bootstrap(
95101 pluginResolver ,
96102 settingResolver ,
97103 settingGlobResolver ,
104+ repoDirResolver ,
98105 dataDirs ,
99106 configDir ,
100107 logsDir ,
0 commit comments