in storage/src/main/java/com/microsoft/alm/storage/macosx/KeychainSecurityCliStore.java [423:450]
static void write(final SecretKind secretKind, final TestableProcessFactory processFactory, final String serviceName, final String accountName, final String password) {
final String stdOut, stdErr;
try {
final TestableProcess addProcess = processFactory.create(
SECURITY,
INTERACTIVE_MODE
);
final String[] commandParts = {
ADD_GENERIC_PASSWORD,
UPDATE_IF_ALREADY_EXISTS,
ACCOUNT_PARAMETER, accountName,
SERVICE_PARAMETER, serviceName,
PASSWORD_PARAMETER, password,
KIND_PARAMETER, secretKind.name()
};
final ProcessCoordinator coordinator = new ProcessCoordinator(addProcess);
final String command = StringHelper.join(" ", commandParts, 0, commandParts.length, QUOTING_PROCESSOR);
coordinator.println(command);
final int result = coordinator.waitFor();
stdOut = coordinator.getStdOut();
stdErr = coordinator.getStdErr();
checkResult(result, stdOut, stdErr);
} catch (final IOException e) {
throw new Error(e);
} catch (final InterruptedException e) {
throw new Error(e);
}
}