// 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 = "proto3"; package blaze; option java_package = "com.google.devtools.build.lib.ideinfo.androidstudio"; option java_generate_equals_and_hash = true; message ArtifactLocation { // deprecated -- this is not machine agnostic and will be removed in a future release string root_path = 1 [deprecated=true]; string relative_path = 2; bool is_source = 3; // set for derived artifacts (is_source = false) string root_execution_path_fragment = 4; } message LibraryArtifact { ArtifactLocation jar = 1; ArtifactLocation interface_jar = 2; ArtifactLocation source_jar = 3; } message JavaRuleIdeInfo { repeated LibraryArtifact jars = 1; repeated LibraryArtifact generated_jars = 2; ArtifactLocation package_manifest = 3; repeated ArtifactLocation sources = 4; ArtifactLocation jdeps = 5; } message CRuleIdeInfo { repeated ArtifactLocation source = 1; repeated string transitive_include_directory = 3; repeated string transitive_quote_include_directory = 4; repeated string transitive_define = 5; repeated string transitive_system_include_directory = 6; repeated string rule_copt = 7; repeated string rule_define = 8; repeated string rule_include = 9; } message AndroidRuleIdeInfo { repeated ArtifactLocation resources = 1; ArtifactLocation apk = 3; repeated ArtifactLocation dependency_apk = 4; ArtifactLocation manifest = 5; string java_package = 7; bool has_idl_sources = 8; LibraryArtifact idl_jar = 9; bool generate_resource_class = 10; string legacy_resources = 11; LibraryArtifact resource_jar = 12; } message CToolchainIdeInfo { string target_name = 1; repeated string base_compiler_option = 2; repeated string cpp_option = 3; repeated string c_option = 4; string preprocessor_executable = 5; string cpp_executable = 6; repeated string link_option = 7; repeated string built_in_include_directory = 8; repeated string unfiltered_compiler_option = 9; } message ProtoLibraryLegacyJavaIdeInfo { enum ApiFlavor { NONE = 0; IMMUTABLE = 1; MUTABLE = 2; BOTH = 3; } int32 api_version = 1; ApiFlavor api_flavor = 2; repeated LibraryArtifact jars1 = 3; repeated LibraryArtifact jars_mutable = 4; repeated LibraryArtifact jars_immutable = 5; } message TestInfo { string size = 1; } message JavaToolchainIdeInfo { string source_version = 1; string target_version = 2; } message RuleIdeInfo { enum Kind { ANDROID_BINARY = 0; ANDROID_LIBRARY = 1; ANDROID_TEST = 2; ANDROID_ROBOELECTRIC_TEST = 3; JAVA_LIBRARY = 4; JAVA_TEST = 5; JAVA_IMPORT = 6; JAVA_BINARY = 7; PROTO_LIBRARY = 8; ANDROID_SDK = 9; JAVA_PLUGIN = 10; ANDROID_RESOURCES = 11; CC_LIBRARY = 12; CC_BINARY = 13; CC_TEST = 14; CC_INC_LIBRARY = 15; CC_TOOLCHAIN = 16; JAVA_WRAP_CC = 17; } string label = 1; Kind kind = 2 [deprecated=true]; // deprecated -- this is not machine agnostic and will be removed in a future release string build_file = 3 [deprecated=true]; repeated string dependencies = 4; // kind is one of {JAVA,ANDROID}_{LIBRARY,BINARY,TEST} and JAVA_IMPORT JavaRuleIdeInfo java_rule_ide_info = 7; AndroidRuleIdeInfo android_rule_ide_info = 8; repeated string tags = 9; repeated string runtime_deps = 10; ArtifactLocation build_file_artifact_location = 11; CRuleIdeInfo c_rule_ide_info = 12; CToolchainIdeInfo c_toolchain_ide_info = 13; string kind_string = 14; TestInfo test_info = 15; ProtoLibraryLegacyJavaIdeInfo proto_library_legacy_java_ide_info = 16; JavaToolchainIdeInfo java_toolchain_ide_info = 17; }