Remove kotlin-compiler-embeddable dependency from room-compiler
Test: existing tests still pass
Change-Id: Iaf120182998eefaf5fe31adf19cfa3f111eab576
diff --git a/room/room-compiler/build.gradle b/room/room-compiler/build.gradle
index 95e0d32..ff0e1d5 100644
--- a/room/room-compiler/build.gradle
+++ b/room/room-compiler/build.gradle
@@ -87,8 +87,6 @@
testImplementation(libs.jsr250)
testImplementation(libs.mockitoCore4)
testImplementation(libs.antlr4)
- // TODO: Use `libs.kotlinCompilerEmbeddable` once AndroidX moves to K2
- testImplementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.20-Beta2")
testImplementation(SdkHelperKt.getSdkDependency(project))
testImplementationAarAsJar(project(":room:room-runtime"))
testImplementationAarAsJar(project(":sqlite:sqlite"))
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
index 860aef7..d30d126 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/BaseDaoKotlinCodeGenTest.kt
@@ -23,7 +23,6 @@
import androidx.room.runKspTestWithK1
import java.io.File
import loadTestSource
-import org.jetbrains.kotlin.config.JvmDefaultMode
import writeTestSource
abstract class BaseDaoKotlinCodeGenTest {
@@ -35,14 +34,14 @@
sources: List<Source>,
expectedFilePath: String,
compiledFiles: List<File> = emptyList(),
- jvmDefaultMode: JvmDefaultMode = JvmDefaultMode.DISABLE,
+ jvmDefaultMode: String = "disable",
handler: (XTestInvocation) -> Unit = {}
) {
runKspTestWithK1(
sources = sources,
classpath = compiledFiles,
options = mapOf(Context.BooleanProcessorOptions.GENERATE_KOTLIN.argName to "true"),
- kotlincArguments = listOf("-Xjvm-default=${jvmDefaultMode.description}")
+ kotlincArguments = listOf("-Xjvm-default=${jvmDefaultMode}")
) {
val databaseFqn = "androidx.room.Database"
DatabaseProcessingStep()
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
index a37f744..a4afa61 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DaoKotlinCodeGenTest.kt
@@ -21,7 +21,6 @@
import androidx.room.compiler.processing.util.compileFiles
import com.google.testing.junit.testparameterinjector.TestParameter
import com.google.testing.junit.testparameterinjector.TestParameterInjector
-import org.jetbrains.kotlin.config.JvmDefaultMode
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
@@ -1033,7 +1032,7 @@
@Test
fun delegatingFunctions_defaultImplBridge(
- @TestParameter("DISABLE", "ALL_COMPATIBILITY", "ALL") jvmDefaultMode: JvmDefaultMode
+ @TestParameter("disable", "all-compatibility", "all") jvmDefaultMode: String
) {
// For parametrized tests, use method name from reflection
val testName = object {}.javaClass.enclosingMethod!!.name
@@ -1109,7 +1108,7 @@
@Test
fun transactionMethodAdapter_interface(
- @TestParameter("DISABLE", "ALL_COMPATIBILITY", "ALL") jvmDefaultMode: JvmDefaultMode
+ @TestParameter("disable", "all-compatibility", "all") jvmDefaultMode: String
) {
// For parametrized tests, use method name from reflection
val testName = object {}.javaClass.enclosingMethod!!.name
diff --git a/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt b/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
index 366afe7..b237147 100644
--- a/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
+++ b/room/room-compiler/src/test/kotlin/androidx/room/writer/DefaultsInDaoTest.kt
@@ -27,7 +27,6 @@
import androidx.room.testing.context
import com.google.common.truth.StringSubject
import createVerifierFromEntitiesAndViews
-import org.jetbrains.kotlin.config.JvmDefaultMode
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
@@ -42,11 +41,11 @@
* For Java default method tests, we have DefaultDaoMethodsTest in TestApp.
*/
@RunWith(Parameterized::class)
-class DefaultsInDaoTest(private val jvmDefaultMode: JvmDefaultMode) {
+class DefaultsInDaoTest(private val jvmDefaultMode: String) {
@Test
fun abstractDao() {
val defaultWithCompatibilityAnnotation =
- if (jvmDefaultMode == JvmDefaultMode.ALL_COMPATIBILITY) {
+ if (jvmDefaultMode == "all-compatibility") {
"@JvmDefaultWithoutCompatibility"
} else {
""
@@ -101,7 +100,7 @@
)
compileInEachDefaultsMode(source) { generated ->
generated.contains("public void upsert(final User obj)")
- if (jvmDefaultMode == JvmDefaultMode.DISABLE) {
+ if (jvmDefaultMode == "disable") {
generated.contains("SubjectDao.DefaultImpls.upsert(SubjectDao_Impl.this")
} else {
generated.contains("SubjectDao.super.upsert(")
@@ -137,7 +136,7 @@
"public Object upsert(final User obj, " +
"final Continuation<? super Unit> \$completion)"
)
- if (jvmDefaultMode == JvmDefaultMode.DISABLE) {
+ if (jvmDefaultMode == "disable") {
generated.contains("SubjectDao.DefaultImpls.upsert(SubjectDao_Impl.this")
} else {
generated.contains("SubjectDao.super.upsert(")
@@ -182,8 +181,7 @@
runProcessorTestWithK1(
sources = listOf(source, COMMON.COROUTINES_ROOM, COMMON.ROOM_DATABASE_KTX),
javacArguments = listOf("-source", jvmTarget),
- kotlincArguments =
- listOf("-jvm-target=$jvmTarget", "-Xjvm-default=${jvmDefaultMode.description}")
+ kotlincArguments = listOf("-jvm-target=$jvmTarget", "-Xjvm-default=${jvmDefaultMode}")
) { invocation ->
invocation.roundEnv
.getElementsAnnotatedWith(androidx.room.Dao::class.qualifiedName!!)
@@ -223,9 +221,9 @@
@Parameters(name = "jvmDefaultMode={0}")
fun modes() =
listOf(
- JvmDefaultMode.ALL_COMPATIBILITY,
- JvmDefaultMode.ALL,
- JvmDefaultMode.DISABLE,
+ "all-compatibility",
+ "all",
+ "disable",
)
}
}