|  | // Copyright 2020 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 = "proto3"; | 
|  |  | 
|  | package xcode_config; | 
|  |  | 
|  | option java_package = "com.google.devtools.build.lib.xcode.proto"; | 
|  |  | 
|  | // Information about a single Xcode version. | 
|  | message XcodeVersionInfo { | 
|  | // The canonical version number for this Xcode. | 
|  | string version = 1; | 
|  |  | 
|  | // The aliases for this version, if present. | 
|  | repeated string aliases = 2; | 
|  |  | 
|  | // Next ID: 3 | 
|  | } | 
|  |  | 
|  | // Information about the Xcode config, its dependencies and the selected Xcode. | 
|  | message XcodeConfigRuleInfo { | 
|  | enum Availability { | 
|  | UNKNOWN = 0; | 
|  | LOCAL = 1; | 
|  | REMOTE = 2; | 
|  | BOTH = 3; | 
|  | } | 
|  |  | 
|  | // The Xcode version selected from this configuration to be used in the build. | 
|  | string selected_version = 1; | 
|  |  | 
|  | // The availability of the selected Xcode version. | 
|  | Availability selected_version_availability = 2; | 
|  |  | 
|  | // The explicitly listed (location-agnostic) Xcode versions in this | 
|  | // config, if there are any. A config will have either explicit versions or | 
|  | // both local and remote versions. | 
|  | repeated XcodeVersionInfo explicit_versions = 3; | 
|  |  | 
|  | // The remote Xcode versions in this config, if there are any. | 
|  | repeated XcodeVersionInfo remote_versions = 4; | 
|  |  | 
|  | // The local Xcode versions in this config, if there are any. | 
|  | repeated XcodeVersionInfo local_versions = 5; | 
|  |  | 
|  | // The mutually available Xcode versions in this config, if there are any. | 
|  | repeated XcodeVersionInfo mutual_versions = 6; | 
|  |  | 
|  | // The default version of this Xcode config (explicit or local). | 
|  | string default_version = 7; | 
|  |  | 
|  | // The value of the --xcode_version flag, if set. | 
|  | string xcode_version_flag = 8; | 
|  |  | 
|  | // Next ID: 9 | 
|  | } |