blob: 63d4d2ed402ed8261f273ac54fb52fb965239bcf [file] [log] [blame]
package org.jetbrains.javac;
option java_package = "org.jetbrains.jps.javac";
option optimize_for = LITE_RUNTIME;
message Message {
message UUID {
required sint64 most_sig_bits = 1;
required sint64 least_sig_bits = 2;
}
enum Type {
REQUEST = 1;
RESPONSE = 2;
FAILURE = 3;
}
message Failure {
optional int32 error_code = 1;
optional string description = 2;
optional string stacktrace = 3;
}
message Request {
enum Type {
COMPILE = 1;
CANCEL = 2;
SHUTDOWN = 3;
}
message OutputGroup {
required string output_root = 1;
repeated string source_root = 2;
}
required Type request_type = 1;
repeated string option = 2;
repeated string file = 3;
repeated string platform_classpath = 4;
repeated string classpath = 5;
repeated string sourcepath = 6;
repeated OutputGroup output = 7;
}
message Response {
enum Type {
BUILD_MESSAGE = 1;
OUTPUT_OBJECT = 2;
CLASS_DATA = 3;
BUILD_COMPLETED = 4;
REQUEST_ACK = 5;
SRC_FILE_LOADED = 6;
}
message CompileMessage {
enum Kind {
ERROR = 1;
WARNING = 2;
MANDATORY_WARNING = 3;
NOTE = 4;
OTHER = 5;
STD_OUT = 6;
}
required Kind kind = 1;
optional string text = 2;
optional string source_uri = 3;
optional uint64 problem_begin_offset = 4;
optional uint64 problem_end_offset = 5;
optional uint64 problem_location_offset = 6;
optional uint64 line = 7;
optional uint64 column = 8;
}
message OutputObject {
enum Kind {
SOURCE = 1;
CLASS = 2;
HTML = 3;
OTHER = 4;
}
required Kind kind = 1;
required string file_path = 2;
optional string output_root = 3;
optional string relative_path = 4;
optional string class_name = 5;
optional string source_uri = 6;
optional bytes content = 7;
}
message ClassData {
required string class_name = 1;
repeated string import_statement = 2;
repeated string static_import = 3;
repeated string identifier = 4;
}
required Type response_type = 1;
optional CompileMessage compile_message = 2;
optional OutputObject output_object = 3;
optional ClassData class_data = 4;
optional bool completion_status = 5;
}
required UUID session_id = 1;
required Type message_type = 2;
optional Request request = 3;
optional Response response = 4;
optional Failure failure = 5;
}