diff --git a/app/build.gradle b/app/build.gradle index 4e4e8a45fe5..ec568b2e258 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -174,8 +174,8 @@ dependencies { 'de.hdodenhof:circleimageview:3.0.1', 'nl.dionsegijn:konfetti:1.2.5', "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version", - 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1', - 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4', + 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4', 'org.mockito:mockito-core:2.7.22', 'com.github.oppia:android-spotlight:cc23499d37dc8533a2876e45b5063e981a4583f4' ) @@ -197,7 +197,7 @@ dependencies { 'com.google.truth.extensions:truth-liteproto-extension:1.1.3', 'org.robolectric:annotations:4.5', 'org.robolectric:robolectric:4.5', - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version", 'org.mockito:mockito-core:2.7.22', project(":testing"), @@ -212,7 +212,7 @@ dependencies { 'com.google.truth:truth:1.1.3', 'androidx.work:work-testing:2.4.0', 'com.google.truth.extensions:truth-liteproto-extension:1.1.3', - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', 'org.mockito:mockito-android:2.7.22', 'org.robolectric:annotations:4.5', ) diff --git a/data/build.gradle b/data/build.gradle index 3aa58d9c76a..cfecf3abccd 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -69,7 +69,7 @@ dependencies { 'com.google.protobuf:protobuf-javalite:3.17.3', 'com.squareup.moshi:moshi-kotlin:1.13.0', 'com.squareup.okhttp3:okhttp:4.7.2', - 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1', + 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4', ) compileOnly( 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.2', @@ -84,7 +84,7 @@ dependencies { 'com.squareup.okhttp3:mockwebserver:4.7.2', 'com.squareup.okhttp3:okhttp:4.7.2', 'junit:junit:4.12', - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', 'org.mockito:mockito-core:2.19.0', 'org.robolectric:robolectric:4.5', project(":testing"), diff --git a/domain/build.gradle b/domain/build.gradle index 75734129cfb..2d07aec1291 100644 --- a/domain/build.gradle +++ b/domain/build.gradle @@ -96,7 +96,7 @@ dependencies { 'com.google.guava:guava:28.1-android', 'com.google.protobuf:protobuf-javalite:3.17.3', "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version", - 'org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1' + 'org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.6.4' ) compileOnly( 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.2', @@ -114,7 +114,7 @@ dependencies { 'junit:junit:4.12', "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version", 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2', - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', 'org.mockito:mockito-core:3.9.0', 'org.robolectric:robolectric:4.5', project(":testing"), diff --git a/testing/build.gradle b/testing/build.gradle index 5d8a3ab56ae..8dc0b85c5ce 100644 --- a/testing/build.gradle +++ b/testing/build.gradle @@ -79,7 +79,7 @@ dependencies { 'com.google.truth:truth:1.1.3', 'com.google.truth.extensions:truth-liteproto-extension:1.1.3', 'nl.dionsegijn:konfetti:1.2.5', - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', 'org.robolectric:robolectric:4.5', 'org.jetbrains.kotlin:kotlin-reflect:$kotlin_version', 'org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version', diff --git a/third_party/BUILD.bazel b/third_party/BUILD.bazel index 1a8d37af70f..2676abf6c42 100644 --- a/third_party/BUILD.bazel +++ b/third_party/BUILD.bazel @@ -12,7 +12,7 @@ own Bazel macros to automatically set up code generation (which includes pulling dependencies). """ -load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_import") +load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_import", "kt_jvm_library") load("@rules_java//java:defs.bzl", "java_binary", "java_library") load("@rules_jvm_external//:defs.bzl", "artifact") load(":versions.bzl", "MAVEN_PRODUCTION_DEPENDENCY_VERSIONS", "MAVEN_TEST_DEPENDENCY_VERSIONS") @@ -105,16 +105,28 @@ android_library( ], ) +# Note that the output from kt_jvm_import needs to be wrapped in a kt_jvm_library in order to work +# with the Bazel IntelliJ plugin correctly (since kt_jvm_library provides the expected IDE output +# for syncing). kt_jvm_import( - name = "kotlinx-coroutines-core-jvm", + name = "_kotlinx-coroutines-core-jvm_import_do_not_depend", jars = ["@kotlinx-coroutines-core-jvm//jar:file"], - visibility = ["@maven//:__subpackages__"], + tags = ["no-ide"], deps = [ ":_stopgap_lib_for_kotlinx_coroutines_desugar_do_not_depend", "//third_party:org_jetbrains_kotlin_kotlin-stdlib-jdk8_jar", ], ) +kt_jvm_library( + name = "kotlinx-coroutines-core-jvm", + visibility = [ + "//:oppia_api_visibility", + "@maven//:__subpackages__", + ], + exports = [":_kotlinx-coroutines-core-jvm_import_do_not_depend"], +) + # This solution is based on https://github.com/Bencodes/bazel_issue_13553 for Bazel issue: # https://github.com/bazelbuild/bazel/issues/13553. genrule( diff --git a/third_party/maven_install.json b/third_party/maven_install.json index dc4a52bd25b..c94b498516a 100644 --- a/third_party/maven_install.json +++ b/third_party/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -1807961124, - "__RESOLVED_ARTIFACTS_HASH": -1207802182, + "__INPUT_ARTIFACTS_HASH": -1109309870, + "__RESOLVED_ARTIFACTS_HASH": 1387670397, "conflict_resolution": { "androidx.constraintlayout:constraintlayout:1.1.3": "androidx.constraintlayout:constraintlayout:2.0.1", "androidx.core:core:1.0.1": "androidx.core:core:1.3.1", @@ -1154,12 +1154,6 @@ }, "version": "1.6.4" }, - "org.jetbrains.kotlinx:kotlinx-coroutines-debug": { - "shasums": { - "jar": "6a92f46fe713e9cade9cf55489844b0acf38596a070c1c85f0580e8107ae485e" - }, - "version": "1.2.2" - }, "org.jetbrains.kotlinx:kotlinx-coroutines-guava": { "shasums": { "jar": "94deeee072e0f762a8a3ccc66b1762c5d96d55eca13cab4001f5b7588bb74390" @@ -1168,9 +1162,15 @@ }, "org.jetbrains.kotlinx:kotlinx-coroutines-test": { "shasums": { - "jar": "31e03c48a2f63ee11ee4d1eed4c1a19f561531e838525c67346f4bacdd422444" + "jar": "993eef7de86d59e99096fbc51b7df33f0cc8a3a655e195590765b7e51e4c0aaa" }, - "version": "1.2.2" + "version": "1.6.4" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm": { + "shasums": { + "jar": "69d65e5fea41cbc0bb905d3ef6623a2348b931fd01b9f2c4a1751a372f2e476d" + }, + "version": "1.6.4" }, "org.jetbrains.kotlinx:kotlinx-metadata-jvm": { "shasums": { @@ -2054,9 +2054,12 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" ], "org.jetbrains.kotlinx:kotlinx-coroutines-test": [ - "org.jetbrains.kotlin:kotlin-stdlib", - "org.jetbrains.kotlinx:kotlinx-coroutines-core", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug" + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" ], "org.jetbrains.kotlinx:kotlinx-metadata-jvm": [ "org.jetbrains.kotlin:kotlin-stdlib" @@ -3776,52 +3779,10 @@ "kotlinx.coroutines.selects", "kotlinx.coroutines.sync" ], - "org.jetbrains.kotlinx:kotlinx-coroutines-debug": [ - "kotlinx.coroutines.debug", - "kotlinx.coroutines.debug.internal", - "kotlinx.coroutines.debug.junit4", - "kotlinx.coroutines.repackaged.net.bytebuddy", - "kotlinx.coroutines.repackaged.net.bytebuddy.agent", - "kotlinx.coroutines.repackaged.net.bytebuddy.agent.builder", - "kotlinx.coroutines.repackaged.net.bytebuddy.asm", - "kotlinx.coroutines.repackaged.net.bytebuddy.build", - "kotlinx.coroutines.repackaged.net.bytebuddy.description", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.annotation", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.enumeration", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.field", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.method", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.modifier", - "kotlinx.coroutines.repackaged.net.bytebuddy.description.type", - "kotlinx.coroutines.repackaged.net.bytebuddy.dynamic", - "kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.loading", - "kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.scaffold", - "kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.scaffold.inline", - "kotlinx.coroutines.repackaged.net.bytebuddy.dynamic.scaffold.subclass", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.attribute", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.auxiliary", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bind", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bind.annotation", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.assign", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.assign.primitive", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.assign.reference", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.collection", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.constant", - "kotlinx.coroutines.repackaged.net.bytebuddy.implementation.bytecode.member", - "kotlinx.coroutines.repackaged.net.bytebuddy.jar.asm", - "kotlinx.coroutines.repackaged.net.bytebuddy.jar.asm.commons", - "kotlinx.coroutines.repackaged.net.bytebuddy.jar.asm.signature", - "kotlinx.coroutines.repackaged.net.bytebuddy.matcher", - "kotlinx.coroutines.repackaged.net.bytebuddy.pool", - "kotlinx.coroutines.repackaged.net.bytebuddy.utility", - "kotlinx.coroutines.repackaged.net.bytebuddy.utility.privilege", - "kotlinx.coroutines.repackaged.net.bytebuddy.utility.visitor" - ], "org.jetbrains.kotlinx:kotlinx-coroutines-guava": [ "kotlinx.coroutines.guava" ], - "org.jetbrains.kotlinx:kotlinx-coroutines-test": [ + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm": [ "kotlinx.coroutines.test", "kotlinx.coroutines.test.internal" ], @@ -4205,9 +4166,9 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-android", "org.jetbrains.kotlinx:kotlinx-coroutines-core", "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug", "org.jetbrains.kotlinx:kotlinx-coroutines-guava", "org.jetbrains.kotlinx:kotlinx-coroutines-test", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm", "org.jetbrains.kotlinx:kotlinx-metadata-jvm", "org.jetbrains:annotations", "org.mockito.kotlin:mockito-kotlin", @@ -4421,9 +4382,9 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-android", "org.jetbrains.kotlinx:kotlinx-coroutines-core", "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug", "org.jetbrains.kotlinx:kotlinx-coroutines-guava", "org.jetbrains.kotlinx:kotlinx-coroutines-test", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm", "org.jetbrains.kotlinx:kotlinx-metadata-jvm", "org.jetbrains:annotations", "org.mockito.kotlin:mockito-kotlin", @@ -4637,9 +4598,9 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-android", "org.jetbrains.kotlinx:kotlinx-coroutines-core", "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug", "org.jetbrains.kotlinx:kotlinx-coroutines-guava", "org.jetbrains.kotlinx:kotlinx-coroutines-test", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm", "org.jetbrains.kotlinx:kotlinx-metadata-jvm", "org.jetbrains:annotations", "org.mockito.kotlin:mockito-kotlin", @@ -4853,9 +4814,9 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-android", "org.jetbrains.kotlinx:kotlinx-coroutines-core", "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug", "org.jetbrains.kotlinx:kotlinx-coroutines-guava", "org.jetbrains.kotlinx:kotlinx-coroutines-test", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm", "org.jetbrains.kotlinx:kotlinx-metadata-jvm", "org.jetbrains:annotations", "org.mockito.kotlin:mockito-kotlin", diff --git a/third_party/versions.bzl b/third_party/versions.bzl index 3e248ba8ff7..a49c42c9357 100644 --- a/third_party/versions.bzl +++ b/third_party/versions.bzl @@ -103,7 +103,7 @@ MAVEN_TEST_DEPENDENCY_VERSIONS = { "org.jetbrains.kotlin:kotlin-compiler-embeddable": "1.5.0", "org.jetbrains.kotlin:kotlin-reflect": "1.3.41", "org.jetbrains.kotlin:kotlin-test-junit": "1.3.72", - "org.jetbrains.kotlinx:kotlinx-coroutines-test": "1.2.2", + "org.jetbrains.kotlinx:kotlinx-coroutines-test": "1.6.4", "org.mockito.kotlin:mockito-kotlin": "3.2.0", "org.mockito:mockito-core": "2.19.0", "org.robolectric:annotations": "4.5", diff --git a/utility/build.gradle b/utility/build.gradle index a5c5f9fe44f..cadb78cf13b 100644 --- a/utility/build.gradle +++ b/utility/build.gradle @@ -91,7 +91,7 @@ dependencies { 'com.google.firebase:firebase-crashlytics:17.0.0', 'com.google.protobuf:protobuf-javalite:3.17.3', "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version", - 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1', + 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4', ) compileOnly( 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.2', @@ -106,7 +106,7 @@ dependencies { 'com.google.truth.extensions:truth-liteproto-extension:1.1.3', 'junit:junit:4.12', "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version", - 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2', + 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4', 'org.mockito:mockito-core:2.19.0', 'org.robolectric:robolectric:4.5', project(":data"),