aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java')
-rw-r--r--src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java b/src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java
index c204e2f53d..8f9f558938 100644
--- a/src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java
+++ b/src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge/PlMerge.java
@@ -27,6 +27,7 @@ import java.io.InputStream;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
+import java.nio.file.Path;
/**
* Entry point for the {@code plmerge} tool, which merges the data from one or more plists into a
@@ -75,7 +76,20 @@ public class PlMerge {
// This prevents CFBundleIdentifiers being put into strings files.
merging.setBundleIdentifier(primaryBundleId, fallbackBundleId);
}
- merging.writePlist(fileSystem.getPath(control.getOutFile()));
+
+ Path outputPath = fileSystem.getPath(control.getOutFile());
+ switch (control.getOutputFormat()) {
+ case BINARY:
+ merging.writePlist(outputPath);
+ break;
+ case XML:
+ merging.writeXmlPlist(outputPath);
+ break;
+ default:
+ throw new IllegalArgumentException(String.format(
+ "Unknown output format in the control file: %s",
+ control.getOutputFormat()));
+ }
}
private static void validateControl(Control control) {