blob: 62979e3404945becbf78d55fcecb3c6f709f9470 [file] [log] [blame]
Damien Martin-Guillerezf88f4d82015-09-25 13:56:55 +00001// Copyright 2015 The Bazel Authors. All rights reserved.
Dmitry Lomov9d0f9142015-09-01 17:56:32 +00002//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package blaze;
18
19
Googler4f3d7782016-11-29 05:52:16 +000020option java_package = "com.google.devtools.intellij.ideinfo";
Googler4bb274912015-11-04 20:17:17 +000021
Dmitry Lomov9d0f9142015-09-01 17:56:32 +000022message ArtifactLocation {
Dmitry Lomov9d0f9142015-09-01 17:56:32 +000023 string relative_path = 2;
Googlerbf95c002015-10-10 15:56:57 +000024 bool is_source = 3;
Googler3f80c722016-02-16 15:25:28 +000025
Dmitry Lomovb14c24b2016-02-19 19:39:26 +000026 // set for derived artifacts (is_source = false)
Googler3f80c722016-02-16 15:25:28 +000027 string root_execution_path_fragment = 4;
Dmitry Lomov9d0f9142015-09-01 17:56:32 +000028}
29
30message LibraryArtifact {
31 ArtifactLocation jar = 1;
32 ArtifactLocation interface_jar = 2;
33 ArtifactLocation source_jar = 3;
34}
35
Googler4f3d7782016-11-29 05:52:16 +000036message JavaIdeInfo {
Dmitry Lomov9d0f9142015-09-01 17:56:32 +000037 repeated LibraryArtifact jars = 1;
38 repeated LibraryArtifact generated_jars = 2;
39 ArtifactLocation package_manifest = 3;
Dmitry Lomov745e4192015-09-09 12:00:07 +000040 repeated ArtifactLocation sources = 4;
Googlerea16e102016-02-04 18:00:33 +000041 ArtifactLocation jdeps = 5;
Googler6b4b2692016-09-02 23:01:04 +000042 LibraryArtifact filtered_gen_jar = 6;
Dmitry Lomov745e4192015-09-09 12:00:07 +000043}
44
Googler4f3d7782016-11-29 05:52:16 +000045message CIdeInfo {
Googlerbb2f0712016-03-18 17:33:12 +000046 repeated ArtifactLocation source = 1;
Googlerbb2f0712016-03-18 17:33:12 +000047
48 repeated string transitive_include_directory = 3;
49 repeated string transitive_quote_include_directory = 4;
50 repeated string transitive_define = 5;
51 repeated string transitive_system_include_directory = 6;
52
Googler4f3d7782016-11-29 05:52:16 +000053 repeated string target_copt = 7;
54 repeated string target_define = 8;
55 repeated string target_include = 9;
Googlerbb2f0712016-03-18 17:33:12 +000056}
57
Googler4f3d7782016-11-29 05:52:16 +000058message AndroidIdeInfo {
Dmitry Lomov590767e2015-09-22 11:58:30 +000059 repeated ArtifactLocation resources = 1;
Dmitry Lomov590767e2015-09-22 11:58:30 +000060 ArtifactLocation apk = 3;
61 repeated ArtifactLocation dependency_apk = 4;
Dmitry Lomov1dbbd3c2016-02-23 19:30:26 +000062 ArtifactLocation manifest = 5;
Dmitry Lomov590767e2015-09-22 11:58:30 +000063 string java_package = 7;
64 bool has_idl_sources = 8;
Googler22616ae2015-09-26 20:35:57 +000065 LibraryArtifact idl_jar = 9;
Googlerd59c7612015-11-18 21:35:09 +000066 bool generate_resource_class = 10;
Googlerc50182c2016-03-08 22:37:22 +000067 string legacy_resources = 11;
Googlerba323b92016-06-03 05:25:21 +000068 LibraryArtifact resource_jar = 12;
Googler23d6f632016-09-29 18:44:50 +000069 string idl_import_root = 13;
Dmitry Lomov590767e2015-09-22 11:58:30 +000070}
71
Googler4f3d7782016-11-29 05:52:16 +000072message PyIdeInfo {
Googler5c060d32016-11-04 13:17:18 +000073 repeated ArtifactLocation sources = 1;
74}
75
Googlerbb2f0712016-03-18 17:33:12 +000076message CToolchainIdeInfo {
77 string target_name = 1;
78 repeated string base_compiler_option = 2;
79 repeated string cpp_option = 3;
80 repeated string c_option = 4;
81 string preprocessor_executable = 5;
82 string cpp_executable = 6;
83 repeated string link_option = 7;
84 repeated string built_in_include_directory = 8;
85 repeated string unfiltered_compiler_option = 9;
86}
87
Googler243c6f22016-05-20 17:59:11 +000088message ProtoLibraryLegacyJavaIdeInfo {
89 enum ApiFlavor {
90 NONE = 0;
91 IMMUTABLE = 1;
92 MUTABLE = 2;
93 BOTH = 3;
94 }
95
96 int32 api_version = 1;
97 ApiFlavor api_flavor = 2;
98 repeated LibraryArtifact jars1 = 3;
99 repeated LibraryArtifact jars_mutable = 4;
100 repeated LibraryArtifact jars_immutable = 5;
101}
102
Googler9e2994b2016-05-05 20:50:00 +0000103message TestInfo {
104 string size = 1;
105}
106
Googler39493f82016-06-02 13:28:01 +0000107message JavaToolchainIdeInfo {
108 string source_version = 1;
109 string target_version = 2;
110}
111
Googler3c7530a2016-12-01 17:51:01 +0000112message TargetKey {
Dmitry Lomov9d0f9142015-09-01 17:56:32 +0000113 string label = 1;
Googler3c7530a2016-12-01 17:51:01 +0000114 string aspect_id = 2;
115}
116
117message Dependency {
118 enum DependencyType {
119 COMPILE_TIME = 0;
120 RUNTIME = 1;
121 }
122
123 TargetKey target = 1;
124 DependencyType dependency_type = 2;
125}
126
127message TargetIdeInfo {
128 string label = 1 [deprecated = true];
129 repeated string dependencies = 4 [deprecated = true];
Dmitry Lomov745e4192015-09-09 12:00:07 +0000130
Dmitry Lomov590767e2015-09-22 11:58:30 +0000131 // kind is one of {JAVA,ANDROID}_{LIBRARY,BINARY,TEST} and JAVA_IMPORT
Googler4f3d7782016-11-29 05:52:16 +0000132 JavaIdeInfo java_ide_info = 7;
133 AndroidIdeInfo android_ide_info = 8;
Googler4a0f1b62015-09-30 20:50:14 +0000134
135 repeated string tags = 9;
Googler3c7530a2016-12-01 17:51:01 +0000136 repeated string runtime_deps = 10 [deprecated = true];
Googler3f80c722016-02-16 15:25:28 +0000137
138 ArtifactLocation build_file_artifact_location = 11;
Googlerbb2f0712016-03-18 17:33:12 +0000139
Googler4f3d7782016-11-29 05:52:16 +0000140 CIdeInfo c_ide_info = 12;
Googlerbb2f0712016-03-18 17:33:12 +0000141 CToolchainIdeInfo c_toolchain_ide_info = 13;
Googlerf5700b62016-04-13 16:51:13 +0000142
143 string kind_string = 14;
Googler9e2994b2016-05-05 20:50:00 +0000144
145 TestInfo test_info = 15;
Googler243c6f22016-05-20 17:59:11 +0000146
147 ProtoLibraryLegacyJavaIdeInfo proto_library_legacy_java_ide_info = 16;
Googler39493f82016-06-02 13:28:01 +0000148 JavaToolchainIdeInfo java_toolchain_ide_info = 17;
Googler5c060d32016-11-04 13:17:18 +0000149
Googler4f3d7782016-11-29 05:52:16 +0000150 PyIdeInfo py_ide_info = 18;
Googler3c7530a2016-12-01 17:51:01 +0000151
152 TargetKey key = 19;
153
154 repeated Dependency deps = 20;
Dmitry Lomov9d0f9142015-09-01 17:56:32 +0000155}