Skip to content

Commit d449052

Browse files
authored
Merge pull request #1068 from Kotlin/version-1.2.0-alpha-2
Version 1.2.0 alpha-2
2 parents 085a4cb + 2cbcd05 commit d449052

File tree

80 files changed

+4650
-28
lines changed

Some content is hidden

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

80 files changed

+4650
-28
lines changed

CHANGES.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Change log for kotlinx.coroutines
22

3+
## Version 1.2.0-alpha-2
4+
5+
This release contains major [feature preview](/docs/compatibility.md#flow-preview-api): cold streams aka `Flow` (#254).
6+
7+
Performance:
8+
* Performance of `Dispatcher.Main` initialization is significantly improved (#878).
9+
310
## Version 1.2.0-alpha
411

512
* Major debug agent improvements. Real stacktraces are merged with coroutine stacktraces for running coroutines, merging heuristic is improved, API is cleaned up and is on its road to stabilization (#997).
@@ -14,7 +21,6 @@
1421
* `withContext` checks cancellation on entering (#962).
1522
* Operator `invoke` on `CoroutineDispatcher` (#428).
1623
* Java 8 extensions for `delay` and `withTimeout` now properly handle too large values (#428).
17-
* Performance of `Dispatcher.Main` initialization is significantly improved (#878).
1824
* A global exception handler for fatal exceptions in coroutines is introduced (#808, #773).
1925
* Major improvements in cancellation machinery and exceptions delivery consistency. Cancel with custom exception is completely removed.
2026
* Kotlin version is updated to 1.3.21.

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![official JetBrains project](https://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
44
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
5-
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.2.0-alpha) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.2.0-alpha)
5+
[![Download](https://api.bintray.com/packages/kotlin/kotlinx/kotlinx.coroutines/images/download.svg?version=1.2.0-alpha-2) ](https://bintray.com/kotlin/kotlinx/kotlinx.coroutines/1.2.0-alpha-2)
66

77
Library support for Kotlin coroutines with [multiplatform](#multiplatform) support.
88
This is a companion version for Kotlin `1.3.21` release.
@@ -75,7 +75,7 @@ Add dependencies (you can also add other modules that you need):
7575
<dependency>
7676
<groupId>org.jetbrains.kotlinx</groupId>
7777
<artifactId>kotlinx-coroutines-core</artifactId>
78-
<version>1.2.0-alpha</version>
78+
<version>1.2.0-alpha-2</version>
7979
</dependency>
8080
```
8181

@@ -93,7 +93,7 @@ Add dependencies (you can also add other modules that you need):
9393

9494
```groovy
9595
dependencies {
96-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.0-alpha'
96+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.0-alpha-2'
9797
}
9898
```
9999

@@ -119,7 +119,7 @@ Add dependencies (you can also add other modules that you need):
119119

120120
```groovy
121121
dependencies {
122-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.0-alpha")
122+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.0-alpha-2")
123123
}
124124
```
125125

@@ -147,7 +147,7 @@ Add [`kotlinx-coroutines-android`](ui/kotlinx-coroutines-android)
147147
module as dependency when using `kotlinx.coroutines` on Android:
148148

149149
```groovy
150-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.2.0-alpha'
150+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.2.0-alpha-2'
151151
```
152152
This gives you access to Android [Dispatchers.Main](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-android/kotlinx.coroutines.android/kotlinx.coroutines.-dispatchers/index.html)
153153
coroutine dispatcher and also makes sure that in case of crashed coroutine with unhandled exception this

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

+99
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,9 @@ public final class kotlinx/coroutines/ExecutorsKt {
295295
public abstract interface annotation class kotlinx/coroutines/ExperimentalCoroutinesApi : java/lang/annotation/Annotation {
296296
}
297297

298+
public abstract interface annotation class kotlinx/coroutines/FlowPreview : java/lang/annotation/Annotation {
299+
}
300+
298301
public final class kotlinx/coroutines/GlobalScope : kotlinx/coroutines/CoroutineScope {
299302
public static final field INSTANCE Lkotlinx/coroutines/GlobalScope;
300303
public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
@@ -768,6 +771,102 @@ public final class kotlinx/coroutines/channels/TickerMode : java/lang/Enum {
768771
public static fun values ()[Lkotlinx/coroutines/channels/TickerMode;
769772
}
770773

774+
public abstract interface class kotlinx/coroutines/flow/Flow {
775+
public abstract fun collect (Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
776+
}
777+
778+
public abstract interface class kotlinx/coroutines/flow/FlowCollector {
779+
public abstract fun emit (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
780+
}
781+
782+
public final class kotlinx/coroutines/flow/FlowKt {
783+
public static final fun asFlow (Ljava/lang/Iterable;)Lkotlinx/coroutines/flow/Flow;
784+
public static final fun asFlow (Ljava/util/Iterator;)Lkotlinx/coroutines/flow/Flow;
785+
public static final fun asFlow (Lkotlin/jvm/functions/Function0;)Lkotlinx/coroutines/flow/Flow;
786+
public static final fun asFlow (Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
787+
public static final fun asFlow (Lkotlin/ranges/IntRange;)Lkotlinx/coroutines/flow/Flow;
788+
public static final fun asFlow (Lkotlin/ranges/LongRange;)Lkotlinx/coroutines/flow/Flow;
789+
public static final fun asFlow (Lkotlin/sequences/Sequence;)Lkotlinx/coroutines/flow/Flow;
790+
public static final fun asFlow (Lkotlinx/coroutines/channels/BroadcastChannel;)Lkotlinx/coroutines/flow/Flow;
791+
public static final fun asFlow ([I)Lkotlinx/coroutines/flow/Flow;
792+
public static final fun asFlow ([J)Lkotlinx/coroutines/flow/Flow;
793+
public static final fun asFlow ([Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
794+
public static final fun broadcastIn (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/CoroutineStart;)Lkotlinx/coroutines/channels/BroadcastChannel;
795+
public static synthetic fun broadcastIn$default (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/CoroutineStart;ILjava/lang/Object;)Lkotlinx/coroutines/channels/BroadcastChannel;
796+
public static final fun collect (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
797+
public static final fun concatenate (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
798+
public static final fun concatenate (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
799+
public static final fun count (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
800+
public static final fun count (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
801+
public static final fun delayEach (Lkotlinx/coroutines/flow/Flow;J)Lkotlinx/coroutines/flow/Flow;
802+
public static final fun delayFlow (Lkotlinx/coroutines/flow/Flow;J)Lkotlinx/coroutines/flow/Flow;
803+
public static final fun distinctUntilChanged (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
804+
public static final fun distinctUntilChangedBy (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
805+
public static final fun drop (Lkotlinx/coroutines/flow/Flow;I)Lkotlinx/coroutines/flow/Flow;
806+
public static final fun dropWhile (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
807+
public static final fun emptyFlow ()Lkotlinx/coroutines/flow/Flow;
808+
public static final fun filter (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
809+
public static final fun filterNot (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
810+
public static final fun filterNotNull (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
811+
public static final fun flatMap (Lkotlinx/coroutines/flow/Flow;IILkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
812+
public static synthetic fun flatMap$default (Lkotlinx/coroutines/flow/Flow;IILkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
813+
public static final fun flow (Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
814+
public static final fun flowOf ([Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
815+
public static final fun flowOn (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;I)Lkotlinx/coroutines/flow/Flow;
816+
public static synthetic fun flowOn$default (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;IILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
817+
public static final fun flowViaChannel (ILkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
818+
public static synthetic fun flowViaChannel$default (ILkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
819+
public static final fun flowWith (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
820+
public static synthetic fun flowWith$default (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
821+
public static final fun fold (Lkotlinx/coroutines/flow/Flow;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
822+
public static final fun map (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
823+
public static final fun mapNotNull (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
824+
public static final fun merge (Ljava/lang/Iterable;II)Lkotlinx/coroutines/flow/Flow;
825+
public static synthetic fun merge$default (Ljava/lang/Iterable;IIILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
826+
public static final fun onEach (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
827+
public static final fun onErrorCollect (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
828+
public static synthetic fun onErrorCollect$default (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
829+
public static final fun onErrorReturn (Lkotlinx/coroutines/flow/Flow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
830+
public static synthetic fun onErrorReturn$default (Lkotlinx/coroutines/flow/Flow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
831+
public static final fun produceIn (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;I)Lkotlinx/coroutines/channels/ReceiveChannel;
832+
public static synthetic fun produceIn$default (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;IILjava/lang/Object;)Lkotlinx/coroutines/channels/ReceiveChannel;
833+
public static final fun reduce (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
834+
public static final fun retry (Lkotlinx/coroutines/flow/Flow;ILkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
835+
public static synthetic fun retry$default (Lkotlinx/coroutines/flow/Flow;ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
836+
public static final fun single (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
837+
public static final fun singleOrNull (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
838+
public static final fun take (Lkotlinx/coroutines/flow/Flow;I)Lkotlinx/coroutines/flow/Flow;
839+
public static final fun takeWhile (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
840+
public static final fun toCollection (Lkotlinx/coroutines/flow/Flow;Ljava/util/Collection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
841+
public static final fun toList (Lkotlinx/coroutines/flow/Flow;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
842+
public static synthetic fun toList$default (Lkotlinx/coroutines/flow/Flow;Ljava/util/List;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
843+
public static final fun toSet (Lkotlinx/coroutines/flow/Flow;Ljava/util/Set;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
844+
public static synthetic fun toSet$default (Lkotlinx/coroutines/flow/Flow;Ljava/util/Set;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
845+
public static final fun transform (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function3;)Lkotlinx/coroutines/flow/Flow;
846+
public static final fun unsafeFlow (Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
847+
}
848+
849+
public final class kotlinx/coroutines/flow/MigrationKt {
850+
public static final fun BehaviourSubject ()Ljava/lang/Object;
851+
public static final fun PublishSubject ()Ljava/lang/Object;
852+
public static final fun ReplaySubject ()Ljava/lang/Object;
853+
public static final fun concat (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
854+
public static final fun concatMap (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/flow/Flow;
855+
public static final fun observeOn (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/flow/Flow;
856+
public static final fun onErrorResume (Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
857+
public static final fun publishOn (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/flow/Flow;
858+
public static final fun subscribe (Lkotlinx/coroutines/flow/Flow;)V
859+
public static final fun subscribe (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;)V
860+
public static final fun subscribe (Lkotlinx/coroutines/flow/Flow;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V
861+
public static final fun subscribeOn (Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/flow/Flow;
862+
public static final fun withContext (Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function1;)V
863+
}
864+
865+
public final class kotlinx/coroutines/flow/internal/SafeCollector : kotlinx/coroutines/flow/FlowCollector {
866+
public fun <init> (Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/ContinuationInterceptor;)V
867+
public fun emit (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
868+
}
869+
771870
public class kotlinx/coroutines/scheduling/ExperimentalCoroutineDispatcher : kotlinx/coroutines/ExecutorCoroutineDispatcher {
772871
public synthetic fun <init> (II)V
773872
public synthetic fun <init> (IIILkotlin/jvm/internal/DefaultConstructorMarker;)V

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

+10
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,13 @@ public final class kotlinx/coroutines/reactive/PublishKt {
2323
public static synthetic fun publish$default (Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/reactivestreams/Publisher;
2424
}
2525

26+
public final class kotlinx/coroutines/reactive/flow/FlowAsPublisherKt {
27+
public static final fun from (Lkotlinx/coroutines/flow/Flow;)Lorg/reactivestreams/Publisher;
28+
}
29+
30+
public final class kotlinx/coroutines/reactive/flow/PublisherAsFlowKt {
31+
public static final fun from (Lorg/reactivestreams/Publisher;)Lkotlinx/coroutines/flow/Flow;
32+
public static final fun from (Lorg/reactivestreams/Publisher;I)Lkotlinx/coroutines/flow/Flow;
33+
public static synthetic fun from$default (Lorg/reactivestreams/Publisher;IILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
34+
}
35+

build.gradle

-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ configure(subprojects.findAll { !sourceless.contains(it.name) && it.name != "ben
133133
test.kotlin.srcDirs = ['test']
134134
main.resources.srcDirs = ['resources']
135135
test.resources.srcDirs = ['test-resources']
136-
137136
}
138137
}
139138

docs/compatibility.md

+16
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* [Compatibility](#compatibility)
1010
* [Public API types](#public-api-types)
1111
* [Experimental API](#experimental-api)
12+
* [Flow preview API](#flow-preview-api)
1213
* [Obsolete API](#obsolete-api)
1314
* [Internal API](#internal-api)
1415
* [Stable API](#stable-api)
@@ -42,6 +43,18 @@ It may lead to undesired consequences when end users of your library update thei
4243
has slightly different semantics.
4344
* You want to build core infrastructure of the application around experimental API.
4445

46+
### Flow preview API
47+
All [Flow]-related API is marked with [@FlowPreview][FlowPreview] annotation.
48+
This annotation indicates that Flow API is in preview status.
49+
We provide no compatibility guarantees between releases for preview features, including binary, source and semantics compatibility.
50+
51+
When using preview API may be dangerous:
52+
* You are writing a library/framework and want to use [Flow] API in a stable release or in a stable API.
53+
* You want to use [Flow] in the core infrastructure of your application.
54+
* You want to use [Flow] as "write-and-forget" solution and cannot afford additional maintenance cost when
55+
it comes to `kotlinx.coroutines` updates.
56+
57+
4558
### Obsolete API
4659
Obsolete API is marked with [@ObsoleteCoroutinesApi][ObsoleteCoroutinesApi] annotation.
4760
Obsolete API is similar to experimental, but already known to have serious design flaws and its potential replacement,
@@ -108,8 +121,11 @@ For the Maven project, a warning can be disabled by passing a compiler flag in y
108121

109122

110123
<!--- MODULE kotlinx-coroutines-core -->
124+
<!--- INDEX kotlinx.coroutines.flow -->
125+
[Flow]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html
111126
<!--- INDEX kotlinx.coroutines -->
112127
[ExperimentalCoroutinesApi]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-experimental-coroutines-api/index.html
128+
[FlowPreview]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-flow-preview/index.html
113129
[ObsoleteCoroutinesApi]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-obsolete-coroutines-api/index.html
114130
[InternalCoroutinesApi]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-internal-coroutines-api/index.html
115131
<!--- END -->

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Kotlin
2-
version=1.2.0-alpha-SNAPSHOT
2+
version=1.2.0-alpha-2-SNAPSHOT
33
group=org.jetbrains.kotlinx
44
kotlin_version=1.3.21
55

gradle/experimental.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ ext.experimentalAnnotations = [
99
"kotlin.ExperimentalMultiplatform",
1010
"kotlinx.coroutines.ExperimentalCoroutinesApi",
1111
"kotlinx.coroutines.ObsoleteCoroutinesApi",
12-
"kotlinx.coroutines.InternalCoroutinesApi"]
12+
"kotlinx.coroutines.InternalCoroutinesApi",
13+
"kotlinx.coroutines.FlowPreview"]
+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
#Fri Mar 15 12:06:46 CET 2019
12
distributionBase=GRADLE_USER_HOME
23
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip

kotlinx-coroutines-core/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ kotlin.sourceSets {
4646
jvmTest.dependencies {
4747
api "com.devexperts.lincheck:lincheck:$lincheck_version"
4848
api "com.esotericsoftware:kryo:4.0.0"
49+
implementation project (":android-unit-tests")
4950
}
5051
}
5152

0 commit comments

Comments
 (0)