// 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; // path from the execution root to the actual root: // exec_root + root_execution_path_fragment + relative_path = absolute_path string root_execution_path_fragment = 4; // whether this artifact comes from an external repository (bazel only) bool is_external = 5; // The contents of relative_path and root_execution_path_fragment have changed // for external workspaces. This is a temporary field to distinguish between // the two versions. bool is_new_external_version = 6; } 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; string main_class = 7; } 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; repeated string aspect_ids = 3; } 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; // Next available: 22 }