| // 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.intellij.ideinfo"; |
| |
| message ArtifactLocation { |
| 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 JavaIdeInfo { |
| repeated LibraryArtifact jars = 1; |
| repeated LibraryArtifact generated_jars = 2; |
| ArtifactLocation package_manifest = 3; |
| repeated ArtifactLocation sources = 4; |
| ArtifactLocation jdeps = 5; |
| LibraryArtifact filtered_gen_jar = 6; |
| } |
| |
| message CIdeInfo { |
| 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 target_copt = 7; |
| repeated string target_define = 8; |
| repeated string target_include = 9; |
| } |
| |
| message AndroidIdeInfo { |
| 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; |
| string idl_import_root = 13; |
| } |
| |
| message PyIdeInfo { |
| repeated ArtifactLocation sources = 1; |
| } |
| |
| 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 TargetKey { |
| string label = 1; |
| string aspect_id = 2; |
| } |
| |
| message Dependency { |
| enum DependencyType { |
| COMPILE_TIME = 0; |
| RUNTIME = 1; |
| } |
| |
| TargetKey target = 1; |
| DependencyType dependency_type = 2; |
| } |
| |
| message TargetIdeInfo { |
| string label = 1 [deprecated = true]; |
| repeated string dependencies = 4 [deprecated = true]; |
| |
| // kind is one of {JAVA,ANDROID}_{LIBRARY,BINARY,TEST} and JAVA_IMPORT |
| JavaIdeInfo java_ide_info = 7; |
| AndroidIdeInfo android_ide_info = 8; |
| |
| repeated string tags = 9; |
| repeated string runtime_deps = 10 [deprecated = true]; |
| |
| ArtifactLocation build_file_artifact_location = 11; |
| |
| CIdeInfo c_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; |
| |
| PyIdeInfo py_ide_info = 18; |
| |
| TargetKey key = 19; |
| |
| repeated Dependency deps = 20; |
| } |