Skip to content

Commit

Permalink
Fix broken tests.
Browse files Browse the repository at this point in the history
For some reason, the old kotlinx-coroutines-test was causing a
codebase-wide incompatibility with the 1.6.x kotlinx-coroutines-core
library, so this updates that version.

It also updates Gradle dependencies for consistency, and to fix the
Gradle builds.

And, this fixes the IntelliJ Bazel plugin syncing issue when using
kt_jvm_import (for kotlinx-coroutines-core-jvm).
  • Loading branch information
BenHenning committed Apr 3, 2023
1 parent 59f7f87 commit 0709b3d
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 75 deletions.
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
)
Expand All @@ -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"),
Expand All @@ -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',
)
Expand Down
4 changes: 2 additions & 2 deletions data/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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"),
Expand Down
4 changes: 2 additions & 2 deletions domain/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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"),
Expand Down
2 changes: 1 addition & 1 deletion testing/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
18 changes: 15 additions & 3 deletions third_party/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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(
Expand Down
81 changes: 21 additions & 60 deletions third_party/maven_install.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down Expand Up @@ -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"
Expand All @@ -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": {
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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"
],
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion third_party/versions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions utility/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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"),
Expand Down

0 comments on commit 0709b3d

Please sign in to comment.