| // Copyright 2016 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"; |
| |
| // option java_api_version = 2; |
| |
| package xml; |
| |
| option java_package = "com.google.devtools.build.android.proto"; |
| |
| // A header message describing information about the rest of the message stream, |
| // It will be the first message in a buffer that contain these messages. |
| // See com.google.devtools.build.android.AndroidDataSerializer for details on |
| // how these messages are used. |
| message Header { |
| // The number of entries stored in a serialized buffer. |
| optional uint32 entry_count = 1; |
| // The number of ProtoSource entries. |
| optional uint32 source_count = 2; |
| } |
| |
| // The serialized format for a DataKey. |
| message DataKey { |
| // Used for both the FullyQualifiedName name and RelativeAssetPath path |
| optional string key_value = 2; |
| // The resource type for FullyQualifiedNames |
| optional string resource_type = 3; |
| optional string key_package = 4; |
| repeated string qualifiers = 5; |
| // The size of the associated value. Useful for calculating an offset. |
| // Required |
| optional int32 value_size = 6; |
| // Whether this DataKey is a reference to another DataKey. |
| optional bool reference = 7; |
| } |
| |
| // The serialized format for a DataValue. |
| message DataValue { |
| // The index of the ProtoSource in the source table section. |
| // Required |
| optional uint32 source_id = 1; |
| |
| // If xml_value is defined it's an xml value, otherwise, it's a file value. |
| optional DataValueXml xml_value= 2; |
| } |
| |
| // A container for all the source information to be persisted. |
| message ProtoSource { |
| // Required |
| optional string filename = 1; |
| // The indexes of sources this source replaces. |
| repeated uint32 overwritten = 2; |
| } |
| |
| // The container for a serialized xml value. |
| message DataValueXml { |
| enum XmlType { |
| ARRAY = 0; |
| ATTR = 1; |
| ID = 2; |
| PLURAL = 3; |
| PUBLIC = 4; |
| SIMPLE = 5; |
| STYLEABLE = 6; |
| STYLE = 7; |
| RESOURCES_ATTRIBUTE = 8; |
| } |
| |
| optional XmlType type = 1; |
| map<string, string> mapped_string_value = 2; |
| map<string, DataValueXml> mapped_xml_value = 3; |
| repeated string list_value = 4; |
| optional string value = 5; |
| optional string value_type = 6; |
| repeated DataKey references = 7; |
| map<string, string> attribute = 8; |
| map<string, string> namespace = 9; |
| } |
| |
| // Container for serialized attributes. |
| message ToolAttributes { |
| message ToolAttributeValues { |
| repeated string values = 1; |
| } |
| map<string, ToolAttributeValues> attributes = 1; |
| } |