Ensuring pem files are properly split regardless of source OS
diff --git a/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java b/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
index 3ad9024..0acd51d 100644
--- a/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
+++ b/core/src/main/java/org/jclouds/chef/functions/GroupToBootScript.java
@@ -28,6 +28,7 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.regex.Pattern;
import javax.inject.Inject;
import javax.inject.Named;
@@ -56,6 +57,8 @@
*/
@Singleton
public class GroupToBootScript implements Function<String, Statement> {
+ private static final Pattern newLinePattern = Pattern.compile("(\\r\\n)|(\\n)");
+
@VisibleForTesting
static final Type RUN_LIST_TYPE = new TypeLiteral<Map<String, List<String>>>() {
}.getType();
@@ -95,8 +98,8 @@
.format("validation_client_name \"%s\"", validatorClientName), String.format(
"chef_server_url \"%s\"", endpoint.get())));
- Statement createValidationPem = appendFile(chefConfigDir + "{fs}validation.pem", Splitter.on('\n').split(
- Pems.pem(validatorKey)));
+ Statement createValidationPem = appendFile(chefConfigDir + "{fs}validation.pem", Splitter.on(newLinePattern)
+ .split(Pems.pem(validatorKey)));
String chefBootFile = chefConfigDir + "{fs}first-boot.json";