Skip to content

Commit 74bcc92

Browse files
qwwdfsadelizarov
authored andcommitted
Introduce binary-compatibility-validator module
Update Kotlin to 1.2.41 (KT-23809) Copy and slightly change binary-compatibility validator from Kotlin repository
1 parent a518edc commit 74bcc92

File tree

78 files changed

+3282
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+3282
-2
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Public API binary compatibility validator
2+
3+
This module allows to dump and compare public binary API to ensure binary compatibility with a previous version.
4+
This tool is slightly adapted copy of [original Kotlin compatibility validator](https://github.com/JetBrains/kotlin/tree/master/libraries/tools/binary-compatibility-validator) by @ilya-g.
5+
6+
Refer to the original readme for additional documentation.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
configurations {
2+
testArtifacts
3+
}
4+
5+
dependencies {
6+
compile 'org.ow2.asm:asm-debug-all:5.0.4'
7+
compile 'com.google.code.gson:gson:2.6.2'
8+
9+
testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
10+
testArtifacts project(':kotlinx-coroutines-core')
11+
testArtifacts project(':kotlinx-coroutines-io')
12+
13+
14+
testArtifacts project(':kotlinx-coroutines-reactive')
15+
testArtifacts project(':kotlinx-coroutines-reactor')
16+
testArtifacts project(':kotlinx-coroutines-rx1')
17+
testArtifacts project(':kotlinx-coroutines-rx2')
18+
19+
testArtifacts project(':kotlinx-coroutines-guava')
20+
testArtifacts project(':kotlinx-coroutines-jdk8')
21+
testArtifacts project(':kotlinx-coroutines-nio')
22+
testArtifacts project(':kotlinx-coroutines-quasar')
23+
24+
testArtifacts project(':kotlinx-coroutines-android')
25+
testArtifacts project(':kotlinx-coroutines-javafx')
26+
testArtifacts project(':kotlinx-coroutines-swing')
27+
}
28+
29+
def testCasesDeclarationsDump = "${buildDir}/visibilities.json".toString()
30+
31+
compileTestKotlin {
32+
kotlinOptions {
33+
freeCompilerArgs = ["-Xdump-declarations-to=$testCasesDeclarationsDump"]
34+
}
35+
}
36+
37+
sourceSets {
38+
test {
39+
java {
40+
srcDir "src/test/kotlin"
41+
}
42+
}
43+
}
44+
45+
test {
46+
dependsOn cleanCompileTestKotlin
47+
dependsOn configurations.testArtifacts
48+
49+
systemProperty 'testCasesClassesDirs', sourceSets.test.output.classesDirs.asPath
50+
systemProperty 'testCasesDeclarations', testCasesDeclarationsDump
51+
jvmArgs '-ea'
52+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
public final class kotlinx/coroutines/experimental/android/AndroidExceptionPreHandler : kotlin/coroutines/experimental/AbstractCoroutineContextElement, kotlinx/coroutines/experimental/CoroutineExceptionHandler {
2+
public fun <init> ()V
3+
public fun handleException (Lkotlin/coroutines/experimental/CoroutineContext;Ljava/lang/Throwable;)V
4+
}
5+
6+
public final class kotlinx/coroutines/experimental/android/HandlerContext : kotlinx/coroutines/experimental/CoroutineDispatcher, kotlinx/coroutines/experimental/Delay {
7+
public fun <init> (Landroid/os/Handler;Ljava/lang/String;)V
8+
public synthetic fun <init> (Landroid/os/Handler;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
9+
public final fun awaitFrame (Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
10+
public fun delay (JLjava/util/concurrent/TimeUnit;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
11+
public fun dispatch (Lkotlin/coroutines/experimental/CoroutineContext;Ljava/lang/Runnable;)V
12+
public fun equals (Ljava/lang/Object;)Z
13+
public fun hashCode ()I
14+
public fun invokeOnTimeout (JLjava/util/concurrent/TimeUnit;Ljava/lang/Runnable;)Lkotlinx/coroutines/experimental/DisposableHandle;
15+
public fun scheduleResumeAfterDelay (JLjava/util/concurrent/TimeUnit;Lkotlinx/coroutines/experimental/CancellableContinuation;)V
16+
public fun toString ()Ljava/lang/String;
17+
}
18+
19+
public final class kotlinx/coroutines/experimental/android/HandlerContextKt {
20+
public static final fun asCoroutineDispatcher (Landroid/os/Handler;)Lkotlinx/coroutines/experimental/android/HandlerContext;
21+
public static final fun getUI ()Lkotlinx/coroutines/experimental/android/HandlerContext;
22+
}
23+

binary-compatibility-validator/reference-public-api/kotlinx-coroutines-core.txt

Lines changed: 952 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
public final class kotlinx/coroutines/experimental/guava/ListenableFutureKt {
2+
public static final fun asListenableFuture (Lkotlinx/coroutines/experimental/Deferred;)Lcom/google/common/util/concurrent/ListenableFuture;
3+
public static final fun await (Lcom/google/common/util/concurrent/ListenableFuture;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
4+
public static final synthetic fun future (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlin/jvm/functions/Function2;)Lcom/google/common/util/concurrent/ListenableFuture;
5+
public static final fun future (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lcom/google/common/util/concurrent/ListenableFuture;
6+
public static final synthetic fun future (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;)Lcom/google/common/util/concurrent/ListenableFuture;
7+
public static synthetic fun future$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
8+
public static synthetic fun future$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
9+
public static synthetic fun future$default (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlinx/coroutines/experimental/CoroutineStart;Lkotlinx/coroutines/experimental/Job;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
10+
}
11+

0 commit comments

Comments
 (0)