diff --git a/plugin/src/test/kotlin/org/jlleitschuh/gradle/ktlint/KtlintPluginTest.kt b/plugin/src/test/kotlin/org/jlleitschuh/gradle/ktlint/KtlintPluginTest.kt index 1ff5f3ff..d84e83b0 100644 --- a/plugin/src/test/kotlin/org/jlleitschuh/gradle/ktlint/KtlintPluginTest.kt +++ b/plugin/src/test/kotlin/org/jlleitschuh/gradle/ktlint/KtlintPluginTest.kt @@ -196,6 +196,37 @@ class KtlintPluginTest : AbstractPluginTest() { } } + @DisplayName("Should ignore excluded sources which are generated during build") + @CommonTest + fun ignoreExcludedSourcesGeneratedByBuild(gradleVersion: GradleVersion) { + project(gradleVersion) { + withCleanSources() + + //language=Groovy + buildGradle.appendText( + """ + ktlint.filter { exclude { it.file.path.contains("Failing") } } + + task createExtraFile() { + def rootDir = project.getRootDir().toString() + def fileDir = rootDir + "/src/main/kotlin" + def fileName = "FailingSource.kt" + doLast { + file(fileDir).mkdirs() + file(fileDir + "/" + fileName) << "val foo = \"bar\"\n" + } + } + + ${CHECK_PARENT_TASK_NAME}.dependsOn createExtraFile + """.trimIndent() + ) + + build(CHECK_PARENT_TASK_NAME) { + assertThat(task(":$mainSourceSetCheckTaskName")?.outcome).isEqualTo(TaskOutcome.SUCCESS) + } + } + } + @DisplayName("Should fail on additional source set directories files style violation") @CommonTest fun additionalSourceSetsViolations(gradleVersion: GradleVersion) {