Evaluate settings values before passing it to task closure
The secure settings tool reads from stdIn and we use a closure to
provide a value for this. Yet, we evaluate they value too late and end up
with the last provided value for all keys.
@@ -351,8 +351,9 @@ class ClusterFormationTasks {
String key = entry.getKey()
String name = taskName(parent, node, 'addToKeystore#' + key)
Task t = configureExecTask(name, project, parentTask, node, esKeystoreUtil, 'add', key, '-x')
+ String settingsValue = entry.getValue() // eval this early otherwise it will not use the right value
t.doFirst {
- standardInput = new ByteArrayInputStream(entry.getValue().getBytes(StandardCharsets.UTF_8))
+ standardInput = new ByteArrayInputStream(settingsValue.getBytes(StandardCharsets.UTF_8))
}
parentTask = t
}
