From 078ad1174e665a91247af25b486bc064883ca37c Mon Sep 17 00:00:00 2001 From: utzcoz Date: Sat, 4 May 2024 21:31:53 +0800 Subject: [PATCH] Improve Spotless ktfmt integration 1. Let integration_tests to use SpotlessPlugin. 2. Bump ktfmt to 0.49. 3. Re-format existing Kotlin files with new ktfmt. Signed-off-by: utzcoz --- .../robolectric/gradle/SpotlessPlugin.groovy | 3 +-- integration_tests/kotlin/build.gradle | 4 ++++ integration_tests/mockito-kotlin/build.gradle | 10 ++------ integration_tests/mockk/build.gradle | 10 ++------ integration_tests/roborazzi/build.gradle | 4 ++++ integration_tests/sdkcompat/build.gradle | 10 ++------ integration_tests/sparsearray/build.gradle | 5 ++++ .../org/robolectric/MavenRoboSettingsTest.kt | 1 + .../dependency/MavenDependencyResolverTest.kt | 24 +++++++++---------- .../util/PerfStatsCollectorTest.kt | 1 + .../org/robolectric/util/SchedulerTest.kt | 16 ++++++------- .../util/inject/PluginFinderTest.kt | 12 ++++++---- 12 files changed, 49 insertions(+), 51 deletions(-) diff --git a/buildSrc/src/main/groovy/org/robolectric/gradle/SpotlessPlugin.groovy b/buildSrc/src/main/groovy/org/robolectric/gradle/SpotlessPlugin.groovy index 8622fd2a02a..3aa88664a6c 100644 --- a/buildSrc/src/main/groovy/org/robolectric/gradle/SpotlessPlugin.groovy +++ b/buildSrc/src/main/groovy/org/robolectric/gradle/SpotlessPlugin.groovy @@ -11,7 +11,7 @@ class SpotlessPlugin implements Plugin { kotlin { // Add configurations for Kotlin files target '**/*.kt' - ktfmt('0.42').googleStyle() + ktfmt('0.49').googleStyle() } groovy { // Add configurations for Groovy files @@ -21,7 +21,6 @@ class SpotlessPlugin implements Plugin { // Add configurations for Groovy Gradle files target('*.gradle', "**/*.gradle") } - } } } \ No newline at end of file diff --git a/integration_tests/kotlin/build.gradle b/integration_tests/kotlin/build.gradle index c95d64f3f7e..a86954e23e9 100644 --- a/integration_tests/kotlin/build.gradle +++ b/integration_tests/kotlin/build.gradle @@ -1,7 +1,11 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.robolectric.gradle.RoboJavaModulePlugin +import org.robolectric.gradle.SpotlessPlugin + apply plugin: RoboJavaModulePlugin apply plugin: 'kotlin' +apply plugin: SpotlessPlugin + compileKotlin { compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } diff --git a/integration_tests/mockito-kotlin/build.gradle b/integration_tests/mockito-kotlin/build.gradle index 3d8970e7ff1..a90b9683694 100644 --- a/integration_tests/mockito-kotlin/build.gradle +++ b/integration_tests/mockito-kotlin/build.gradle @@ -1,18 +1,12 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.robolectric.gradle.RoboJavaModulePlugin +import org.robolectric.gradle.SpotlessPlugin apply plugin: RoboJavaModulePlugin apply plugin: 'kotlin' -apply plugin: "com.diffplug.spotless" +apply plugin: SpotlessPlugin apply plugin: "io.gitlab.arturbosch.detekt" -spotless { - kotlin { - target '**/*.kt' - ktfmt('0.42').googleStyle() - } -} - compileKotlin { compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } diff --git a/integration_tests/mockk/build.gradle b/integration_tests/mockk/build.gradle index f74691aae40..2f62b4b412d 100644 --- a/integration_tests/mockk/build.gradle +++ b/integration_tests/mockk/build.gradle @@ -1,18 +1,12 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.robolectric.gradle.RoboJavaModulePlugin +import org.robolectric.gradle.SpotlessPlugin apply plugin: RoboJavaModulePlugin apply plugin: 'kotlin' -apply plugin: "com.diffplug.spotless" +apply plugin: SpotlessPlugin apply plugin: "io.gitlab.arturbosch.detekt" -spotless { - kotlin { - target '**/*.kt' - ktfmt('0.42').googleStyle() - } -} - compileKotlin { compilerOptions.jvmTarget = JvmTarget.JVM_1_8 } diff --git a/integration_tests/roborazzi/build.gradle b/integration_tests/roborazzi/build.gradle index 034a69bbaaa..7a7005b2d47 100644 --- a/integration_tests/roborazzi/build.gradle +++ b/integration_tests/roborazzi/build.gradle @@ -1,8 +1,12 @@ import org.robolectric.gradle.AndroidProjectConfigPlugin +import org.robolectric.gradle.SpotlessPlugin + apply plugin: 'com.android.library' apply plugin: AndroidProjectConfigPlugin apply plugin: 'kotlin-android' apply plugin: "io.github.takahirom.roborazzi" +apply plugin: SpotlessPlugin + android { compileSdk 34 namespace 'org.robolectric.integration.roborazzi' diff --git a/integration_tests/sdkcompat/build.gradle b/integration_tests/sdkcompat/build.gradle index e6b24355ecd..a7799b41ba8 100644 --- a/integration_tests/sdkcompat/build.gradle +++ b/integration_tests/sdkcompat/build.gradle @@ -1,18 +1,12 @@ import org.robolectric.gradle.AndroidProjectConfigPlugin +import org.robolectric.gradle.SpotlessPlugin apply plugin: 'com.android.library' apply plugin: AndroidProjectConfigPlugin apply plugin: 'kotlin-android' -apply plugin: "com.diffplug.spotless" +apply plugin: SpotlessPlugin apply plugin: "io.gitlab.arturbosch.detekt" -spotless { - kotlin { - target '**/*.kt' - ktfmt('0.42').googleStyle() - } -} - android { compileSdk 29 namespace 'org.robolectric.integrationtests.sdkcompat' diff --git a/integration_tests/sparsearray/build.gradle b/integration_tests/sparsearray/build.gradle index dd029bbfebb..64b020451b7 100644 --- a/integration_tests/sparsearray/build.gradle +++ b/integration_tests/sparsearray/build.gradle @@ -1,8 +1,12 @@ import org.robolectric.gradle.AndroidProjectConfigPlugin +import org.robolectric.gradle.SpotlessPlugin + apply plugin: 'com.android.library' apply plugin: AndroidProjectConfigPlugin apply plugin: 'kotlin-android' +apply plugin: SpotlessPlugin apply plugin: "io.gitlab.arturbosch.detekt" + android { compileSdk 34 namespace 'org.robolectric.sparsearray' @@ -27,6 +31,7 @@ android { } } } + dependencies { compileOnly AndroidSdk.MAX_SDK.coordinates implementation project(path: ':shadowapi', configuration: 'default') diff --git a/plugins/maven-dependency-resolver/src/test/java/org/robolectric/MavenRoboSettingsTest.kt b/plugins/maven-dependency-resolver/src/test/java/org/robolectric/MavenRoboSettingsTest.kt index da7d56ac9a8..befa7309130 100644 --- a/plugins/maven-dependency-resolver/src/test/java/org/robolectric/MavenRoboSettingsTest.kt +++ b/plugins/maven-dependency-resolver/src/test/java/org/robolectric/MavenRoboSettingsTest.kt @@ -15,6 +15,7 @@ class MavenRoboSettingsTest { private var originalMavenRepositoryPassword: String? = null private var originalMavenRepositoryProxyHost: String? = null private var originalMavenProxyPort = 0 + @Before fun setUp() { originalMavenRepositoryId = MavenRoboSettings.getMavenRepositoryId() diff --git a/plugins/maven-dependency-resolver/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.kt b/plugins/maven-dependency-resolver/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.kt index 1f5c3f8363b..d5ce459208f 100644 --- a/plugins/maven-dependency-resolver/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.kt +++ b/plugins/maven-dependency-resolver/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.kt @@ -39,7 +39,7 @@ class MavenDependencyResolverTest { PROXY_HOST, PROXY_PORT, localRepositoryDir, - executorService + executorService, ) mavenDependencyResolver = TestMavenDependencyResolver() } @@ -151,7 +151,7 @@ class MavenDependencyResolverTest { proxyHost: String?, proxyPort: Int, localRepositoryDir: File, - executorService: ExecutorService + executorService: ExecutorService, ): MavenArtifactFetcher { return mavenArtifactFetcher } @@ -176,7 +176,7 @@ class MavenDependencyResolverTest { proxyHost: String?, proxyPort: Int, localRepositoryDir: File, - private val executorService: ExecutorService + private val executorService: ExecutorService, ) : MavenArtifactFetcher( repositoryUrl, @@ -185,7 +185,7 @@ class MavenDependencyResolverTest { proxyHost, proxyPort, localRepositoryDir, - executorService + executorService, ) { var numRequests = 0 private set @@ -199,7 +199,7 @@ class MavenDependencyResolverTest { return super.call() } }, - executorService + executorService, ) } } @@ -216,7 +216,7 @@ class MavenDependencyResolverTest { arrayOf( DependencyJar("group", "artifact", "1"), DependencyJar("org.group2", "artifact2-name", "2.4.5"), - DependencyJar("org.robolectric", "android-all", "10-robolectric-5803371") + DependencyJar("org.robolectric", "android-all", "10-robolectric-5803371"), ) init { @@ -240,20 +240,20 @@ class MavenDependencyResolverTest { val jarContents = "$mavenJarArtifact jar contents" Files.write( jarContents.toByteArray(StandardCharsets.UTF_8), - File(REPOSITORY_DIR, mavenJarArtifact.jarPath()) + File(REPOSITORY_DIR, mavenJarArtifact.jarPath()), ) Files.write( sha512(jarContents).toByteArray(), - File(REPOSITORY_DIR, mavenJarArtifact.jarSha512Path()) + File(REPOSITORY_DIR, mavenJarArtifact.jarSha512Path()), ) val pomContents = "$mavenJarArtifact pom contents" Files.write( pomContents.toByteArray(StandardCharsets.UTF_8), - File(REPOSITORY_DIR, mavenJarArtifact.pomPath()) + File(REPOSITORY_DIR, mavenJarArtifact.pomPath()), ) Files.write( sha512(pomContents).toByteArray(), - File(REPOSITORY_DIR, mavenJarArtifact.pomSha512Path()) + File(REPOSITORY_DIR, mavenJarArtifact.pomSha512Path()), ) } catch (e: MalformedURLException) { throw AssertionError(e) @@ -269,13 +269,13 @@ class MavenDependencyResolverTest { Files.write(jarContents.toByteArray(), File(REPOSITORY_DIR, mavenJarArtifact.jarPath())) Files.write( sha512("No the same content").toByteArray(), - File(REPOSITORY_DIR, mavenJarArtifact.jarSha512Path()) + File(REPOSITORY_DIR, mavenJarArtifact.jarSha512Path()), ) val pomContents = "$mavenJarArtifact pom contents" Files.write(pomContents.toByteArray(), File(REPOSITORY_DIR, mavenJarArtifact.pomPath())) Files.write( sha512("Really not the same content").toByteArray(), - File(REPOSITORY_DIR, mavenJarArtifact.pomSha512Path()) + File(REPOSITORY_DIR, mavenJarArtifact.pomSha512Path()), ) } catch (e: MalformedURLException) { throw AssertionError(e) diff --git a/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.kt b/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.kt index 1c7e7ab4942..bca6e014f78 100644 --- a/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.kt +++ b/utils/src/test/java/org/robolectric/util/PerfStatsCollectorTest.kt @@ -109,6 +109,7 @@ class PerfStatsCollectorTest { private class FakeClock : Clock { private var timeNs = 0 + override fun nanoTime(): Long { return timeNs.toLong() } diff --git a/utils/src/test/java/org/robolectric/util/SchedulerTest.kt b/utils/src/test/java/org/robolectric/util/SchedulerTest.kt index 309d99dad54..140cb00876a 100644 --- a/utils/src/test/java/org/robolectric/util/SchedulerTest.kt +++ b/utils/src/test/java/org/robolectric/util/SchedulerTest.kt @@ -212,10 +212,10 @@ class SchedulerTest { transcript.add("two") scheduler.postDelayed(AddToTranscript("three"), 1000) }, - 1000 + 1000, ) }, - 1000 + 1000, ) scheduler.advanceBy(1000) assertThat(transcript).containsExactly("one") @@ -278,7 +278,7 @@ class SchedulerTest { scheduler.post { order.add(4) } order.add(2) }, - 0 + 0, ) scheduler.postDelayed({ order.add(3) }, 0) scheduler.runOneTask() @@ -302,7 +302,7 @@ class SchedulerTest { scheduler.post { order.add(3) } order.add(2) }, - 0 + 0, ) assertWithMessage("order").that(order).containsExactly(1, 2, 3) assertWithMessage("size").that(scheduler.size()).isEqualTo(0) @@ -317,7 +317,7 @@ class SchedulerTest { scheduler.postAtFrontOfQueue { order.add(3) } order.add(2) }, - 0 + 0, ) scheduler.postDelayed({ order.add(4) }, 0) scheduler.advanceToLastPostedRunnable() @@ -335,7 +335,7 @@ class SchedulerTest { scheduler.postAtFrontOfQueue { order.add(3) } order.add(2) }, - 0 + 0, ) assertWithMessage("order").that(order).containsExactly(1, 2, 3) assertWithMessage("size").that(scheduler.size()).isEqualTo(0) @@ -351,7 +351,7 @@ class SchedulerTest { scheduler.postDelayed({ order.add(3) }, 1) order.add(2) }, - 0 + 0, ) assertWithMessage("order:before").that(order).containsExactly(1, 2) assertWithMessage("size:before").that(scheduler.size()).isEqualTo(1) @@ -371,7 +371,7 @@ class SchedulerTest { scheduler.postDelayed({ order.add(3) }, 1) order.add(2) }, - 0 + 0, ) assertWithMessage("order").that(order).containsExactly(1, 2, 3) assertWithMessage("size").that(scheduler.size()).isEqualTo(0) diff --git a/utils/src/test/java/org/robolectric/util/inject/PluginFinderTest.kt b/utils/src/test/java/org/robolectric/util/inject/PluginFinderTest.kt index 91aa6bf6219..a1da07d9594 100644 --- a/utils/src/test/java/org/robolectric/util/inject/PluginFinderTest.kt +++ b/utils/src/test/java/org/robolectric/util/inject/PluginFinderTest.kt @@ -27,7 +27,7 @@ class PluginFinderTest { ImplMinus1::class.java, ImplZeroA::class.java, ImplOne::class.java, - ImplZeroB::class.java + ImplZeroB::class.java, ) ) Truth.assertThat(pluginFinder.findPlugin(Iface::class.java)).isEqualTo(ImplOne::class.java) @@ -55,7 +55,7 @@ class PluginFinderTest { ImplMinus1::class.java, ImplZeroA::class.java, ImplOne::class.java, - ImplZeroB::class.java + ImplZeroB::class.java, ) ) Truth.assertThat(pluginFinder.findPlugins(Iface::class.java)) @@ -63,7 +63,7 @@ class PluginFinderTest { ImplOne::class.java, ImplZeroA::class.java, ImplZeroB::class.java, - ImplMinus1::class.java + ImplMinus1::class.java, ) .inOrder() } @@ -77,7 +77,7 @@ class PluginFinderTest { ImplZeroXSupercedesA::class.java, ImplZeroA::class.java, ImplOne::class.java, - ImplZeroB::class.java + ImplZeroB::class.java, ) ) val plugins = pluginFinder.findPlugins(Iface::class.java) @@ -86,7 +86,7 @@ class PluginFinderTest { ImplOne::class.java, ImplZeroB::class.java, ImplZeroXSupercedesA::class.java, - ImplMinus1::class.java + ImplMinus1::class.java, ) .inOrder() } @@ -95,10 +95,12 @@ class PluginFinderTest { @Priority(-1) private class ImplMinus1 : Iface @Priority(0) private class ImplZeroA : Iface + private class ImplZeroB : Iface @Priority(1) private class ImplOne : Iface @Supercedes(ImplZeroA::class) private class ImplZeroXSupercedesA : Iface + private interface Iface }