Set jvm-default=all for Room runtime libraries.
As the artifact sources are now in Kotlin, enabling JVM default methods early will allow us to more easily evolve the API when needed.
Test: ./gradlew bOS
Change-Id: I3c47f0e120d2a54484bc9349b4a92f708c3e651a
diff --git a/room/room-common/build.gradle b/room/room-common/build.gradle
index 2f7b61b..f48347e 100644
--- a/room/room-common/build.gradle
+++ b/room/room-common/build.gradle
@@ -15,12 +15,19 @@
*/
import androidx.build.Publish
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("AndroidXPlugin")
id("kotlin")
}
+tasks.withType(KotlinCompile).configureEach {
+ kotlinOptions {
+ freeCompilerArgs += ["-Xjvm-default=all"]
+ }
+}
+
dependencies {
api("androidx.annotation:annotation:1.3.0")
api(libs.kotlinStdlibJdk8)
diff --git a/room/room-ktx/build.gradle b/room/room-ktx/build.gradle
index 4ffb708..daa8372 100644
--- a/room/room-ktx/build.gradle
+++ b/room/room-ktx/build.gradle
@@ -55,6 +55,6 @@
// Allow usage of Kotlin's @OptIn.
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
- freeCompilerArgs += ["-opt-in=kotlin.RequiresOptIn"]
+ freeCompilerArgs += ["-Xjvm-default=all", "-opt-in=kotlin.RequiresOptIn"]
}
}
diff --git a/room/room-migration/build.gradle b/room/room-migration/build.gradle
index 949ff6f..d9f13b9 100644
--- a/room/room-migration/build.gradle
+++ b/room/room-migration/build.gradle
@@ -15,12 +15,19 @@
*/
import androidx.build.Publish
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("AndroidXPlugin")
id("kotlin")
}
+tasks.withType(KotlinCompile).configureEach {
+ kotlinOptions {
+ freeCompilerArgs += ["-Xjvm-default=all"]
+ }
+}
+
dependencies {
implementation(project(":room:room-common"))
implementation(libs.kotlinStdlib)
diff --git a/room/room-runtime/build.gradle b/room/room-runtime/build.gradle
index 60f74f9..cb11beb 100644
--- a/room/room-runtime/build.gradle
+++ b/room/room-runtime/build.gradle
@@ -30,6 +30,9 @@
consumerProguardFiles "proguard-rules.pro"
}
namespace "androidx.room"
+ kotlinOptions {
+ freeCompilerArgs += ["-Xjvm-default=all"]
+ }
}
dependencies {
diff --git a/room/room-testing/build.gradle b/room/room-testing/build.gradle
index 2bf4ab2..39e53dd 100644
--- a/room/room-testing/build.gradle
+++ b/room/room-testing/build.gradle
@@ -19,6 +19,15 @@
plugins {
id("AndroidXPlugin")
id("com.android.library")
+ id("kotlin-android")
+}
+
+android {
+ namespace "androidx.room.testing"
+
+ kotlinOptions {
+ freeCompilerArgs += ["-Xjvm-default=all"]
+ }
}
dependencies {
@@ -38,7 +47,3 @@
inceptionYear = "2017"
description = "Android Room Testing"
}
-
-android {
- namespace "androidx.room.testing"
-}