| // 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 ArtifactLocation exported_header = 2; |
| |
| 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; |
| } |
| |
| 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 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; |
| } |
| |
| string label = 1; |
| Kind kind = 2; |
| // 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; |
| } |