diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b10ff59..e7e2e2c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ detekt = "1.23.6" diffUtils = "4.12" junit = "5.11.0" kotlin = "2.0.20" -ktfmt-plugin = "0.20.0" +ktfmt-plugin = "0.20.1" ktfmt = "0.52" pluginPublish = "1.2.1" truth = "1.4.4" diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtAndroidUtils.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtAndroidUtils.kt index a708a8f..7ce5372 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtAndroidUtils.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtAndroidUtils.kt @@ -15,7 +15,7 @@ internal object KtfmtAndroidUtils { topLevelFormat: TaskProvider, topLevelCheck: TaskProvider, ktfmtExtension: KtfmtExtension, - isKmpProject: Boolean = false + isKmpProject: Boolean = false, ) { fun applyKtfmtForAndroid() { project.extensions.configure(BaseExtension::class.java) { diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPlugin.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPlugin.kt index a7fa03e..9526f9e 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPlugin.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPlugin.kt @@ -35,7 +35,8 @@ abstract class KtfmtPlugin : Plugin { attributes.apply { attribute( Usage.USAGE_ATTRIBUTE, - project.objects.named(Usage::class.java, Usage.JAVA_RUNTIME)) + project.objects.named(Usage::class.java, Usage.JAVA_RUNTIME), + ) } isVisible = false isCanBeConsumed = false @@ -106,7 +107,12 @@ abstract class KtfmtPlugin : Plugin { extension.targets.all { kotlinTarget -> if (kotlinTarget.platformType == KotlinPlatformType.androidJvm) { applyKtfmtToAndroidProject( - project, topLevelFormat, topLevelCheck, ktfmtExtension, isKmpProject = true) + project, + topLevelFormat, + topLevelCheck, + ktfmtExtension, + isKmpProject = true, + ) } } } diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPluginUtils.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPluginUtils.kt index b83e768..4c8649c 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPluginUtils.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/KtfmtPluginUtils.kt @@ -38,7 +38,7 @@ internal object KtfmtPluginUtils { srcSetDir: FileCollection, ktfmtExtension: KtfmtExtension, topLevelFormat: TaskProvider, - topLevelCheck: TaskProvider + topLevelCheck: TaskProvider, ) { if (shouldCreateTasks(srcSetName).not()) { return @@ -121,7 +121,7 @@ internal object KtfmtPluginUtils { private fun Project.getSelectedSrcSets( srcDir: FileCollection, - ktfmtExtension: KtfmtExtension + ktfmtExtension: KtfmtExtension, ): Provider> { val excludedSourceSets = ktfmtExtension.srcSetPathExclusionPattern diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTask.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTask.kt index 28e5b25..12b4f26 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTask.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTask.kt @@ -28,7 +28,7 @@ import org.gradle.workers.WorkerExecutor abstract class KtfmtBaseTask internal constructor( private val workerExecutor: WorkerExecutor, - private val layout: ProjectLayout + private val layout: ProjectLayout, ) : SourceTask() { init { @@ -43,7 +43,8 @@ internal constructor( option = "include-only", description = "A comma separate list of relative file paths to include exclusively. " + - "If set the task will run the processing only on such files.") + "If set the task will run the processing only on such files.", + ) @get:Input abstract val includeOnly: Property @@ -64,7 +65,7 @@ internal constructor( internal fun FileCollection.submitToQueue( queue: WorkQueue, - action: Class + action: Class, ): List { val workingDir = temporaryDir.resolve(UUID.randomUUID().toString()) workingDir.mkdirs() @@ -72,7 +73,8 @@ internal constructor( val includedFiles = IncludedFilesParser.parse(includeOnly.get(), layout.projectDirectory.asFile) logger.d( - "Preparing to format: includeOnly=${includeOnly.orNull}, includedFiles = $includedFiles") + "Preparing to format: includeOnly=${includeOnly.orNull}, includedFiles = $includedFiles" + ) forEach { queue.submit(action) { parameters -> parameters.sourceFile.set(it) diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTask.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTask.kt index a0b7881..b213971 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTask.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTask.kt @@ -44,7 +44,8 @@ internal constructor(workerExecutor: WorkerExecutor, layout: ProjectLayout) : if (notFormattedFiles.isNotEmpty()) { val fileList = notFormattedFiles.joinToString("\n") { it.relativePath } error( - "[ktfmt] Found ${notFormattedFiles.size} files that are not properly formatted:\n$fileList") + "[ktfmt] Found ${notFormattedFiles.size} files that are not properly formatted:\n$fileList" + ) } val message = "Successfully checked ${results.size} files with Ktfmt" diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtFormatter.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtFormatter.kt index b4308dc..13aaa6f 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtFormatter.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtFormatter.kt @@ -19,7 +19,7 @@ internal object KtfmtFormatter { val sourceFile: File, val includedFiles: Set = emptySet(), val formattingOptions: FormattingOptionsBean = FormattingOptionsBean(), - val sourceRoot: File + val sourceRoot: File, ) fun format(ctx: FormatContext): KtfmtResult { @@ -27,7 +27,9 @@ internal object KtfmtFormatter { if (ctx.includedFiles.isNotEmpty()) { if (ctx.sourceFile.canonicalFile !in ctx.includedFiles) { return KtfmtResult.KtfmtSkipped( - ctx.sourceFile, "Not included inside --include-only") + ctx.sourceFile, + "Not included inside --include-only", + ) } } @Suppress("TooGenericExceptionCaught") diff --git a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtWorkAction.kt b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtWorkAction.kt index 8f82460..5ac004a 100644 --- a/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtWorkAction.kt +++ b/plugin-build/plugin/src/main/java/com/ncorti/ktfmt/gradle/tasks/worker/KtfmtWorkAction.kt @@ -158,7 +158,7 @@ internal sealed class KtfmtResult(open val input: File) { data class KtfmtSuccess( override val input: File, val isCorrectlyFormatted: Boolean, - @Language("kotlin") val formattedCode: String + @Language("kotlin") val formattedCode: String, ) : KtfmtResult(input) data class KtfmtFailure(override val input: File, val message: String, val reason: Throwable) : diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/PluginVersionCompatibilityTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/PluginVersionCompatibilityTest.kt index 2c4b4ec..12f0feb 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/PluginVersionCompatibilityTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/PluginVersionCompatibilityTest.kt @@ -62,7 +62,7 @@ internal class PluginVersionCompatibilityTest { private fun createTempFile( @Language("kotlin") content: String, fileName: String = "TestFile.kt", - path: String = "src/main/java" + path: String = "src/main/java", ) = File(File(tempDir, path), fileName).apply { createNewFile() diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTaskTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTaskTest.kt index ea97a3e..2624094 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTaskTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtBaseTaskTest.kt @@ -45,7 +45,7 @@ internal class KtfmtBaseTaskTest { private fun createTempFile( @Language("kotlin") content: String, fileName: String = "TestFile.kt", - root: File = tempDir + root: File = tempDir, ): File = File(root, fileName).apply { parentFile.mkdirs() diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTaskIntegrationTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTaskIntegrationTest.kt index 3357b1f..186e758 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTaskIntegrationTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtCheckTaskIntegrationTest.kt @@ -62,7 +62,8 @@ internal class KtfmtCheckTaskIntegrationTest { ```` } """ - .trimIndent()) + .trimIndent() + ) val result = GradleRunner.create() @@ -166,7 +167,10 @@ internal class KtfmtCheckTaskIntegrationTest { .withProjectDir(tempDir) .withPluginClasspath() .withArguments( - "ktfmtCheckMain", "--debug", "--include-only=${file2.relativeTo(tempDir)}") + "ktfmtCheckMain", + "--debug", + "--include-only=${file2.relativeTo(tempDir)}", + ) .build() assertThat(result.task(":ktfmtCheckMain")?.outcome).isEqualTo(SUCCESS) @@ -212,11 +216,20 @@ internal class KtfmtCheckTaskIntegrationTest { @Test fun `check task should be up-to-date when invoked twice with multiple different sized sourceSets`() { createTempFile( - content = "val answer = 42\n", fileName = "SrcFile.kt", path = "src/main/java") + content = "val answer = 42\n", + fileName = "SrcFile.kt", + path = "src/main/java", + ) createTempFile( - content = "val answer = 42\n", fileName = "TestFile.kt", path = "src/test/java") + content = "val answer = 42\n", + fileName = "TestFile.kt", + path = "src/test/java", + ) createTempFile( - content = "val answer = 42\n", fileName = "TestFile2.kt", path = "src/test/java") + content = "val answer = 42\n", + fileName = "TestFile2.kt", + path = "src/test/java", + ) val firstRun: BuildResult = GradleRunner.create() @@ -269,7 +282,8 @@ internal class KtfmtCheckTaskIntegrationTest { | source = fileTree("src/main/java") |} """ - .trimMargin()) + .trimMargin() + ) GradleRunner.create() .withProjectDir(tempDir) @@ -291,7 +305,8 @@ internal class KtfmtCheckTaskIntegrationTest { | } |} """ - .trimMargin()) + .trimMargin() + ) createTempFile("val answer = 42\n", path = "src/someFolder") createTempFile("val answer = 42\n", path = "test/someOtherFolder") @@ -317,7 +332,8 @@ internal class KtfmtCheckTaskIntegrationTest { | } |} """ - .trimMargin()) + .trimMargin() + ) createTempFile(content = "val answer=42\n", path = "build/main") @@ -346,7 +362,8 @@ internal class KtfmtCheckTaskIntegrationTest { | srcSetPathExclusionPattern.set(Regex("customRules.*")) |} """ - .trimMargin()) + .trimMargin() + ) createTempFile(content = "val answer=42\n", path = "build/generated/main") @@ -369,7 +386,8 @@ internal class KtfmtCheckTaskIntegrationTest { | srcSetPathExclusionPattern.set(Regex(".*[\\\\/]main[\\\\/].*")) |} """ - .trimMargin()) + .trimMargin() + ) createTempFile(content = "val answer=42\n") @@ -394,7 +412,7 @@ internal class KtfmtCheckTaskIntegrationTest { private fun createTempFile( @Language("kotlin") content: String, fileName: String = "TestFile.kt", - path: String = "src/main/java" + path: String = "src/main/java", ): File = tempDir.resolve(path).resolve(fileName).apply { parentFile.mkdirs() diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatTaskIntegrationTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatTaskIntegrationTest.kt index e1d2909..76d8b83 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatTaskIntegrationTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatTaskIntegrationTest.kt @@ -231,7 +231,10 @@ internal class KtfmtFormatTaskIntegrationTest { .withProjectDir(tempDir) .withPluginClasspath() .withArguments( - "ktfmtFormatMain", "--info", "--include-only=${file2.relativeTo(tempDir)}") + "ktfmtFormatMain", + "--info", + "--include-only=${file2.relativeTo(tempDir)}", + ) .build() assertThat(result.task(":ktfmtFormatMain")?.outcome).isEqualTo(SUCCESS) @@ -271,7 +274,8 @@ internal class KtfmtFormatTaskIntegrationTest { | source = fileTree("src/main/java") |} """ - .trimMargin()) + .trimMargin() + ) GradleRunner.create() .withProjectDir(tempDir) @@ -291,7 +295,8 @@ internal class KtfmtFormatTaskIntegrationTest { |println("HelloWorld2") |} """ - .trimMargin()) + .trimMargin() + ) appendToBuildGradle("ktfmt { kotlinLangStyle() }") @@ -308,7 +313,8 @@ internal class KtfmtFormatTaskIntegrationTest { "fun someFun() {", " println(\"Hello, World!\")", " println(\"HelloWorld2\")", - "}") + "}", + ) } @Test @@ -322,7 +328,8 @@ internal class KtfmtFormatTaskIntegrationTest { |println("HelloWorld2") |} """ - .trimMargin()) + .trimMargin() + ) appendToBuildGradle("ktfmt { googleStyle() }") @@ -340,7 +347,8 @@ internal class KtfmtFormatTaskIntegrationTest { "fun someFun() {", " println(\"Hello, World!\")", " println(\"HelloWorld2\")", - "}") + "}", + ) } @Test @@ -356,7 +364,8 @@ internal class KtfmtFormatTaskIntegrationTest { | } |} """ - .trimMargin()) + .trimMargin() + ) val sourceFile = createTempFile("val answer = 42\n", path = "src/someFolder") val testFile = createTempFile("val answer = 42\n", path = "test/someOtherFolder") @@ -385,7 +394,8 @@ internal class KtfmtFormatTaskIntegrationTest { | } |} """ - .trimMargin()) + .trimMargin() + ) val file = createTempFile(content = "val answer=42\n", path = "build/main") @@ -416,7 +426,8 @@ internal class KtfmtFormatTaskIntegrationTest { | srcSetPathExclusionPattern.set(Regex("customRules.*")) |} """ - .trimMargin()) + .trimMargin() + ) val file = createTempFile(content = "val answer=42\n", path = "build/generated/main") @@ -439,7 +450,8 @@ internal class KtfmtFormatTaskIntegrationTest { | srcSetPathExclusionPattern.set(Regex(".*[\\\\/]main[\\\\/].*")) |} """ - .trimMargin()) + .trimMargin() + ) createTempFile(content = "val answer=42\n") @@ -457,7 +469,7 @@ internal class KtfmtFormatTaskIntegrationTest { private fun createTempFile( @Language("kotlin") content: String, fileName: String = "TestFile.kt", - path: String = "src/main/java" + path: String = "src/main/java", ): File = tempDir.resolve(path).resolve(fileName).apply { parentFile.mkdirs() diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatterTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatterTest.kt index c34a459..cfaebc6 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatterTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/tasks/KtfmtFormatterTest.kt @@ -50,7 +50,8 @@ internal class KtfmtFormatterTest { val newCtx = formatCtx.copy( sourceFile = input2, - includedFiles = setOf(formatCtx.sourceFile.relativeTo(tempDir))) + includedFiles = setOf(formatCtx.sourceFile.relativeTo(tempDir)), + ) val result = KtfmtFormatter.format(newCtx) as KtfmtResult.KtfmtSkipped @@ -73,7 +74,7 @@ internal class KtfmtFormatterTest { private fun createTempFile( content: String, fileName: String = "TestFile.kt", - root: File = tempDir + root: File = tempDir, ): File = File(root, fileName).apply { parentFile.mkdirs() @@ -83,7 +84,7 @@ internal class KtfmtFormatterTest { private fun createFormatContext( content: String, - fileName: String = "TestFile.kt" + fileName: String = "TestFile.kt", ): KtfmtFormatter.FormatContext { val input = createTempFile(content = content, fileName = fileName) return KtfmtFormatter.FormatContext(sourceFile = input, sourceRoot = tempDir) diff --git a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/util/KtfmtDifferTest.kt b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/util/KtfmtDifferTest.kt index 3da4487..4100d7a 100644 --- a/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/util/KtfmtDifferTest.kt +++ b/plugin-build/plugin/src/test/java/com/ncorti/ktfmt/gradle/util/KtfmtDifferTest.kt @@ -33,7 +33,8 @@ internal class KtfmtDifferTest { val a = "So long," val b = "and thanks for all the fish!" """ - .trimIndent()) + .trimIndent() + ) val input = KtfmtSuccess( @@ -43,7 +44,8 @@ internal class KtfmtDifferTest { """ val a = "So long," """ - .trimIndent()) + .trimIndent(), + ) val diff = KtfmtDiffer.computeDiff(input) @@ -60,7 +62,8 @@ internal class KtfmtDifferTest { """ val a = "So long," """ - .trimIndent()) + .trimIndent() + ) val input = KtfmtSuccess( @@ -71,7 +74,8 @@ internal class KtfmtDifferTest { val a = "So long," val b = "and thanks for all the fish!" """ - .trimIndent()) + .trimIndent(), + ) val diff = KtfmtDiffer.computeDiff(input) @@ -89,7 +93,8 @@ internal class KtfmtDifferTest { val a = "So long," val b = "and thanks for all the fish!" """ - .trimIndent()) + .trimIndent() + ) val input = KtfmtSuccess( @@ -100,7 +105,8 @@ internal class KtfmtDifferTest { val a = "So long," val b = "and thanks for all the fish!" """ - .trimIndent()) + .trimIndent(), + ) val diff = KtfmtDiffer.computeDiff(input) @@ -119,7 +125,8 @@ internal class KtfmtDifferTest { val b = "and thanks!" val c = "for all the fish!" """ - .trimIndent()) + .trimIndent() + ) val input = KtfmtSuccess( @@ -131,7 +138,8 @@ internal class KtfmtDifferTest { val b = "and thanks!" val c = "for all the fish!" """ - .trimIndent()) + .trimIndent(), + ) val diff = KtfmtDiffer.computeDiff(input) @@ -156,7 +164,7 @@ internal class KtfmtDifferTest { private fun createTempFile( @Language("kotlin") content: String, - fileName: String = "TestFile.kt" + fileName: String = "TestFile.kt", ): File = File(tempDir, fileName).apply { createNewFile()