Evaluate settings values before passing it to task closure (#26243)

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.
This commit is contained in:
Simon Willnauer 2017-08-16 22:31:49 +02:00 committed by GitHub
parent cfad6688b0
commit d26c8b5c88
1 changed files with 2 additions and 1 deletions

View File

@ -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
}