aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/protobuf/plmerge.proto
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-12-08 20:27:30 +0000
committerGravatar David Chen <dzc@google.com>2015-12-08 22:26:51 +0000
commit8ca78e61630f525d1f97c711952208efd14606f8 (patch)
tree9f12783d3354c8f1ef53b04e4da345249bc5a62e /src/main/protobuf/plmerge.proto
parentdfa6368490224a2f98d967736cef5803a82c3989 (diff)
Plmerge receives arguments by a protobuf, introduces variable substitutions to plmerge.
As of this change plmerge can consume either a protobuf or command line arguments. Once bazel uses plmerge strictly with protobufs, the command line arguments will be deprecated. -- MOS_MIGRATED_REVID=109716003
Diffstat (limited to 'src/main/protobuf/plmerge.proto')
-rw-r--r--src/main/protobuf/plmerge.proto48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/protobuf/plmerge.proto b/src/main/protobuf/plmerge.proto
new file mode 100644
index 0000000000..d493a6f84b
--- /dev/null
+++ b/src/main/protobuf/plmerge.proto
@@ -0,0 +1,48 @@
+// Copyright 2015 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+syntax = "proto2";
+
+package devtools.xcode;
+option java_outer_classname = "PlMergeProtos";
+option java_package = "com.google.devtools.build.xcode.plmerge.proto";
+
+// Contains necessary arguments for PlMerge, which is responsible for merging
+// plist files.
+message Control {
+ // Paths to the plist files to merge relative to execution root.
+ repeated string source_file = 1;
+
+ // Path to the output file to merge relative to execution root.
+ required string out_file = 2;
+
+ // Key-value substitutions to support templating for plists. A substitution
+ // is made if the substitution key appears as a value for any key-value pair
+ // in any source_file.
+ // For example, a plist with the entry:
+ // <key>CFBundleExectuable</key>
+ // <string>EXECUTABLE_NAME</string>
+ // could be templated by passing a variable substitution like
+ // {"EXECUTABLE_NAME", "PrenotCalculator"}
+ map<string, string> variable_substitution_map = 3;
+
+ // A reverse-DNS string identifier for this bundle associated with output
+ // binary plist. Overrides the bundle id specified in the CFBundleIdentifier
+ // plist field.
+ optional string primary_bundle_id = 4;
+
+ // A fallback reverse-DNS string identifier for this bundle when bundle
+ // identifier is not specified in primary_bundle_id or an associated plist
+ // file.
+ optional string fallback_bundle_id = 5;
+} \ No newline at end of file