diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingPlugin.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingPlugin.kt index 9bfaab8eba..d951cc858c 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingPlugin.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingPlugin.kt @@ -18,16 +18,12 @@ package com.google.devtools.ksp import com.google.devtools.ksp.processing.impl.MessageCollectorBasedKSPLogger -import com.intellij.core.CoreApplicationEnvironment -import com.intellij.mock.MockProject -import com.intellij.psi.PsiTreeChangeAdapter -import com.intellij.psi.PsiTreeChangeListener import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot import org.jetbrains.kotlin.compiler.plugin.AbstractCliOption import org.jetbrains.kotlin.compiler.plugin.CliOptionProcessingException import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor -import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration @@ -63,8 +59,10 @@ class KotlinSymbolProcessingCommandLineProcessor : CommandLineProcessor { // https://github.com/tschuchortdev/kotlin-compile-testing @Suppress("DEPRECATION") @ExperimentalCompilerApi -class KotlinSymbolProcessingComponentRegistrar : ComponentRegistrar { - override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) { +class KotlinSymbolProcessingComponentRegistrar : CompilerPluginRegistrar() { + override val pluginId: String = "com.google.devtools.ksp.symbol-processing" + + override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { // KSP 1.x don't and will not support K2. Do not register if language version >= 2. if (configuration.languageVersionSettings.languageVersion >= LanguageVersion.KOTLIN_2_0) return @@ -87,13 +85,8 @@ class KotlinSymbolProcessingComponentRegistrar : ComponentRegistrar { throw IllegalStateException("ksp: `incremental` is incompatible with `withCompilation`.") } val kotlinSymbolProcessingHandlerExtension = KotlinSymbolProcessingExtension(options, logger) - AnalysisHandlerExtension.registerExtension(project, kotlinSymbolProcessingHandlerExtension) + AnalysisHandlerExtension.registerExtension(kotlinSymbolProcessingHandlerExtension) configuration.put(CommonConfigurationKeys.LOOKUP_TRACKER, DualLookupTracker()) - - // Dummy extension point; Required by dropPsiCaches(). - CoreApplicationEnvironment.registerExtensionPoint( - project.extensionArea, PsiTreeChangeListener.EP.name, PsiTreeChangeAdapter::class.java - ) } } diff --git a/compiler-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar b/compiler-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar similarity index 100% rename from compiler-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar rename to compiler-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar diff --git a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/GradleCompilationTest.kt b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/GradleCompilationTest.kt index 54d7f8a36e..3db6168d7e 100644 --- a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/GradleCompilationTest.kt +++ b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/GradleCompilationTest.kt @@ -32,17 +32,8 @@ import org.junit.Assume import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class GradleCompilationTest(val useKSP2: Boolean) { - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } +class GradleCompilationTest() { @Rule @JvmField @@ -50,7 +41,7 @@ class GradleCompilationTest(val useKSP2: Boolean) { @Rule @JvmField - val testRule = KspIntegrationTestRule(tmpDir, useKSP2) + val testRule = KspIntegrationTestRule(tmpDir) @Test fun errorMessageFailsCompilation() { @@ -420,27 +411,11 @@ class GradleCompilationTest(val useKSP2: Boolean) { assertThat(result.output).doesNotContain("app/build/generated/ksp/main/classes") } - @Test - fun changingKsp2AtRuntime() { - Assume.assumeFalse(useKSP2) - testRule.setupAppAsJvmApp() - testRule.appModule.buildFileAdditions.add( - """ - @OptIn(com.google.devtools.ksp.KspExperimental::class) - ksp { useKsp2.set(true) } - """.trimIndent() - ) - - testRule.runner().withArguments().build() - } - /** * Regression test for b/362279380 */ @Test fun androidGradlePluginBuiltInKotlin() { - // built in kotlin will only be supported with KSP2 - Assume.assumeTrue(useKSP2) testRule.setupAppAsAndroidApp(enableAgpBuiltInKotlinSupport = true) testRule.appModule.dependencies.addAll( listOf( diff --git a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/ProcessorClasspathConfigurationsTest.kt b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/ProcessorClasspathConfigurationsTest.kt index 66027fdc3b..5bfb058b79 100644 --- a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/ProcessorClasspathConfigurationsTest.kt +++ b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/ProcessorClasspathConfigurationsTest.kt @@ -21,17 +21,8 @@ import com.google.devtools.ksp.gradle.testing.KspIntegrationTestRule import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class ProcessorClasspathConfigurationsTest(val useKSP2: Boolean) { - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } +class ProcessorClasspathConfigurationsTest() { @Rule @JvmField @@ -39,7 +30,7 @@ class ProcessorClasspathConfigurationsTest(val useKSP2: Boolean) { @Rule @JvmField - val testRule = KspIntegrationTestRule(tmpDir, useKSP2) + val testRule = KspIntegrationTestRule(tmpDir) private val kspConfigs by lazy { """configurations.matching { it.name.startsWith("ksp") && !it.name.endsWith("ProcessorClasspath") }""" diff --git a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/SourceSetConfigurationsTest.kt b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/SourceSetConfigurationsTest.kt index 8f404b4e45..e54b38034f 100644 --- a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/SourceSetConfigurationsTest.kt +++ b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/SourceSetConfigurationsTest.kt @@ -28,22 +28,12 @@ import com.google.devtools.ksp.processing.SymbolProcessor import com.google.devtools.ksp.symbol.KSAnnotated import com.google.devtools.ksp.symbol.KSClassDeclaration import org.gradle.testkit.runner.TaskOutcome -import org.junit.Assume import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class SourceSetConfigurationsTest(val useKSP2: Boolean) { - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } +class SourceSetConfigurationsTest() { @Rule @JvmField @@ -51,7 +41,7 @@ class SourceSetConfigurationsTest(val useKSP2: Boolean) { @Rule @JvmField - val testRule = KspIntegrationTestRule(tmpDir, useKSP2) + val testRule = KspIntegrationTestRule(tmpDir) @Test fun configurationsForJvmApp() { @@ -167,7 +157,6 @@ class SourceSetConfigurationsTest(val useKSP2: Boolean) { @Test fun registerGeneratedSourcesToAndroid() { - Assume.assumeTrue(useKSP2) testRule.setupAppAsAndroidApp() testRule.appModule.dependencies.addAll( listOf( diff --git a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/KspIntegrationTestRule.kt b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/KspIntegrationTestRule.kt index 1186b83884..80b535c3dd 100644 --- a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/KspIntegrationTestRule.kt +++ b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/KspIntegrationTestRule.kt @@ -30,7 +30,6 @@ import kotlin.reflect.KClass */ class KspIntegrationTestRule( private val tmpFolder: TemporaryFolder, - private val useKSP2: Boolean ) : TestWatcher() { /** * Initialized when the test starts. @@ -169,6 +168,6 @@ class KspIntegrationTestRule( override fun starting(description: Description) { super.starting(description) - testProject = TestProject(tmpFolder.newFolder(), testConfig, useKSP2) + testProject = TestProject(tmpFolder.newFolder(), testConfig) } } diff --git a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/TestProject.kt b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/TestProject.kt index 10a28ab204..f0c39f3646 100644 --- a/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/TestProject.kt +++ b/gradle-plugin/src/test/kotlin/com/google/devtools/ksp/gradle/testing/TestProject.kt @@ -24,7 +24,6 @@ import java.io.File class TestProject( val rootDir: File, val testConfig: TestConfig, - val useKSP2: Boolean, ) { val processorModule = TestModule( rootDir.resolve("processor") @@ -60,7 +59,6 @@ class TestProject( val contents = """ kotlin.jvm.target.validation.mode=warning - ksp.useKSP2=$useKSP2 """.trimIndent() rootDir.resolve("gradle.properties").appendText(contents) } diff --git a/gradle.properties b/gradle.properties index 19a0bb5e55..fa7a6ad44c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Copied from kotlinc org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx4096m -Dfile.encoding=UTF-8 -kotlinBaseVersion=2.2.20 +kotlinBaseVersion=2.3.0-Beta1 agpBaseVersion=8.13.0-rc01 intellijVersion=241.19416.19 junitVersion=4.13.1 diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP810IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP810IT.kt index 3cd8e922cd..f84c2b1751 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP810IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP810IT.kt @@ -10,7 +10,7 @@ import java.io.File class AGP810IT { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground", true) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground") @Test fun testRunsKSP() { diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP812IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP812IT.kt index c981ec19df..851c275754 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP812IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP812IT.kt @@ -10,7 +10,7 @@ import java.io.File class AGP812IT { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground", true) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground") @Test fun testRunsKSP() { diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP890IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP890IT.kt index 52e3e48f8c..6135261f28 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP890IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP890IT.kt @@ -10,7 +10,7 @@ import java.io.File class AGP890IT { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground", true) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground") @Test fun testRunsKSP() { diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP900IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP900IT.kt index 79ba9b45a7..394e3cbb0b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP900IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AGP900IT.kt @@ -5,15 +5,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class AGP900IT(useKSP2: Boolean) { +class AGP900IT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground") @Test fun testRunsKSP() { @@ -27,10 +24,4 @@ class AGP900IT(useKSP2: Boolean) { Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:kspDebugKotlin")?.outcome) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidBuiltInKotlinIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidBuiltInKotlinIT.kt index 65cc15c448..d85b3c58a8 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidBuiltInKotlinIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidBuiltInKotlinIT.kt @@ -10,7 +10,7 @@ import java.io.File class AndroidBuiltInKotlinIT { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-builtinkotlin", "playground", true) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-builtinkotlin", "playground") @Test fun testPlaygroundAndroidWithBuiltInKotlin() { diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidDataBindingIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidDataBindingIT.kt index e0ba688b8b..55c98c4f1b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidDataBindingIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidDataBindingIT.kt @@ -4,14 +4,11 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class AndroidDataBindingIT(useKSP2: Boolean) { +class AndroidDataBindingIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("android-data-binding", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("android-data-binding") @Test fun testPlaygroundAndroid() { @@ -33,10 +30,4 @@ class AndroidDataBindingIT(useKSP2: Boolean) { Assert.assertTrue(kspTask.isNotEmpty()) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIT.kt index f7aab64a88..39b5bbd383 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIT.kt @@ -5,15 +5,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class AndroidIT(useKSP2: Boolean) { +class AndroidIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android", "playground", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground-android", "playground") @Test fun testPlaygroundAndroid() { @@ -36,12 +33,6 @@ class AndroidIT(useKSP2: Boolean) { assert("w: [ksp] [workload_release] Mangled name for internalFun: internalFun\$workload_release" in outputs) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } /** diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIncrementalIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIncrementalIT.kt index c7cdb0af86..aa620287d7 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIncrementalIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidIncrementalIT.kt @@ -23,15 +23,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class AndroidIncrementalIT(useKSP2: Boolean) { +class AndroidIncrementalIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-multi", "playground") private fun testWithExtraFlags(vararg extras: String) { val gradleRunner = GradleRunner.create().withProjectDir(project.root) @@ -68,10 +65,4 @@ class AndroidIncrementalIT(useKSP2: Boolean) { fun testPlaygroundAndroid() { testWithExtraFlags() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidViewBindingIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidViewBindingIT.kt index 3159f215a7..a91f675a4b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidViewBindingIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/AndroidViewBindingIT.kt @@ -4,14 +4,11 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class AndroidViewBindingIT(useKSP2: Boolean) { +class AndroidViewBindingIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("android-view-binding", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("android-view-binding") @Test fun testPlaygroundAndroid() { @@ -33,10 +30,4 @@ class AndroidViewBindingIT(useKSP2: Boolean) { Assert.assertTrue(kspTask.isNotEmpty()) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt index 024206a2e0..19747438cf 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt @@ -5,19 +5,16 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class BuildCacheIT(useKSP2: Boolean) { +class BuildCacheIT() { @Rule @JvmField - val project1: TemporaryTestProject = TemporaryTestProject("buildcache", "playground", useKSP2) + val project1: TemporaryTestProject = TemporaryTestProject("buildcache", "playground") @Rule @JvmField - val project2: TemporaryTestProject = TemporaryTestProject("buildcache", "playground", useKSP2) + val project2: TemporaryTestProject = TemporaryTestProject("buildcache", "playground") @Test fun testBuildCache() { @@ -41,10 +38,4 @@ class BuildCacheIT(useKSP2: Boolean) { Assert.assertEquals(TaskOutcome.FROM_CACHE, it.task(":workload:kspKotlin")?.outcome) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIncrementalIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIncrementalIT.kt index 3261d516db..d564dc7eb6 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIncrementalIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIncrementalIT.kt @@ -3,15 +3,12 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class BuildCacheIncrementalIT(useKSP2: Boolean) { +class BuildCacheIncrementalIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("buildcache-incremental", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("buildcache-incremental") // See https://github.com/google/ksp/issues/2042 for details @Test @@ -38,10 +35,4 @@ class BuildCacheIncrementalIT(useKSP2: Boolean) { ) gradleRunner.withArguments("assemble", "--stacktrace").build() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuiltInKotlinAGP900IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuiltInKotlinAGP900IT.kt index 9b2e686f8e..2b681d45e2 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuiltInKotlinAGP900IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuiltInKotlinAGP900IT.kt @@ -10,7 +10,7 @@ import java.io.File class BuiltInKotlinAGP900IT { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-android-builtinkotlin", "playground", true) + val project: TemporaryTestProject = TemporaryTestProject("playground-android-builtinkotlin", "playground") @Test fun testRunsKSP() { diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedRefsIncIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedRefsIncIT.kt index bd554bda0c..eb8910db2b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedRefsIncIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedRefsIncIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class GeneratedRefsIncIT(val useKSP2: Boolean) { +class GeneratedRefsIncIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("refs-gen", "test-processor", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("refs-gen", "test-processor") @Test fun testGeneratedRefsInc() { @@ -69,10 +66,4 @@ class GeneratedRefsIncIT(val useKSP2: Boolean) { Assert.assertEquals(expectedBar, outputs) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedSrcsIncIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedSrcsIncIT.kt index 0bab5ba1c9..5464cf4559 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedSrcsIncIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GeneratedSrcsIncIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class GeneratedSrcsIncIT(useKSP2: Boolean) { +class GeneratedSrcsIncIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("srcs-gen", "test-processor", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("srcs-gen", "test-processor") @Test fun testGeneratedSrcsInc() { @@ -41,10 +38,4 @@ class GeneratedSrcsIncIT(useKSP2: Boolean) { Assert.assertEquals(expected2, outputs) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GetSealedSubclassesIncIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GetSealedSubclassesIncIT.kt index 3610aba833..17256cff3e 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GetSealedSubclassesIncIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/GetSealedSubclassesIncIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class GetSealedSubclassesIncIT(val useKSP2: Boolean) { +class GetSealedSubclassesIncIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("sealed-subclasses", "test-processor", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("sealed-subclasses", "test-processor") @Test fun testGetSealedSubclassesInc() { @@ -56,10 +53,4 @@ class GetSealedSubclassesIncIT(val useKSP2: Boolean) { Assert.assertEquals(expected2, outputs) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/HmppIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/HmppIT.kt index 80036b2034..c0ed2da2df 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/HmppIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/HmppIT.kt @@ -2,18 +2,13 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Assert -import org.junit.Assume -import org.junit.Ignore import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class HmppIT(val useKSP2: Boolean) { +class HmppIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("hmpp", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("hmpp") val taskToFilesTraditional = mapOf( ":workload:kspCommonMainKotlinMetadata" to "w: [ksp] EchoProcessor: CommonMain", @@ -68,29 +63,4 @@ class HmppIT(val useKSP2: Boolean) { "w: [ksp] EchoProcessor: ((CommonMain)_JvmLinuxX64)_(CommonMain)_LinuxX64Main", ), ) - - @Ignore - @Test - fun testHmpp() { - Assume.assumeFalse(useKSP2) - Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) - val gradleRunner = GradleRunner.create().withProjectDir(project.root) - - taskToFilesHmpp.forEach { (task, expected) -> - gradleRunner.withArguments( - "--configuration-cache-problems=warn", - "--rerun-tasks", - task, - ).build().let { result -> - val logs = result.output.lines().filter { it.startsWith("w: [ksp] EchoProcessor: ") }.toSet() - Assert.assertTrue(logs == expected) - } - } - } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalCPIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalCPIT.kt index fc1051d551..ccbe3ffb7f 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalCPIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalCPIT.kt @@ -5,15 +5,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalCPIT(val useKSP2: Boolean) { +class IncrementalCPIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("incremental-classpath", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("incremental-classpath") private val src2Dirty = listOf( "l1/src/main/kotlin/p1/L1.kt" to setOf( @@ -216,10 +213,4 @@ class IncrementalCPIT(val useKSP2: Boolean) { fun toggleIncrementalFlagsWithConfigurationCache() { toggleFlags("--configuration-cache") } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalEmptyCPIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalEmptyCPIT.kt index b3834c4418..2f45ee3a78 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalEmptyCPIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalEmptyCPIT.kt @@ -5,16 +5,13 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalEmptyCPIT(val useKSP2: Boolean) { +class IncrementalEmptyCPIT() { @Rule @JvmField val project: TemporaryTestProject = - TemporaryTestProject("incremental-classpath2", "incremental-classpath", useKSP2 = useKSP2) + TemporaryTestProject("incremental-classpath2", "incremental-classpath") private val emptyMessage = setOf("w: [ksp] processing done") @@ -52,10 +49,4 @@ class IncrementalEmptyCPIT(val useKSP2: Boolean) { } } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalIT.kt index 0b1f47082c..2e96f3e5f6 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalIT.kt @@ -6,78 +6,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalIT(val useKSP2: Boolean) { +class IncrementalIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("incremental", useKSP2 = useKSP2) - - val src2DirtyKSP1 = listOf( - "workload/src/main/java/p1/J1.java" to setOf( - "w: [ksp] p1/TestK2J.kt", - "w: [ksp] p1/TestJ2J.java", - "w: [ksp] p1/J1.java", - ), - "workload/src/main/java/p1/J2.java" to setOf( - "w: [ksp] p1/J2.java", - ), - "workload/src/main/java/p1/TestJ2J.java" to setOf( - "w: [ksp] p1/TestJ2J.java", - ), - "workload/src/main/java/p1/TestJ2K.java" to setOf( - "w: [ksp] p1/TestJ2K.java", - ), - "workload/src/main/java/p2/J2.java" to setOf( - "w: [ksp] p1/TestK2J.kt", - "w: [ksp] p2/J2.java", - "w: [ksp] p1/TestJ2J.java", - ), - "workload/src/main/java/p3/J1.java" to setOf( - "w: [ksp] p3/J1.java", - ), - "workload/src/main/java/p3/J2.java" to setOf( - "w: [ksp] p3/J2.java", - ), - "workload/src/main/java/p3/J3.java" to setOf( - "w: [ksp] p1/TestK2J.kt", - "w: [ksp] p1/TestJ2J.java", - "w: [ksp] p3/J3.java", - ), - "workload/src/main/kotlin/p1/K1.kt" to setOf( - "w: [ksp] p1/TestK2K.kt", - "w: [ksp] p1/K1.kt", - "w: [ksp] p1/TestJ2K.java", - ), - "workload/src/main/kotlin/p1/K2.kt" to setOf( - "w: [ksp] p1/K2.kt", - ), - "workload/src/main/kotlin/p1/TestK2J.kt" to setOf( - "w: [ksp] p1/TestK2J.kt", - ), - "workload/src/main/kotlin/p1/TestK2K.kt" to setOf( - "w: [ksp] p1/TestK2K.kt", - ), - "workload/src/main/kotlin/p2/K2.kt" to setOf( - "w: [ksp] p1/TestK2K.kt", - "w: [ksp] p2/K2.kt", - "w: [ksp] p1/TestJ2K.java", - ), - "workload/src/main/kotlin/p3/K1.kt" to setOf( - "w: [ksp] p3/K1.kt", - ), - "workload/src/main/kotlin/p3/K2.kt" to setOf( - "w: [ksp] p3/K2.kt", - ), - "workload/src/main/kotlin/p3/K3.kt" to setOf( - "w: [ksp] p1/TestK2K.kt", - "w: [ksp] p3/K3.kt", - "w: [ksp] p1/TestJ2K.java", - ) - ) + val project: TemporaryTestProject = TemporaryTestProject("incremental") // K2 did some more lookups, which might be a spec change or potential optimization opportunity. // TODO: check with JetBrains. @@ -150,7 +84,7 @@ class IncrementalIT(val useKSP2: Boolean) { ) ) - val src2Dirty = if (useKSP2) src2DirtyKSP2 else src2DirtyKSP1 + val src2Dirty = src2DirtyKSP2 @Test fun testUpToDate() { @@ -335,10 +269,4 @@ class IncrementalIT(val useKSP2: Boolean) { File(project.root, "validator/src/main/kotlin/Validator.kt").appendText("\n") buildAndCheck() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalMultiChainIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalMultiChainIT.kt index 00e0194f73..b65eb69fa1 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalMultiChainIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalMultiChainIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalMultiChainIT(useKSP2: Boolean) { +class IncrementalMultiChainIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("incremental-multi-chain", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("incremental-multi-chain") @Test fun testMultiChain() { @@ -52,10 +49,4 @@ class IncrementalMultiChainIT(useKSP2: Boolean) { ) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemoval2IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemoval2IT.kt index 830d437ea3..4846cef438 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemoval2IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemoval2IT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalRemoval2IT(useKSP2: Boolean) { +class IncrementalRemoval2IT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("incremental-removal2", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("incremental-removal2") @Test fun testRemoveOutputs() { @@ -32,10 +29,4 @@ class IncrementalRemoval2IT(useKSP2: Boolean) { Assert.assertFalse(result.output.contains("Input: K2.kt")) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemovalIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemovalIT.kt index 189f4d6018..ead4ff25ba 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemovalIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/IncrementalRemovalIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class IncrementalRemovalIT(useKSP2: Boolean) { +class IncrementalRemovalIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("incremental-removal", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("incremental-removal") @Test fun testRemoveOutputs() { @@ -35,10 +32,4 @@ class IncrementalRemovalIT(useKSP2: Boolean) { Assert.assertTrue(result.output.contains("result: generated")) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/InitPlusProviderIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/InitPlusProviderIT.kt index 6d26a188b3..a5bfacd4bc 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/InitPlusProviderIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/InitPlusProviderIT.kt @@ -5,16 +5,13 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.JarFile -@RunWith(Parameterized::class) -class InitPlusProviderIT(useKSP2: Boolean) { +class InitPlusProviderIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("init-plus-provider", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("init-plus-provider") @Test fun testInitPlusProvider() { @@ -33,10 +30,4 @@ class InitPlusProviderIT(useKSP2: Boolean) { Assert.assertTrue(jarFile.getEntry("GeneratedFromProvider.class").size > 0) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaNestedClassIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaNestedClassIT.kt index 9ef4d067e5..4e744960d4 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaNestedClassIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaNestedClassIT.kt @@ -5,14 +5,11 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class JavaNestedClassIT(useKSP2: Boolean) { +class JavaNestedClassIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("javaNestedClass", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("javaNestedClass") @Test fun testJavaNestedClass() { @@ -22,10 +19,4 @@ class JavaNestedClassIT(useKSP2: Boolean) { val resultCleanBuild = gradleRunner.withArguments("clean", "build").build() Assert.assertEquals(TaskOutcome.SUCCESS, resultCleanBuild.task(":workload:build")?.outcome) } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaOnlyIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaOnlyIT.kt index 49f5af6b4e..08480ac9e2 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaOnlyIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/JavaOnlyIT.kt @@ -6,15 +6,12 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class JavaOnlyIT(useKSP2: Boolean) { +class JavaOnlyIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("java-only", "test-processor", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("java-only", "test-processor") @Test fun testJavaOnly() { @@ -34,10 +31,4 @@ class JavaOnlyIT(useKSP2: Boolean) { Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:assemble")?.outcome) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KAPT3IT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KAPT3IT.kt index 7ed5399aa7..8afbd0fd77 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KAPT3IT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KAPT3IT.kt @@ -6,16 +6,13 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.JarFile -@RunWith(Parameterized::class) -class KAPT3IT(useKSP2: Boolean) { +class KAPT3IT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("kapt3", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("kapt3") private fun GradleRunner.buildAndCheck(vararg args: String, extraCheck: (BuildResult) -> Unit = {}) = buildAndCheckOutcome(*args, outcome = TaskOutcome.SUCCESS, extraCheck = extraCheck) @@ -49,10 +46,4 @@ class KAPT3IT(useKSP2: Boolean) { Akt.appendText("class Void") gradleRunner.buildAndCheck("--build-cache", "build") } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KMPImplementedIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KMPImplementedIT.kt index dcf715fcd5..4a58beb870 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KMPImplementedIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KMPImplementedIT.kt @@ -8,16 +8,13 @@ import org.junit.Assume import org.junit.Ignore import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.* -@RunWith(Parameterized::class) -class KMPImplementedIT(val useKSP2: Boolean) { +class KMPImplementedIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("kmp", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("kmp") private fun verify(jarName: String, contents: List) { val artifact = File(project.root, jarName) @@ -167,8 +164,6 @@ class KMPImplementedIT(val useKSP2: Boolean) { @Test fun testDefaultArgumentsImpl() { Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) - // FIXME: KSP1 - Assume.assumeTrue(useKSP2) val gradleRunner = GradleRunner.create().withProjectDir(project.root) val newSrc = File(project.root, "workload-wasm/src/wasmJsMain/kotlin/com/example/AnnoOnProperty.kt") @@ -441,10 +436,4 @@ class AnnoOnProperty { checkExecutionOptimizations(output) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KSPCmdLineOptionsIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KSPCmdLineOptionsIT.kt index 4ac7851c7f..e341371bcf 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KSPCmdLineOptionsIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KSPCmdLineOptionsIT.kt @@ -7,8 +7,6 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.ByteArrayOutputStream import java.io.File import java.io.PrintStream @@ -18,11 +16,10 @@ import java.net.URLClassLoader data class CompileResult(val exitCode: ExitCode, val output: String) -@RunWith(Parameterized::class) -class KSPCmdLineOptionsIT(val useKSP2: Boolean) { +class KSPCmdLineOptionsIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("cmd-options", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("cmd-options") private fun runCmdCompiler(pluginOptions: List): CompileResult { val gradleRunner = GradleRunner.create().withProjectDir(project.root) @@ -67,36 +64,6 @@ class KSPCmdLineOptionsIT(val useKSP2: Boolean) { return CompileResult(exitCode, outStream.toString()) } - @Test - fun testWithCompilationOnError() { - Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) - Assume.assumeFalse(useKSP2) - val result = runCmdCompiler(listOf("apoption=error=true", "withCompilation=true")) - val errors = result.output.lines().filter { it.startsWith("error: [ksp]") } - val exitCode = result.exitCode - Assert.assertTrue(exitCode == ExitCode.COMPILATION_ERROR) - Assert.assertTrue( - errors.any { - it.startsWith("error: [ksp] java.lang.IllegalStateException: Error on request") - } - ) - } - - @Test - fun testWithCompilationOnErrorOk() { - Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) - Assume.assumeFalse(useKSP2) - val result = runCmdCompiler(listOf("apoption=error=true", "returnOkOnError=true", "withCompilation=true")) - val errors = result.output.lines().filter { it.startsWith("error: [ksp]") } - val exitCode = result.exitCode - Assert.assertTrue(exitCode == ExitCode.OK) - Assert.assertTrue( - errors.any { - it.startsWith("error: [ksp] java.lang.IllegalStateException: Error on request") - } - ) - } - private fun getKsp2Main(mainClassName: String): Method { val repoPath = "../build/repos/test/com/google/devtools/ksp/" @@ -144,7 +111,6 @@ class KSPCmdLineOptionsIT(val useKSP2: Boolean) { } fun testKsp2(mainClassName: String, platformArgs: List) { - Assume.assumeTrue(useKSP2) Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) val sharedArgs = getKsp2SharedArgs() @@ -215,10 +181,4 @@ class KSPCmdLineOptionsIT(val useKSP2: Boolean) { ) ) } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KaptKspTest.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KaptKspTest.kt index 69aa6b3ac2..04c290272e 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KaptKspTest.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KaptKspTest.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class KaptKspTest(useKSP2: Boolean) { +class KaptKspTest() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("android-view-binding", "playground", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("android-view-binding", "playground") @Test fun testPlaygroundAndroid() { @@ -36,10 +33,4 @@ class KaptKspTest(useKSP2: Boolean) { Assert.assertTrue(kaptTask.isNotEmpty()) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinConstsInJavaIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinConstsInJavaIT.kt index 16ad8d95d4..82c8159413 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinConstsInJavaIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinConstsInJavaIT.kt @@ -7,15 +7,12 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class KotlinConstsInJavaIT(useKSP2: Boolean) { +class KotlinConstsInJavaIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("kotlin-consts-in-java", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("kotlin-consts-in-java") private fun GradleRunner.buildAndCheck(vararg args: String, extraCheck: (BuildResult) -> Unit = {}) = buildAndCheckOutcome(*args, outcome = TaskOutcome.SUCCESS, extraCheck = extraCheck) @@ -42,10 +39,4 @@ class KotlinConstsInJavaIT(useKSP2: Boolean) { File(project.root, "workload/src/main/java/com/example/JavaClass.java").appendText("\n") gradleRunner.buildAndCheck(":workload:kspKotlin") } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinInjectIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinInjectIT.kt index cb4092883e..067b8d3982 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinInjectIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/KotlinInjectIT.kt @@ -3,15 +3,12 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class KotlinInjectIT(val useKSP2: Boolean) { +class KotlinInjectIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("kotlin-inject", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("kotlin-inject") @Test fun triggerException() { @@ -46,10 +43,4 @@ class KotlinInjectIT(val useKSP2: Boolean) { setup(shouldFail = false) gradleRunner.withArguments("compileKotlinJvm").build() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MapAnnotationArgumentsIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MapAnnotationArgumentsIT.kt deleted file mode 100644 index aed5be41de..0000000000 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MapAnnotationArgumentsIT.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.google.devtools.ksp.test - -import org.gradle.testkit.runner.GradleRunner -import org.gradle.testkit.runner.TaskOutcome -import org.junit.Assert -import org.junit.Assume -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized - -@RunWith(Parameterized::class) -class MapAnnotationArgumentsIT(val useKSP2: Boolean) { - @Rule - @JvmField - val project: TemporaryTestProject = TemporaryTestProject("map-annotation-arguments", "test-processor", useKSP2) - - val expectedErrors = listOf( - "e: [ksp] unboxedChar: Char != Character\n", - "e: [ksp] boxedChar: (Char..Char?) != Character\n", - "e: Error occurred in KSP, check log for detail\n", - ) - - @Test - fun testMapAnnotationArguments() { - Assume.assumeFalse(useKSP2) - Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) - val gradleRunner = GradleRunner.create().withProjectDir(project.root) - - gradleRunner.withArguments("assemble", "-Pksp.map.annotation.arguments.in.java=true").build().let { result -> - Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:kspKotlin")?.outcome) - Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:assemble")?.outcome) - } - - gradleRunner.withArguments("clean", "assemble", "--rerun-tasks").buildAndFail().let { result -> - Assert.assertEquals(TaskOutcome.FAILED, result.task(":workload:kspKotlin")?.outcome) - Assert.assertTrue(expectedErrors.all { it in result.output }) - } - - gradleRunner.withArguments("clean", "assemble", "-Pksp.map.annotation.arguments.in.java=false", "--rerun-tasks") - .buildAndFail().let { result -> - Assert.assertEquals(TaskOutcome.FAILED, result.task(":workload:kspKotlin")?.outcome) - Assert.assertTrue(expectedErrors.all { it in result.output }) - } - } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } -} diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MultiplatformIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MultiplatformIT.kt index 68baee86c1..2005d43c8b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MultiplatformIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/MultiplatformIT.kt @@ -6,16 +6,13 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.* -@RunWith(Parameterized::class) -class MultiplatformIT(useKSP2: Boolean) { +class MultiplatformIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground-mpp", "playground", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground-mpp", "playground") @Test fun testJVM() { @@ -37,10 +34,4 @@ class MultiplatformIT(useKSP2: Boolean) { Assert.assertTrue(jarFile.getEntry("com/example/AClassBuilder.class").size > 0) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnErrorIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnErrorIT.kt index a0444ce0d2..7bceab0698 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnErrorIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnErrorIT.kt @@ -4,15 +4,12 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class OnErrorIT(useKSP2: Boolean) { +class OnErrorIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("on-error", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("on-error") @Test fun testOnError() { @@ -111,10 +108,4 @@ class OnErrorIT(useKSP2: Boolean) { } project.restore("workload/build.gradle.kts") } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnlyResourcesFileIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnlyResourcesFileIT.kt index fc11461a44..bff105372a 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnlyResourcesFileIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OnlyResourcesFileIT.kt @@ -3,14 +3,11 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class OnlyResourcesFileIT(useKSP2: Boolean) { +class OnlyResourcesFileIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("only-resources-file", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("only-resources-file") @Test fun test() { @@ -21,10 +18,4 @@ class OnlyResourcesFileIT(useKSP2: Boolean) { "jvmJar", ).build() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OutputDepsIt.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OutputDepsIt.kt index 516f0f44f5..c16613b4ee 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OutputDepsIt.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/OutputDepsIt.kt @@ -7,15 +7,12 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class OutputDepsIt(val useKSP2: Boolean) { +class OutputDepsIt() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("output-deps", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("output-deps") val src2Dirty = listOf( "workload/src/main/java/p1/J1.java" to setOf( @@ -181,10 +178,4 @@ class OutputDepsIt(val useKSP2: Boolean) { } } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PartialCleanIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PartialCleanIT.kt index cd354ea5c8..483835de0b 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PartialCleanIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PartialCleanIT.kt @@ -5,15 +5,12 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File -@RunWith(Parameterized::class) -class PartialCleanIT(useKSP2: Boolean) { +class PartialCleanIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("partial-clean", "test-processor", useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("partial-clean", "test-processor") @Test fun testWorkaroundForIncorrectlyMarkedInputs() { @@ -27,10 +24,4 @@ class PartialCleanIT(useKSP2: Boolean) { Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:kspKotlin")?.outcome) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PlaygroundIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PlaygroundIT.kt index 183d3e2894..e96325587d 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PlaygroundIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PlaygroundIT.kt @@ -7,16 +7,13 @@ import org.junit.Assert import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.* -@RunWith(Parameterized::class) -class PlaygroundIT(val useKSP2: Boolean) { +class PlaygroundIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground") private fun GradleRunner.buildAndCheck(vararg args: String, extraCheck: (BuildResult) -> Unit = {}) = buildAndCheckOutcome(*args, outcome = TaskOutcome.SUCCESS, extraCheck = extraCheck) @@ -262,11 +259,7 @@ class PlaygroundIT(val useKSP2: Boolean) { gradleRunner.buildAndCheck("clean", "build") { result -> Assert.assertTrue(result.output.contains("language version: 1.8")) Assert.assertTrue(result.output.contains("api version: 1.8")) - if (!useKSP2) { - // In case KSP 1 and KSP 2 uses different compiler versions, ignore this test for KSP 2 for now. - Assert.assertTrue(result.output.contains("compiler version: $kotlinVersion")) - } - val expectedKspVersion = if (useKSP2) "2.0" else "1.0" + val expectedKspVersion = "2.0" Assert.assertTrue(result.output.contains("ksp version: $expectedKspVersion")) } project.restore(buildFile.path) @@ -413,10 +406,4 @@ class PlaygroundIT(val useKSP2: Boolean) { } } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PsiCacheIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PsiCacheIT.kt index 9a71c4fa41..f6f7d77b59 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PsiCacheIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/PsiCacheIT.kt @@ -3,14 +3,11 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class PsiCacheIT(useKSP2: Boolean) { +class PsiCacheIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("psi-cache", "test-processor", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("psi-cache", "test-processor") @Test fun testPsiCache() { @@ -18,10 +15,4 @@ class PsiCacheIT(useKSP2: Boolean) { gradleRunner.withArguments("assemble").build() } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/TemporaryTestProject.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/TemporaryTestProject.kt index bb7c9f1a7b..ee8c9e2643 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/TemporaryTestProject.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/TemporaryTestProject.kt @@ -6,7 +6,6 @@ import java.io.File class TemporaryTestProject( projectName: String, baseProject: String? = null, - val useKSP2: Boolean = false, ) : TemporaryFolder() { private val testProjectSrc = File("src/test/resources", projectName) private val baseProjectSrc = baseProject?.let { File("src/test/resources", baseProject) } @@ -37,9 +36,6 @@ class TemporaryTestProject( appendProperty("org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1024m") appendProperty("kotlin.daemon.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1024m") - // Update `params` in test classses to enable / disable KSP2. - appendProperty("ksp.useKSP2=$useKSP2") - // To debug compiler and compiler plugin: // 1. s/kotlin-compiler/kotlin-compiler-embeddable in integration-tests/build.gradle.kts, and // 2. uncomment below diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VerboseIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VerboseIT.kt index 126a4baaa0..962249b7da 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VerboseIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VerboseIT.kt @@ -6,16 +6,13 @@ import org.gradle.testkit.runner.TaskOutcome import org.junit.Assert import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File import java.util.jar.JarFile -@RunWith(Parameterized::class) -class VerboseIT(useKSP2: Boolean) { +class VerboseIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground", useKSP2 = useKSP2) + val project: TemporaryTestProject = TemporaryTestProject("playground") private fun GradleRunner.buildAndCheck(vararg args: String, extraCheck: (BuildResult) -> Unit = {}) = buildAndCheckOutcome(*args, outcome = TaskOutcome.SUCCESS, extraCheck = extraCheck) @@ -67,10 +64,4 @@ class VerboseIT(useKSP2: Boolean) { Assert.assertTrue(result.output.contains("v: [ksp] round 3 of processing")) } } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } } diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VersionCheckIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VersionCheckIT.kt index 6943e1167b..790e01cd13 100644 --- a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VersionCheckIT.kt +++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/VersionCheckIT.kt @@ -2,34 +2,13 @@ package com.google.devtools.ksp.test import org.gradle.testkit.runner.GradleRunner import org.junit.Assert -import org.junit.Assume import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized -@RunWith(Parameterized::class) -class VersionCheckIT(val useKSP2: Boolean) { +class VersionCheckIT() { @Rule @JvmField - val project: TemporaryTestProject = TemporaryTestProject("playground", useKSP2 = useKSP2) - - @Test - fun testKsp1Usage() { - Assume.assumeFalse(useKSP2) - val gradleRunner = GradleRunner.create().withProjectDir(project.root) - val result = gradleRunner.withArguments( - "clean", "build" - ).run() - - Assert.assertTrue( - result.output.contains( - "We noticed you are using KSP1 which is deprecated and support for it will be removed " + - "soon - please migrate to KSP2 as soon as possible. KSP1 will no " + - "longer be compatible with Android Gradle Plugin 9.0.0 (and above) and Kotlin 2.3.0 (and above)" - ) - ) - } + val project: TemporaryTestProject = TemporaryTestProject("playground") @Test fun testVersion() { @@ -37,11 +16,7 @@ class VersionCheckIT(val useKSP2: Boolean) { val result = gradleRunner.withArguments( "-PkotlinVersion=2.0.0", "clean", "build" ).run() - if (!useKSP2) { - Assert.assertTrue(result.output.contains("is too new for kotlin")) - } else { - Assert.assertFalse(result.output.contains("is too new for kotlin")) - } + Assert.assertFalse(result.output.contains("is too new for kotlin")) } @Test @@ -62,10 +37,4 @@ class VersionCheckIT(val useKSP2: Boolean) { ).run() Assert.assertFalse(result.output.contains("is too new for kotlin")) } - - companion object { - @JvmStatic - @Parameterized.Parameters(name = "KSP2={0}") - fun params() = listOf(arrayOf(true), arrayOf(false)) - } }