diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProto.java b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProto.java
new file mode 100644
index 00000000000..85bf42d7e08
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProto.java
@@ -0,0 +1,889 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto_tcs.proto
+
+package org.jetbrains.kotlin.gradle.idea.proto.generated.tcs;
+
+/**
+ * Protobuf type {@code org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto}
+ */
+public final class IdeaKotlinBinaryCapabilityProto extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)
+ IdeaKotlinBinaryCapabilityProtoOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use IdeaKotlinBinaryCapabilityProto.newBuilder() to construct.
+ private IdeaKotlinBinaryCapabilityProto(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private IdeaKotlinBinaryCapabilityProto() {
+ group_ = "";
+ name_ = "";
+ version_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new IdeaKotlinBinaryCapabilityProto();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ProtoTcs.internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ProtoTcs.internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.class, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int GROUP_FIELD_NUMBER = 1;
+ private volatile java.lang.Object group_;
+ /**
+ * optional string group = 1;
+ * @return Whether the group field is set.
+ */
+ @java.lang.Override
+ public boolean hasGroup() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * optional string group = 1;
+ * @return The group.
+ */
+ @java.lang.Override
+ public java.lang.String getGroup() {
+ java.lang.Object ref = group_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ group_ = s;
+ return s;
+ }
+ }
+ /**
+ * optional string group = 1;
+ * @return The bytes for group.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getGroupBytes() {
+ java.lang.Object ref = group_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ group_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int NAME_FIELD_NUMBER = 2;
+ private volatile java.lang.Object name_;
+ /**
+ * optional string name = 2;
+ * @return Whether the name field is set.
+ */
+ @java.lang.Override
+ public boolean hasName() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional string name = 2;
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * optional string name = 2;
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int VERSION_FIELD_NUMBER = 3;
+ private volatile java.lang.Object version_;
+ /**
+ * optional string version = 3;
+ * @return Whether the version field is set.
+ */
+ @java.lang.Override
+ public boolean hasVersion() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * optional string version = 3;
+ * @return The version.
+ */
+ @java.lang.Override
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ }
+ }
+ /**
+ * optional string version = 3;
+ * @return The bytes for version.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, group_);
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, version_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, group_);
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, version_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)) {
+ return super.equals(obj);
+ }
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto other = (org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) obj;
+
+ if (hasGroup() != other.hasGroup()) return false;
+ if (hasGroup()) {
+ if (!getGroup()
+ .equals(other.getGroup())) return false;
+ }
+ if (hasName() != other.hasName()) return false;
+ if (hasName()) {
+ if (!getName()
+ .equals(other.getName())) return false;
+ }
+ if (hasVersion() != other.hasVersion()) return false;
+ if (hasVersion()) {
+ if (!getVersion()
+ .equals(other.getVersion())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasGroup()) {
+ hash = (37 * hash) + GROUP_FIELD_NUMBER;
+ hash = (53 * hash) + getGroup().hashCode();
+ }
+ if (hasName()) {
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ }
+ if (hasVersion()) {
+ hash = (37 * hash) + VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + getVersion().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ProtoTcs.internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ProtoTcs.internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.class, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder.class);
+ }
+
+ // Construct using org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.newBuilder()
+ private Builder() {
+
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ group_ = "";
+ bitField0_ = (bitField0_ & ~0x00000001);
+ name_ = "";
+ bitField0_ = (bitField0_ & ~0x00000002);
+ version_ = "";
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ProtoTcs.internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor;
+ }
+
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getDefaultInstanceForType() {
+ return org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto build() {
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto buildPartial() {
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto result = new org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.group_ = group_;
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.name_ = name_;
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.version_ = version_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
+ return mergeFrom((org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto other) {
+ if (other == org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.getDefaultInstance()) return this;
+ if (other.hasGroup()) {
+ bitField0_ |= 0x00000001;
+ group_ = other.group_;
+ onChanged();
+ }
+ if (other.hasName()) {
+ bitField0_ |= 0x00000002;
+ name_ = other.name_;
+ onChanged();
+ }
+ if (other.hasVersion()) {
+ bitField0_ |= 0x00000004;
+ version_ = other.version_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10: {
+ group_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 10
+ case 18: {
+ name_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 18
+ case 26: {
+ version_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000004;
+ break;
+ } // case 26
+ default: {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object group_ = "";
+ /**
+ * optional string group = 1;
+ * @return Whether the group field is set.
+ */
+ public boolean hasGroup() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * optional string group = 1;
+ * @return The group.
+ */
+ public java.lang.String getGroup() {
+ java.lang.Object ref = group_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ group_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string group = 1;
+ * @return The bytes for group.
+ */
+ public com.google.protobuf.ByteString
+ getGroupBytes() {
+ java.lang.Object ref = group_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ group_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string group = 1;
+ * @param value The group to set.
+ * @return This builder for chaining.
+ */
+ public Builder setGroup(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ group_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string group = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearGroup() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ group_ = getDefaultInstance().getGroup();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string group = 1;
+ * @param value The bytes for group to set.
+ * @return This builder for chaining.
+ */
+ public Builder setGroupBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ bitField0_ |= 0x00000001;
+ group_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * optional string name = 2;
+ * @return Whether the name field is set.
+ */
+ public boolean hasName() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional string name = 2;
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string name = 2;
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string name = 2;
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string name = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string name = 2;
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ bitField0_ |= 0x00000002;
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object version_ = "";
+ /**
+ * optional string version = 3;
+ * @return Whether the version field is set.
+ */
+ public boolean hasVersion() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * optional string version = 3;
+ * @return The version.
+ */
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string version = 3;
+ * @return The bytes for version.
+ */
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string version = 3;
+ * @param value The version to set.
+ * @return This builder for chaining.
+ */
+ public Builder setVersion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ version_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string version = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearVersion() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ version_ = getDefaultInstance().getVersion();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string version = 3;
+ * @param value The bytes for version to set.
+ * @return This builder for chaining.
+ */
+ public Builder setVersionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ bitField0_ |= 0x00000004;
+ version_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)
+ }
+
+ // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)
+ private static final org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto();
+ }
+
+ public static org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public IdeaKotlinBinaryCapabilityProto parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoOrBuilder.java b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoOrBuilder.java
new file mode 100644
index 00000000000..95132a27de7
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoOrBuilder.java
@@ -0,0 +1,60 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto_tcs.proto
+
+package org.jetbrains.kotlin.gradle.idea.proto.generated.tcs;
+
+public interface IdeaKotlinBinaryCapabilityProtoOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * optional string group = 1;
+ * @return Whether the group field is set.
+ */
+ boolean hasGroup();
+ /**
+ * optional string group = 1;
+ * @return The group.
+ */
+ java.lang.String getGroup();
+ /**
+ * optional string group = 1;
+ * @return The bytes for group.
+ */
+ com.google.protobuf.ByteString
+ getGroupBytes();
+
+ /**
+ * optional string name = 2;
+ * @return Whether the name field is set.
+ */
+ boolean hasName();
+ /**
+ * optional string name = 2;
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * optional string name = 2;
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * optional string version = 3;
+ * @return Whether the version field is set.
+ */
+ boolean hasVersion();
+ /**
+ * optional string version = 3;
+ * @return The version.
+ */
+ java.lang.String getVersion();
+ /**
+ * optional string version = 3;
+ * @return The bytes for version.
+ */
+ com.google.protobuf.ByteString
+ getVersionBytes();
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProto.java b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProto.java
index acb352bdc2f..48a1ec3c3c2 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProto.java
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProto.java
@@ -20,6 +20,7 @@ private static final long serialVersionUID = 0L;
module_ = "";
version_ = "";
sourceSetName_ = "";
+ capabilities_ = java.util.Collections.emptyList();
}
@java.lang.Override
@@ -232,6 +233,46 @@ private static final long serialVersionUID = 0L;
}
}
+ public static final int CAPABILITIES_FIELD_NUMBER = 5;
+ private java.util.List capabilities_;
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @java.lang.Override
+ public java.util.List getCapabilitiesList() {
+ return capabilities_;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @java.lang.Override
+ public java.util.List extends org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder>
+ getCapabilitiesOrBuilderList() {
+ return capabilities_;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @java.lang.Override
+ public int getCapabilitiesCount() {
+ return capabilities_.size();
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getCapabilities(int index) {
+ return capabilities_.get(index);
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @java.lang.Override
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder getCapabilitiesOrBuilder(
+ int index) {
+ return capabilities_.get(index);
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@@ -258,6 +299,9 @@ private static final long serialVersionUID = 0L;
if (((bitField0_ & 0x00000008) != 0)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, sourceSetName_);
}
+ for (int i = 0; i < capabilities_.size(); i++) {
+ output.writeMessage(5, capabilities_.get(i));
+ }
getUnknownFields().writeTo(output);
}
@@ -279,6 +323,10 @@ private static final long serialVersionUID = 0L;
if (((bitField0_ & 0x00000008) != 0)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, sourceSetName_);
}
+ for (int i = 0; i < capabilities_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, capabilities_.get(i));
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -314,6 +362,8 @@ private static final long serialVersionUID = 0L;
if (!getSourceSetName()
.equals(other.getSourceSetName())) return false;
}
+ if (!getCapabilitiesList()
+ .equals(other.getCapabilitiesList())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -341,6 +391,10 @@ private static final long serialVersionUID = 0L;
hash = (37 * hash) + SOURCE_SET_NAME_FIELD_NUMBER;
hash = (53 * hash) + getSourceSetName().hashCode();
}
+ if (getCapabilitiesCount() > 0) {
+ hash = (37 * hash) + CAPABILITIES_FIELD_NUMBER;
+ hash = (53 * hash) + getCapabilitiesList().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -477,6 +531,13 @@ private static final long serialVersionUID = 0L;
bitField0_ = (bitField0_ & ~0x00000004);
sourceSetName_ = "";
bitField0_ = (bitField0_ & ~0x00000008);
+ if (capabilitiesBuilder_ == null) {
+ capabilities_ = java.util.Collections.emptyList();
+ } else {
+ capabilities_ = null;
+ capabilitiesBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
return this;
}
@@ -521,6 +582,15 @@ private static final long serialVersionUID = 0L;
to_bitField0_ |= 0x00000008;
}
result.sourceSetName_ = sourceSetName_;
+ if (capabilitiesBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) != 0)) {
+ capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
+ bitField0_ = (bitField0_ & ~0x00000010);
+ }
+ result.capabilities_ = capabilities_;
+ } else {
+ result.capabilities_ = capabilitiesBuilder_.build();
+ }
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@@ -590,6 +660,32 @@ private static final long serialVersionUID = 0L;
sourceSetName_ = other.sourceSetName_;
onChanged();
}
+ if (capabilitiesBuilder_ == null) {
+ if (!other.capabilities_.isEmpty()) {
+ if (capabilities_.isEmpty()) {
+ capabilities_ = other.capabilities_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ } else {
+ ensureCapabilitiesIsMutable();
+ capabilities_.addAll(other.capabilities_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.capabilities_.isEmpty()) {
+ if (capabilitiesBuilder_.isEmpty()) {
+ capabilitiesBuilder_.dispose();
+ capabilitiesBuilder_ = null;
+ capabilities_ = other.capabilities_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ capabilitiesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getCapabilitiesFieldBuilder() : null;
+ } else {
+ capabilitiesBuilder_.addAllMessages(other.capabilities_);
+ }
+ }
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -636,6 +732,19 @@ private static final long serialVersionUID = 0L;
bitField0_ |= 0x00000008;
break;
} // case 34
+ case 42: {
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto m =
+ input.readMessage(
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.parser(),
+ extensionRegistry);
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ capabilities_.add(m);
+ } else {
+ capabilitiesBuilder_.addMessage(m);
+ }
+ break;
+ } // case 42
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
@@ -984,6 +1093,246 @@ private static final long serialVersionUID = 0L;
onChanged();
return this;
}
+
+ private java.util.List capabilities_ =
+ java.util.Collections.emptyList();
+ private void ensureCapabilitiesIsMutable() {
+ if (!((bitField0_ & 0x00000010) != 0)) {
+ capabilities_ = new java.util.ArrayList(capabilities_);
+ bitField0_ |= 0x00000010;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder> capabilitiesBuilder_;
+
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public java.util.List getCapabilitiesList() {
+ if (capabilitiesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(capabilities_);
+ } else {
+ return capabilitiesBuilder_.getMessageList();
+ }
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public int getCapabilitiesCount() {
+ if (capabilitiesBuilder_ == null) {
+ return capabilities_.size();
+ } else {
+ return capabilitiesBuilder_.getCount();
+ }
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getCapabilities(int index) {
+ if (capabilitiesBuilder_ == null) {
+ return capabilities_.get(index);
+ } else {
+ return capabilitiesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder setCapabilities(
+ int index, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto value) {
+ if (capabilitiesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCapabilitiesIsMutable();
+ capabilities_.set(index, value);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder setCapabilities(
+ int index, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder builderForValue) {
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ capabilities_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ capabilitiesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder addCapabilities(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto value) {
+ if (capabilitiesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCapabilitiesIsMutable();
+ capabilities_.add(value);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder addCapabilities(
+ int index, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto value) {
+ if (capabilitiesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCapabilitiesIsMutable();
+ capabilities_.add(index, value);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder addCapabilities(
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder builderForValue) {
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ capabilities_.add(builderForValue.build());
+ onChanged();
+ } else {
+ capabilitiesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder addCapabilities(
+ int index, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder builderForValue) {
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ capabilities_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ capabilitiesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder addAllCapabilities(
+ java.lang.Iterable extends org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto> values) {
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, capabilities_);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder clearCapabilities() {
+ if (capabilitiesBuilder_ == null) {
+ capabilities_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000010);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public Builder removeCapabilities(int index) {
+ if (capabilitiesBuilder_ == null) {
+ ensureCapabilitiesIsMutable();
+ capabilities_.remove(index);
+ onChanged();
+ } else {
+ capabilitiesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder getCapabilitiesBuilder(
+ int index) {
+ return getCapabilitiesFieldBuilder().getBuilder(index);
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder getCapabilitiesOrBuilder(
+ int index) {
+ if (capabilitiesBuilder_ == null) {
+ return capabilities_.get(index); } else {
+ return capabilitiesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public java.util.List extends org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder>
+ getCapabilitiesOrBuilderList() {
+ if (capabilitiesBuilder_ != null) {
+ return capabilitiesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(capabilities_);
+ }
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder addCapabilitiesBuilder() {
+ return getCapabilitiesFieldBuilder().addBuilder(
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.getDefaultInstance());
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder addCapabilitiesBuilder(
+ int index) {
+ return getCapabilitiesFieldBuilder().addBuilder(
+ index, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.getDefaultInstance());
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ public java.util.List
+ getCapabilitiesBuilderList() {
+ return getCapabilitiesFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder>
+ getCapabilitiesFieldBuilder() {
+ if (capabilitiesBuilder_ == null) {
+ capabilitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder, org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder>(
+ capabilities_,
+ ((bitField0_ & 0x00000010) != 0),
+ getParentForChildren(),
+ isClean());
+ capabilities_ = null;
+ }
+ return capabilitiesBuilder_;
+ }
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoOrBuilder.java b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoOrBuilder.java
index c5c12c9b41e..744d84394dc 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoOrBuilder.java
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoOrBuilder.java
@@ -74,4 +74,28 @@ public interface IdeaKotlinBinaryCoordinatesProtoOrBuilder extends
*/
com.google.protobuf.ByteString
getSourceSetNameBytes();
+
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ java.util.List
+ getCapabilitiesList();
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto getCapabilities(int index);
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ int getCapabilitiesCount();
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ java.util.List extends org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder>
+ getCapabilitiesOrBuilderList();
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoOrBuilder getCapabilitiesOrBuilder(
+ int index);
}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/ProtoTcs.java b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/ProtoTcs.java
index 52413b5e9ea..dfed3a95078 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/ProtoTcs.java
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/java/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/ProtoTcs.java
@@ -54,6 +54,11 @@ public final class ProtoTcs {
static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCoordinatesProto_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinSourceCoordinatesProto_descriptor;
static final
@@ -128,17 +133,23 @@ public final class ProtoTcs {
"tlinProjectCoordinatesProto\022\025\n\010build_id\030" +
"\001 \001(\tH\000\210\001\001\022\031\n\014project_path\030\002 \001(\tH\001\210\001\001\022\031\n" +
"\014project_name\030\003 \001(\tH\002\210\001\001B\013\n\t_build_idB\017\n" +
- "\r_project_pathB\017\n\r_project_name\"\264\001\n Idea" +
+ "\r_project_pathB\017\n\r_project_name\"\241\002\n Idea" +
"KotlinBinaryCoordinatesProto\022\022\n\005group\030\001 " +
"\001(\tH\000\210\001\001\022\023\n\006module\030\002 \001(\tH\001\210\001\001\022\024\n\007version" +
"\030\003 \001(\tH\002\210\001\001\022\034\n\017source_set_name\030\004 \001(\tH\003\210\001" +
- "\001B\010\n\006_groupB\t\n\007_moduleB\n\n\010_versionB\022\n\020_s" +
- "ource_set_name\"\317\001\n IdeaKotlinSourceCoord" +
- "inatesProto\022m\n\007project\030\001 \001(\0132W.org.jetbr" +
- "ains.kotlin.gradle.idea.proto.generated." +
- "tcs.IdeaKotlinProjectCoordinatesProtoH\000\210" +
- "\001\001\022\034\n\017source_set_name\030\002 \001(\tH\001\210\001\001B\n\n\010_pro" +
- "jectB\022\n\020_source_set_nameB\002P\001b\006proto3"
+ "\001\022k\n\014capabilities\030\005 \003(\0132U.org.jetbrains." +
+ "kotlin.gradle.idea.proto.generated.tcs.I" +
+ "deaKotlinBinaryCapabilityProtoB\010\n\006_group" +
+ "B\t\n\007_moduleB\n\n\010_versionB\022\n\020_source_set_n" +
+ "ame\"}\n\037IdeaKotlinBinaryCapabilityProto\022\022" +
+ "\n\005group\030\001 \001(\tH\000\210\001\001\022\021\n\004name\030\002 \001(\tH\001\210\001\001\022\024\n" +
+ "\007version\030\003 \001(\tH\002\210\001\001B\010\n\006_groupB\007\n\005_nameB\n" +
+ "\n\010_version\"\317\001\n IdeaKotlinSourceCoordinat" +
+ "esProto\022m\n\007project\030\001 \001(\0132W.org.jetbrains" +
+ ".kotlin.gradle.idea.proto.generated.tcs." +
+ "IdeaKotlinProjectCoordinatesProtoH\000\210\001\001\022\034" +
+ "\n\017source_set_name\030\002 \001(\tH\001\210\001\001B\n\n\010_project" +
+ "B\022\n\020_source_set_nameB\002P\001b\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -192,9 +203,15 @@ public final class ProtoTcs {
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCoordinatesProto_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCoordinatesProto_descriptor,
- new java.lang.String[] { "Group", "Module", "Version", "SourceSetName", "Group", "Module", "Version", "SourceSetName", });
- internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinSourceCoordinatesProto_descriptor =
+ new java.lang.String[] { "Group", "Module", "Version", "SourceSetName", "Capabilities", "Group", "Module", "Version", "SourceSetName", });
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor =
getDescriptor().getMessageTypes().get(8);
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinBinaryCapabilityProto_descriptor,
+ new java.lang.String[] { "Group", "Name", "Version", "Group", "Name", "Version", });
+ internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinSourceCoordinatesProto_descriptor =
+ getDescriptor().getMessageTypes().get(9);
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinSourceCoordinatesProto_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_org_jetbrains_kotlin_gradle_idea_proto_generated_tcs_IdeaKotlinSourceCoordinatesProto_descriptor,
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoKt.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoKt.kt
new file mode 100644
index 00000000000..674a953bb4a
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCapabilityProtoKt.kt
@@ -0,0 +1,101 @@
+//Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto_tcs.proto
+
+package org.jetbrains.kotlin.gradle.idea.proto.generated.tcs;
+
+@kotlin.jvm.JvmName("-initializeideaKotlinBinaryCapabilityProto")
+inline fun ideaKotlinBinaryCapabilityProto(block: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto =
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoKt.Dsl._create(org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.newBuilder()).apply { block() }._build()
+object IdeaKotlinBinaryCapabilityProtoKt {
+ @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
+ @com.google.protobuf.kotlin.ProtoDslMarker
+ class Dsl private constructor(
+ private val _builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder
+ ) {
+ companion object {
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.PublishedApi
+ internal fun _create(builder: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.Builder): Dsl = Dsl(builder)
+ }
+
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.PublishedApi
+ internal fun _build(): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto = _builder.build()
+
+ /**
+ * optional string group = 1;
+ */
+ var group: kotlin.String
+ @JvmName("getGroup")
+ get() = _builder.getGroup()
+ @JvmName("setGroup")
+ set(value) {
+ _builder.setGroup(value)
+ }
+ /**
+ * optional string group = 1;
+ */
+ fun clearGroup() {
+ _builder.clearGroup()
+ }
+ /**
+ * optional string group = 1;
+ * @return Whether the group field is set.
+ */
+ fun hasGroup(): kotlin.Boolean {
+ return _builder.hasGroup()
+ }
+
+ /**
+ * optional string name = 2;
+ */
+ var name: kotlin.String
+ @JvmName("getName")
+ get() = _builder.getName()
+ @JvmName("setName")
+ set(value) {
+ _builder.setName(value)
+ }
+ /**
+ * optional string name = 2;
+ */
+ fun clearName() {
+ _builder.clearName()
+ }
+ /**
+ * optional string name = 2;
+ * @return Whether the name field is set.
+ */
+ fun hasName(): kotlin.Boolean {
+ return _builder.hasName()
+ }
+
+ /**
+ * optional string version = 3;
+ */
+ var version: kotlin.String
+ @JvmName("getVersion")
+ get() = _builder.getVersion()
+ @JvmName("setVersion")
+ set(value) {
+ _builder.setVersion(value)
+ }
+ /**
+ * optional string version = 3;
+ */
+ fun clearVersion() {
+ _builder.clearVersion()
+ }
+ /**
+ * optional string version = 3;
+ * @return Whether the version field is set.
+ */
+ fun hasVersion(): kotlin.Boolean {
+ return _builder.hasVersion()
+ }
+ }
+}
+@kotlin.jvm.JvmSynthetic
+inline fun org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto.copy(block: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoKt.Dsl.() -> kotlin.Unit): org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto =
+ org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProtoKt.Dsl._create(this.toBuilder()).apply { block() }._build()
+
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoKt.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoKt.kt
index 7a92e1e458a..ca586b55f31 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoKt.kt
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/generated/kotlin/org/jetbrains/kotlin/gradle/idea/proto/generated/tcs/IdeaKotlinBinaryCoordinatesProtoKt.kt
@@ -117,6 +117,78 @@ object IdeaKotlinBinaryCoordinatesProtoKt {
fun hasSourceSetName(): kotlin.Boolean {
return _builder.hasSourceSetName()
}
+
+ /**
+ * An uninstantiable, behaviorless type to represent the field in
+ * generics.
+ */
+ @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
+ class CapabilitiesProxy private constructor() : com.google.protobuf.kotlin.DslProxy()
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ val capabilities: com.google.protobuf.kotlin.DslList
+ @kotlin.jvm.JvmSynthetic
+ get() = com.google.protobuf.kotlin.DslList(
+ _builder.getCapabilitiesList()
+ )
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ * @param value The capabilities to add.
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("addCapabilities")
+ fun com.google.protobuf.kotlin.DslList.add(value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
+ _builder.addCapabilities(value)
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ * @param value The capabilities to add.
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("plusAssignCapabilities")
+ @Suppress("NOTHING_TO_INLINE")
+ inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
+ add(value)
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ * @param values The capabilities to add.
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("addAllCapabilities")
+ fun com.google.protobuf.kotlin.DslList.addAll(values: kotlin.collections.Iterable) {
+ _builder.addAllCapabilities(values)
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ * @param values The capabilities to add.
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("plusAssignAllCapabilities")
+ @Suppress("NOTHING_TO_INLINE")
+ inline operator fun com.google.protobuf.kotlin.DslList.plusAssign(values: kotlin.collections.Iterable) {
+ addAll(values)
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ * @param index The index to set the value at.
+ * @param value The capabilities to set.
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("setCapabilities")
+ operator fun com.google.protobuf.kotlin.DslList.set(index: kotlin.Int, value: org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto) {
+ _builder.setCapabilities(index, value)
+ }
+ /**
+ * repeated .org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto capabilities = 5;
+ */
+ @kotlin.jvm.JvmSynthetic
+ @kotlin.jvm.JvmName("clearCapabilities")
+ fun com.google.protobuf.kotlin.DslList.clear() {
+ _builder.clearCapabilities()
+ }
+
}
}
@kotlin.jvm.JvmSynthetic
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapability.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapability.kt
new file mode 100644
index 00000000000..764dd9a230e
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapability.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.gradle.idea.proto.tcs
+
+import org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto
+import org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ideaKotlinBinaryCapabilityProto
+import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCapability
+
+internal fun IdeaKotlinBinaryCapabilityProto(
+ capability: IdeaKotlinBinaryCapability
+): IdeaKotlinBinaryCapabilityProto {
+ return ideaKotlinBinaryCapabilityProto {
+ this.group = capability.group
+ this.name = capability.name
+ capability.version?.let { this.version = it }
+ }
+}
+
+internal fun IdeaKotlinBinaryCapability(proto: IdeaKotlinBinaryCapabilityProto): IdeaKotlinBinaryCapability {
+ return IdeaKotlinBinaryCapability(
+ group = proto.group,
+ name = proto.name,
+ version = if (proto.hasVersion()) proto.version else null,
+ )
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinates.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinates.kt
index 6de1f2f8210..fff3515233c 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinates.kt
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinates.kt
@@ -10,13 +10,16 @@ import org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.ideaKotlinBinaryCoor
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
internal fun IdeaKotlinBinaryCoordinatesProto(
- coordinates: IdeaKotlinBinaryCoordinates
+ coordinates: IdeaKotlinBinaryCoordinates,
): IdeaKotlinBinaryCoordinatesProto {
return ideaKotlinBinaryCoordinatesProto {
this.group = coordinates.group
this.module = coordinates.module
coordinates.version?.let { this.version = it }
coordinates.sourceSetName?.let { this.sourceSetName = it }
+ coordinates.capabilities.forEach { capability ->
+ this.capabilities.add(IdeaKotlinBinaryCapabilityProto(capability))
+ }
}
}
@@ -25,6 +28,7 @@ internal fun IdeaKotlinBinaryCoordinates(proto: IdeaKotlinBinaryCoordinatesProto
group = proto.group,
module = proto.module,
version = if (proto.hasVersion()) proto.version else null,
- sourceSetName = if (proto.hasSourceSetName()) proto.sourceSetName else null
+ sourceSetName = if (proto.hasSourceSetName()) proto.sourceSetName else null,
+ capabilities = proto.capabilitiesList.map(::IdeaKotlinBinaryCapability).toSet()
)
-}
\ No newline at end of file
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/proto/proto_tcs.proto b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/proto/proto_tcs.proto
index 52337e4a5fb..cb411e3bb3b 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/proto/proto_tcs.proto
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/main/proto/proto_tcs.proto
@@ -59,6 +59,13 @@ message IdeaKotlinBinaryCoordinatesProto {
optional string module = 2;
optional string version = 3;
optional string source_set_name = 4;
+ repeated IdeaKotlinBinaryCapabilityProto capabilities = 5;
+}
+
+message IdeaKotlinBinaryCapabilityProto {
+ optional string group = 1;
+ optional string name = 2;
+ optional string version = 3;
}
message IdeaKotlinSourceCoordinatesProto {
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapabilitySerializationTest.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapabilitySerializationTest.kt
new file mode 100644
index 00000000000..5d7748e5f25
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCapabilitySerializationTest.kt
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.gradle.idea.proto.tcs
+
+import org.jetbrains.kotlin.gradle.idea.proto.AbstractSerializationTest
+import org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCapabilityProto
+import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCapability
+import org.junit.Test
+
+class IdeaKotlinBinaryCapabilitySerializationTest : AbstractSerializationTest() {
+ override fun serialize(value: IdeaKotlinBinaryCapability): ByteArray = IdeaKotlinBinaryCapabilityProto(value).toByteArray()
+
+ override fun deserialize(data: ByteArray): IdeaKotlinBinaryCapability =
+ IdeaKotlinBinaryCapability(IdeaKotlinBinaryCapabilityProto.parseFrom(data))
+
+ @Test
+ fun `sample 0`() = testSerialization(
+ IdeaKotlinBinaryCapability(
+ group = "myGroup",
+ name = "myModule",
+ version = "myVersion",
+ )
+ )
+
+ @Test
+ fun `sample 1`() = testSerialization(
+ IdeaKotlinBinaryCapability(
+ group = "myGroup",
+ name = "myModule",
+ version = null,
+ )
+ )
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinatesSerializationTest.kt b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinatesSerializationTest.kt
index f26fd7aeacf..dc6981a0b4c 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinatesSerializationTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/src/test/kotlin/org/jetbrains/kotlin/gradle/idea/proto/tcs/IdeaKotlinBinaryCoordinatesSerializationTest.kt
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.idea.proto.tcs
import org.jetbrains.kotlin.gradle.idea.proto.AbstractSerializationTest
import org.jetbrains.kotlin.gradle.idea.proto.generated.tcs.IdeaKotlinBinaryCoordinatesProto
+import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCapability
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
import org.junit.Test
@@ -45,4 +46,18 @@ class IdeaKotlinBinaryCoordinatesSerializationTest : AbstractSerializationTest (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+ public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability;
+ public static synthetic fun copy$default (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability;
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getGroup ()Ljava/lang/String;
+ public final fun getName ()Ljava/lang/String;
+ public final fun getVersion ()Ljava/lang/String;
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+}
+
public final class org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates : org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependencyCoordinates {
public static final field serialVersionUID J
public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
+ public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;
+ public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;
public static synthetic fun copy$default (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;
+ public static synthetic fun copy$default (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ILjava/lang/Object;)Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates;
public fun equals (Ljava/lang/Object;)Z
+ public final fun getCapabilities ()Ljava/util/Set;
public final fun getGroup ()Ljava/lang/String;
public final fun getModule ()Ljava/lang/String;
public final fun getSourceSetName ()Ljava/lang/String;
diff --git a/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability.kt b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability.kt
new file mode 100644
index 00000000000..2fb78a2742d
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCapability.kt
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.gradle.idea.tcs
+
+import java.io.Serializable
+
+/**
+ * Several variants can be published under a given set of maven coordinates (group, module, version),
+ * Capabilities can classify those variants in a way that e.g. two variants with the same maven coordinates
+ * can be resolved next to each other.
+ *
+ * A classical example for this would be resolving the 'main' (aka 'production') variant alongside
+ * the corresponding "testFixtures".
+ *
+ * See:
+ * - https://docs.gradle.org/current/userguide/feature_variants.html
+ * - https://docs.gradle.org/current/userguide/component_capabilities.html
+ * @since 1.9.20
+ */
+@IdeaKotlinModel
+class IdeaKotlinBinaryCapability(
+ val group: String,
+ val name: String,
+ val version: String?,
+) : Serializable {
+ internal companion object {
+ const val serialVersionUID = 0L
+ }
+
+ override fun toString(): String {
+ return buildString {
+ append("$group:$name")
+ if (version != null) append(":$version")
+ }
+ }
+
+ fun copy(
+ group: String = this.group,
+ name: String = this.name,
+ version: String? = this.version,
+ ): IdeaKotlinBinaryCapability {
+ return IdeaKotlinBinaryCapability(group = group, name = name, version = version)
+ }
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is IdeaKotlinBinaryCapability) return false
+ if (group != other.group) return false
+ if (name != other.name) return false
+ if (version != other.version) return false
+ return true
+ }
+
+ override fun hashCode(): Int {
+ var result = group.hashCode()
+ result = 31 * result + name.hashCode()
+ result = 31 * result + (version?.hashCode() ?: 0)
+ return result
+ }
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependencyCoordinates.kt b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependencyCoordinates.kt
index 59baa538c27..a81f77b5cff 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependencyCoordinates.kt
+++ b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependencyCoordinates.kt
@@ -3,6 +3,8 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
+@file:Suppress("ConstPropertyName", "DeprecatedCallableAddReplaceWith")
+
package org.jetbrains.kotlin.gradle.idea.tcs
import java.io.Serializable
@@ -10,14 +12,174 @@ import java.io.Serializable
@IdeaKotlinModel
sealed interface IdeaKotlinDependencyCoordinates : Serializable
-data class IdeaKotlinBinaryCoordinates(
+class IdeaKotlinBinaryCoordinates(
val group: String,
val module: String,
val version: String?,
val sourceSetName: String? = null,
+
+ /**
+ * @see IdeaKotlinBinaryCapability
+ * @since 1.9.20
+ */
+ val capabilities: Set = emptySet(),
) : IdeaKotlinDependencyCoordinates {
- override fun toString(): String {
- return "$group:$module:$version${sourceSetName?.let { ":$it" }.orEmpty()}"
+
+ constructor(
+ group: String,
+ module: String,
+ version: String?,
+ sourceSetName: String? = null,
+ ) : this(
+ group = group,
+ module = module,
+ version = version,
+ sourceSetName = sourceSetName,
+ capabilities = emptySet()
+ )
+
+
+ /**
+ * String that can be used to identify the coordinates with the following contract:
+ * All coordinates that are equal will have an equal identityString
+ * All coordinates that are not equal will have a non equal identityString
+ *
+ * This, however, shall not be shown to users, as the String is hard to read
+ * The identityString is not stable across Kotlin versions, hence not intended to be parsed.
+ */
+ val identityString = buildString {
+ append("$group:$module")
+ if (version != null) append(":$version")
+ if (capabilities.isNotEmpty()) {
+ append(capabilities.joinToString(", ", "(", ")"))
+ }
+ }
+
+ /**
+ * String intended to be shown to users. E.g. a library within the IDE can use
+ * this String to show the coordinates to a given user.
+ *
+ * This will try to be as useful as possible, implementing a notion of 'classifying capabilities'
+ *
+ * Example, testFixtures from Gradle:
+ * Such testFixtures will be resolved with coordinates like
+ * ```kotlin
+ * IdeaKotlinBinaryCoordinates(
+ * group = "org.jetbrains",
+ * module = "sample",
+ * version = "1.0.0,
+ * capabilities = setOf(
+ * IdeaKotlinBinaryCapability(
+ * group = "org.jetbrains",
+ * name = "sample-test-fixtures, /* <--- See the classifying 'test-fixtures' suffix */
+ * version = "1.0.0"
+ * )
+ * )
+ * )
+ * ```
+ *
+ * Such coordinates will be displayed using their classifiers like
+ * "org.jetbrains:sample-test-fixtures:1.0.0"
+ *
+ */
+ val displayString = run {
+ val classifyingCapabilities = capabilities.filter { capability -> capability.group == group && capability.name.startsWith(module) }
+ when {
+ classifyingCapabilities.size == 1 -> classifyingCapabilities.single().toString()
+ classifyingCapabilities.size > 1 -> buildString {
+ append(group)
+ append(classifyingCapabilities.joinToString(prefix = "(", postfix = ")", separator = ", ") { capability ->
+ capability.name.removePrefix(group)
+ })
+ }
+ else -> buildString {
+ append("$group:$module")
+ if (version != null) append(":$version")
+ if (sourceSetName != null) append(":$sourceSetName")
+ }
+ }
+ }
+
+ override fun toString(): String = displayString
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is IdeaKotlinBinaryCoordinates) return false
+ if (group != other.group) return false
+ if (module != other.module) return false
+ if (version != other.version) return false
+ if (sourceSetName != other.sourceSetName) return false
+ if (capabilities != other.capabilities) return false
+
+ return true
+ }
+
+ override fun hashCode(): Int {
+ var result = group.hashCode()
+ result = 31 * result + module.hashCode()
+ result = 31 * result + (version?.hashCode() ?: 0)
+ result = 31 * result + (sourceSetName?.hashCode() ?: 0)
+ result = 31 * result + capabilities.hashCode()
+ return result
+ }
+
+ /*
+ Keep compatibility with 1.9.0 and lower
+ */
+ fun copy(
+ group: String = this.group,
+ module: String = this.module,
+ version: String? = this.version,
+ sourceSetName: String? = this.sourceSetName,
+ ): IdeaKotlinBinaryCoordinates {
+ return IdeaKotlinBinaryCoordinates(
+ group = group,
+ module = module,
+ version = version,
+ sourceSetName = sourceSetName,
+ capabilities = capabilities
+ )
+ }
+
+ fun copy(
+ group: String = this.group,
+ module: String = this.module,
+ version: String? = this.version,
+ sourceSetName: String? = this.sourceSetName,
+ capabilities: Set = this.capabilities,
+ ): IdeaKotlinBinaryCoordinates {
+ return IdeaKotlinBinaryCoordinates(
+ group = group,
+ module = module,
+ version = version,
+ sourceSetName = sourceSetName,
+ capabilities = capabilities
+ )
+ }
+
+ @Deprecated("Since 1.9.20")
+ operator fun component1(): String = this.group
+
+ @Deprecated("Since 1.9.20")
+ operator fun component2(): String = this.module
+
+ @Deprecated("Since 1.9.20")
+ operator fun component3(): String? = this.version
+
+ @Deprecated("Since 1.9.20")
+ operator fun component4(): String? = this.sourceSetName
+
+ /**
+ * In order to keep java.io.Serializable implementation backwards compatible:
+ * 'capabilities' was added in 1.9.20. If a binary produced before 1.9.20 gets deserialized, then 'capabilities'
+ * will be 'null'. In this case we use the 'copy' function to provide an instance that will have an emptySet instead.
+ */
+ private fun readResolve(): Any {
+ @Suppress("SENSELESS_COMPARISON")
+ if (capabilities == null) {
+ return copy(capabilities = emptySet())
+ }
+ return this
}
internal companion object {
@@ -28,7 +190,7 @@ data class IdeaKotlinBinaryCoordinates(
data class IdeaKotlinProjectCoordinates(
val buildId: String,
val projectPath: String,
- val projectName: String
+ val projectName: String,
) : Serializable, IdeaKotlinDependencyCoordinates {
override fun toString(): String {
return "${buildId.takeIf { it != ":" }?.plus(":").orEmpty()}$projectPath"
@@ -41,7 +203,7 @@ data class IdeaKotlinProjectCoordinates(
data class IdeaKotlinSourceCoordinates(
val project: IdeaKotlinProjectCoordinates,
- val sourceSetName: String
+ val sourceSetName: String,
) : IdeaKotlinDependencyCoordinates {
val buildId: String get() = project.buildId
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/factories.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/factories.kt
index 7d72a499683..0cf79001117 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/factories.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/factories.kt
@@ -8,7 +8,8 @@ package org.jetbrains.kotlin.gradle.plugin.ide
import org.gradle.api.Project
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
-import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
+import org.gradle.api.capabilities.Capability
+import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCapability
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryCoordinates
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinProjectCoordinates
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceCoordinates
@@ -41,11 +42,23 @@ internal fun IdeaKotlinSourceCoordinates(sourceSet: KotlinSourceSet): IdeaKotlin
)
}
-internal fun IdeaKotlinBinaryCoordinates(identifier: ModuleComponentIdentifier): IdeaKotlinBinaryCoordinates {
+internal fun IdeaKotlinBinaryCoordinates(
+ identifier: ModuleComponentIdentifier,
+ capabilities: List = emptyList(),
+): IdeaKotlinBinaryCoordinates {
return IdeaKotlinBinaryCoordinates(
group = identifier.group,
module = identifier.module,
- version = identifier.version
+ version = identifier.version,
+ capabilities = capabilities.map(::IdeaKotlinBinaryCapability).toSet()
+ )
+}
+
+internal fun IdeaKotlinBinaryCapability(capability: Capability): IdeaKotlinBinaryCapability {
+ return IdeaKotlinBinaryCapability(
+ group = capability.group,
+ name = capability.name,
+ version = capability.version
)
}