[kpm] kgp-idea-proto: Add .proto definitions for IdeaKpm models
^KT-52568 In Progress
This commit is contained in:
committed by
Space
parent
252c297112
commit
6a520246e5
@@ -0,0 +1,167 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package org.jetbrains.kotlin.kpm.idea.proto;
|
||||
import "proto_idea_kpm_extras.proto";
|
||||
option java_multiple_files = true;
|
||||
|
||||
message IdeaKpmModuleCoordinatesProto {
|
||||
optional string build_id = 1;
|
||||
optional string project_path = 2;
|
||||
optional string project_name = 3;
|
||||
optional string module_name = 4;
|
||||
optional string module_classifier = 5;
|
||||
}
|
||||
|
||||
message IdeaKpmLanguageSettingsProto {
|
||||
optional string language_version = 1;
|
||||
optional string api_version = 2;
|
||||
optional bool is_progressive_mode = 3;
|
||||
repeated string enabled_language_features = 4;
|
||||
repeated string opt_in_annotations_in_use = 5;
|
||||
repeated string compiler_plugin_arguments = 6;
|
||||
repeated string compiler_plugin_classpath = 7;
|
||||
repeated string free_compiler_args = 8;
|
||||
}
|
||||
|
||||
message IdeaKpmSourceDirectoryProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional string absolute_path = 2;
|
||||
optional string type = 3;
|
||||
}
|
||||
|
||||
message IdeaKpmResourceDirectoryProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional string absolute_path = 2;
|
||||
}
|
||||
|
||||
message IdeaKpmBinaryCoordinatesProto {
|
||||
optional string group = 1;
|
||||
optional string module = 2;
|
||||
optional string version = 3;
|
||||
optional string kotlin_module_name = 4;
|
||||
optional string kotlin_fragment_name = 5;
|
||||
}
|
||||
|
||||
message IdeaKpmFragmentCoordinatesProto {
|
||||
optional IdeaKpmModuleCoordinatesProto module = 1;
|
||||
optional string fragment_name = 2;
|
||||
}
|
||||
|
||||
message IdeaKpmDependencyProto {
|
||||
oneof dependency {
|
||||
IdeaKpmUnresolvedBinaryDependencyProto unresolved_binary_dependency = 1;
|
||||
IdeaKpmResolvedBinaryDependencyProto resolved_binary_dependency = 2;
|
||||
IdeaKpmFragmentDependencyProto fragment_dependency = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message IdeaKpmUnresolvedBinaryDependencyProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional IdeaKpmBinaryCoordinatesProto coordinates = 2;
|
||||
optional string cause = 3;
|
||||
}
|
||||
|
||||
message IdeaKpmResolvedBinaryDependencyProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional IdeaKpmBinaryCoordinatesProto coordinates = 2;
|
||||
optional string binary_type = 3;
|
||||
optional string binary_file_absolute_path = 4;
|
||||
}
|
||||
|
||||
message IdeaKpmFragmentDependencyProto {
|
||||
enum Type {
|
||||
REGULAR = 0;
|
||||
FRIEND = 1;
|
||||
REFINES = 2;
|
||||
}
|
||||
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional Type type = 2;
|
||||
optional IdeaKpmFragmentCoordinatesProto coordinates = 3;
|
||||
}
|
||||
|
||||
message IdeaKpmPlatformProto {
|
||||
oneof platform {
|
||||
IdeaKpmJvmPlatformProto jvm = 1;
|
||||
IdeaKpmNativePlatformProto native = 2;
|
||||
IdeaKpmJsPlatformProto js = 3;
|
||||
IdeaKpmWasmPlatformProto wasm = 4;
|
||||
IdeaKpmUnknownPlatformProto unknown = 5;
|
||||
}
|
||||
}
|
||||
|
||||
message IdeaKpmJvmPlatformProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional string jvm_target = 2;
|
||||
}
|
||||
|
||||
message IdeaKpmNativePlatformProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional string konan_target = 2;
|
||||
}
|
||||
|
||||
message IdeaKpmJsPlatformProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional bool isIr = 2 ;
|
||||
}
|
||||
|
||||
message IdeaKpmWasmPlatformProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
}
|
||||
|
||||
message IdeaKpmUnknownPlatformProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
}
|
||||
|
||||
message IdeaKpmFragmentProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional IdeaKpmFragmentCoordinatesProto coordinates = 2;
|
||||
repeated IdeaKpmPlatformProto platforms = 3;
|
||||
optional IdeaKpmLanguageSettingsProto language_settings = 4;
|
||||
repeated IdeaKpmDependencyProto dependencies = 5;
|
||||
repeated IdeaKpmSourceDirectoryProto source_directories = 6;
|
||||
}
|
||||
|
||||
message IdeaKpmCompilationOutputProto {
|
||||
repeated string classes_dirs = 1;
|
||||
optional string resources_dir = 2;
|
||||
}
|
||||
|
||||
message IdeaKpmVariantProto {
|
||||
optional IdeaKpmFragmentProto fragment = 1;
|
||||
optional IdeaKpmPlatformProto platform = 2;
|
||||
map<string, string> variant_attributes = 3;
|
||||
optional IdeaKpmCompilationOutputProto compilation_output = 4;
|
||||
}
|
||||
|
||||
message IdeaKpmModuleProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional IdeaKpmModuleCoordinatesProto coordinates = 2;
|
||||
repeated IdeaKpmFragmentProto fragments = 3;
|
||||
repeated IdeaKpmVariantProto variants = 4;
|
||||
}
|
||||
|
||||
message IdeaKpmProjectProto {
|
||||
optional IdeaKpmExtrasProto extras = 1;
|
||||
optional string gradle_plugin_version = 2;
|
||||
optional string core_libraries_version = 3;
|
||||
optional string explicit_api_mode_cli_option = 4;
|
||||
optional string kotlin_native_home = 5;
|
||||
repeated IdeaKpmModuleProto modules = 6;
|
||||
}
|
||||
|
||||
message IdeaKpmSchemaInfoProto {
|
||||
optional uint32 since_schema_version_major = 1;
|
||||
optional uint32 since_schema_version_minor = 2;
|
||||
optional uint32 since_schema_version_patch = 3;
|
||||
optional string message = 4;
|
||||
}
|
||||
|
||||
message IdeaKpmContainerProto {
|
||||
optional uint32 schema_version_major = 1;
|
||||
optional uint32 schema_version_minor = 2;
|
||||
optional uint32 schema_version_patch = 3;
|
||||
repeated IdeaKpmSchemaInfoProto schema_infos = 4;
|
||||
|
||||
optional IdeaKpmProjectProto project = 24;
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package org.jetbrains.kotlin.kpm.idea.proto;
|
||||
option java_multiple_files = true;
|
||||
|
||||
message IdeaKpmExtrasProto {
|
||||
map<string, bytes> values = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user