diff options
author | Googler <noreply@google.com> | 2015-12-08 20:27:30 +0000 |
---|---|---|
committer | David Chen <dzc@google.com> | 2015-12-08 22:26:51 +0000 |
commit | 8ca78e61630f525d1f97c711952208efd14606f8 (patch) | |
tree | 9f12783d3354c8f1ef53b04e4da345249bc5a62e /src/main/protobuf/plmerge.proto | |
parent | dfa6368490224a2f98d967736cef5803a82c3989 (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.proto | 48 |
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 |