[kpm] Minimize kgp-proto's API surface and add binary compatibility tests

^KT-52568 Verification Pending
This commit is contained in:
sebastian.sellmair
2022-06-13 14:54:16 +02:00
committed by Space
parent 82ab65e689
commit a12c938100
6 changed files with 22 additions and 3 deletions
@@ -15,6 +15,7 @@ dependencies {
testArtifacts project(':kotlin-stdlib-jdk8')
testArtifacts project(':kotlin-reflect')
testArtifacts project(':kotlin-gradle-plugin-idea')
testArtifacts project(':kotlin-gradle-plugin-idea-proto')
testArtifacts project(':kotlin-tooling-core')
testCompileOnly("org.ow2.asm:asm-tree:9.0") {
@@ -0,0 +1,10 @@
public final class org/jetbrains/kotlin/kpm/idea/proto/KpmIdeaProto {
public static final fun IdeaKpmProject (Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;Lcom/google/protobuf/ByteString;)Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;
public static final fun IdeaKpmProject (Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;Ljava/io/InputStream;)Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;
public static final fun IdeaKpmProject (Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;Ljava/nio/ByteBuffer;)Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;
public static final fun IdeaKpmProject (Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;[B)Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;
public static final fun toByteArray (Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;)[B
public static final fun toByteString (Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;)Lcom/google/protobuf/ByteString;
public static final fun writeTo (Lorg/jetbrains/kotlin/gradle/kpm/idea/IdeaKpmProject;Ljava/io/OutputStream;Lorg/jetbrains/kotlin/gradle/kpm/idea/serialize/IdeaKpmSerializationContext;)V
}
@@ -40,6 +40,13 @@ class RuntimePublicAPITest {
)
}
@Test fun kotlinGradlePluginIdeaProto() {
snapshotAPIAndCompare(
"../kotlin-gradle-plugin-idea-proto/build/libs", "kotlin-gradle-plugin-idea-proto(?!-[-a-z]+)",
nonPublicAnnotations = listOf("org/jetbrains/kotlin/gradle/kpm/idea/InternalKotlinGradlePluginApi")
)
}
@Test fun kotlinToolingCore() {
snapshotAPIAndCompare("../kotlin-tooling-core/build/libs", "kotlin-tooling-core(?!-[-a-z]+)")
}