// 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 mapped_string_value = 2; map mapped_xml_value = 3; repeated string list_value = 4; optional string value = 5; optional string value_type = 6; repeated DataKey references = 7; map attribute = 8; map namespace = 9; } // Container for serialized attributes. message ToolAttributes { message ToolAttributeValues { repeated string values = 1; } map attributes = 1; }