From d2ed29966e86cdbd86a4d3e99a3893d790f51b0a Mon Sep 17 00:00:00 2001 From: takahirom Date: Tue, 14 May 2024 14:33:05 +0900 Subject: [PATCH 1/4] Check behavior when removing upToDateWhen --- .../io/github/takahirom/roborazzi/RoborazziPlugin.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt index 10988dbf..77a84711 100644 --- a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt +++ b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt @@ -343,12 +343,12 @@ abstract class RoborazziPlugin : Plugin { "roborazziProperties" to roborazziProperties, ) ) - test.outputs.upToDateWhen { - val doesRoborazziRun = doesRoborazziRunProvider.get() - val inputDirEmpty = outputDir.get().asFile.listFiles()?.isEmpty() ?: true - test.infoln("Roborazzi: test.outputs.upToDateWhen !(doesRoborazziRun:$doesRoborazziRun && inputDirEmpty:$inputDirEmpty)") - !(doesRoborazziRun && inputDirEmpty) - } +// test.outputs.upToDateWhen { +// val doesRoborazziRun = doesRoborazziRunProvider.get() +// val inputDirEmpty = outputDir.get().asFile.listFiles()?.isEmpty() ?: true +// test.infoln("Roborazzi: test.outputs.upToDateWhen !(doesRoborazziRun:$doesRoborazziRun && inputDirEmpty:$inputDirEmpty)") +// !(doesRoborazziRun && inputDirEmpty) +// } test.doFirst { val doesRoborazziRun = doesRoborazziRunProvider.get() From 4805b4e08162477f11a1c9d77005050faa0cdbc9 Mon Sep 17 00:00:00 2001 From: takahirom Date: Tue, 14 May 2024 15:10:59 +0900 Subject: [PATCH 2/4] Remove input dir --- .../takahirom/roborazzi/RoborazziPlugin.kt | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt index 77a84711..95f405f9 100644 --- a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt +++ b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt @@ -300,23 +300,23 @@ abstract class RoborazziPlugin : Plugin { testTaskProvider .configureEach { test -> val resultsDir = resultDirFileProperty.get().asFile - if (restoreOutputDirRoborazziTaskProvider.isPresent) { - test.inputs.dir(restoreOutputDirRoborazziTaskProvider.map { - if (!it.outputDir.get().asFile.exists()) { - it.outputDir.get().asFile.mkdirs() - } - test.infoln("Roborazzi: Set input dir ${it.outputDir.get()} to test task") - it.outputDir - }) - } else { - test.inputs.dir(outputDir.map { - if (!it.asFile.exists()) { - it.asFile.mkdirs() - } - test.infoln("Roborazzi: Set input dir $it to test task") - it - }) - } +// if (restoreOutputDirRoborazziTaskProvider.isPresent) { +// test.inputs.dir(restoreOutputDirRoborazziTaskProvider.map { +// if (!it.outputDir.get().asFile.exists()) { +// it.outputDir.get().asFile.mkdirs() +// } +// test.infoln("Roborazzi: Set input dir ${it.outputDir.get()} to test task") +// it.outputDir +// }) +// } else { +// test.inputs.dir(outputDir.map { +// if (!it.asFile.exists()) { +// it.asFile.mkdirs() +// } +// test.infoln("Roborazzi: Set input dir $it to test task") +// it +// }) +// } test.outputs.dir(intermediateDirForEachVariant.map { test.infoln("Roborazzi: Set output dir $it to test task") it From 1647bbb63ec5de92cb665be6d4e38f3417bb60e4 Mon Sep 17 00:00:00 2001 From: takahirom Date: Tue, 14 May 2024 15:27:14 +0900 Subject: [PATCH 3/4] Remove assertNotSkipped --- .../takahirom/roborazzi/RoborazziGradleProjectTest.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt b/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt index 50861432..7efb2020 100644 --- a/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt +++ b/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt @@ -61,7 +61,7 @@ class RoborazziGradleProjectTest { // should not be skipped even if tests and sources are not changed // when output directory is removed val output = record().output - assertNotSkipped(output) +// assertNotSkipped(output) checkResultsSummaryFileExists() checkRecordedFileExists("$screenshotAndName.testCapture.png") @@ -94,7 +94,7 @@ class RoborazziGradleProjectTest { record() // files are changed so should not be skipped val output1 = record().output - assertNotSkipped(output1) +// assertNotSkipped(output1) // files are not changed so should be skipped val output2 = record().output assertSkipped(output2) @@ -114,7 +114,7 @@ class RoborazziGradleProjectTest { record() // files are changed so should not be skipped val output1 = record().output - assertNotSkipped(output1) +// assertNotSkipped(output1) // files are not changed so should be skipped val output2 = record().output assertSkipped(output2) From 679b6b866d45d54980675cef2dfc3b0bf064feed Mon Sep 17 00:00:00 2001 From: takahirom Date: Fri, 17 May 2024 12:01:49 +0900 Subject: [PATCH 4/4] Refactor --- .../roborazzi/RoborazziGradleProjectTest.kt | 14 ++--------- .../takahirom/roborazzi/RoborazziPlugin.kt | 23 ------------------- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt b/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt index 7efb2020..7032a519 100644 --- a/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt +++ b/include-build/roborazzi-gradle-plugin/src/integrationTest/java/io/github/takahirom/roborazzi/RoborazziGradleProjectTest.kt @@ -54,14 +54,12 @@ class RoborazziGradleProjectTest { } @Test - fun recordWhenRemovedOutput() { + fun whenRecordAndRemovedOutputAndRecordThenSkipAndRestoreTheImages() { RoborazziGradleProject(testProjectDir).apply { record() removeRoborazziOutputDir() - // should not be skipped even if tests and sources are not changed - // when output directory is removed val output = record().output -// assertNotSkipped(output) + assertSkipped(output) checkResultsSummaryFileExists() checkRecordedFileExists("$screenshotAndName.testCapture.png") @@ -92,10 +90,6 @@ class RoborazziGradleProjectTest { fun recordWhenRunTwice() { RoborazziGradleProject(testProjectDir).apply { record() - // files are changed so should not be skipped - val output1 = record().output -// assertNotSkipped(output1) - // files are not changed so should be skipped val output2 = record().output assertSkipped(output2) @@ -112,10 +106,6 @@ class RoborazziGradleProjectTest { val customDirFromGradle = "src/screenshots/roborazzi_customdir_from_gradle" appBuildFile.customOutputDirPath = customDirFromGradle record() - // files are changed so should not be skipped - val output1 = record().output -// assertNotSkipped(output1) - // files are not changed so should be skipped val output2 = record().output assertSkipped(output2) diff --git a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt index 95f405f9..6fc8824b 100644 --- a/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt +++ b/include-build/roborazzi-gradle-plugin/src/main/java/io/github/takahirom/roborazzi/RoborazziPlugin.kt @@ -300,23 +300,6 @@ abstract class RoborazziPlugin : Plugin { testTaskProvider .configureEach { test -> val resultsDir = resultDirFileProperty.get().asFile -// if (restoreOutputDirRoborazziTaskProvider.isPresent) { -// test.inputs.dir(restoreOutputDirRoborazziTaskProvider.map { -// if (!it.outputDir.get().asFile.exists()) { -// it.outputDir.get().asFile.mkdirs() -// } -// test.infoln("Roborazzi: Set input dir ${it.outputDir.get()} to test task") -// it.outputDir -// }) -// } else { -// test.inputs.dir(outputDir.map { -// if (!it.asFile.exists()) { -// it.asFile.mkdirs() -// } -// test.infoln("Roborazzi: Set input dir $it to test task") -// it -// }) -// } test.outputs.dir(intermediateDirForEachVariant.map { test.infoln("Roborazzi: Set output dir $it to test task") it @@ -343,12 +326,6 @@ abstract class RoborazziPlugin : Plugin { "roborazziProperties" to roborazziProperties, ) ) -// test.outputs.upToDateWhen { -// val doesRoborazziRun = doesRoborazziRunProvider.get() -// val inputDirEmpty = outputDir.get().asFile.listFiles()?.isEmpty() ?: true -// test.infoln("Roborazzi: test.outputs.upToDateWhen !(doesRoborazziRun:$doesRoborazziRun && inputDirEmpty:$inputDirEmpty)") -// !(doesRoborazziRun && inputDirEmpty) -// } test.doFirst { val doesRoborazziRun = doesRoborazziRunProvider.get()