From e21060cff3cef514434c007e0e0e1288cdf0d0b6 Mon Sep 17 00:00:00 2001 From: Lars Eckart Date: Mon, 13 Jan 2025 20:17:53 +0200 Subject: [PATCH] @ F add approval-all script to temp directory Co-authored-by: Jay Bazuzi Co-authored-by: Llewellyn Falco --- .../java/org/approvaltests/FailedFileLog.java | 32 +++++++++++++++++++ resources/approve_all.bat | 4 +-- resources/approve_all.sh | 4 +-- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/approvaltests/src/main/java/org/approvaltests/FailedFileLog.java b/approvaltests/src/main/java/org/approvaltests/FailedFileLog.java index d1786460..68842f83 100644 --- a/approvaltests/src/main/java/org/approvaltests/FailedFileLog.java +++ b/approvaltests/src/main/java/org/approvaltests/FailedFileLog.java @@ -1,6 +1,8 @@ package org.approvaltests; +import com.spun.util.SystemUtils; import com.spun.util.io.FileUtils; +import com.spun.util.io.NetUtils; import java.io.File; @@ -11,6 +13,36 @@ public class FailedFileLog static { FileUtils.writeFile(get(), ""); + downloadApproveAllScriptIfMissing(); + } + private static void downloadApproveAllScriptIfMissing() + { + try + { + if (SystemUtils.isWindowsEnvironment()) + { + String url = "https://raw.githubusercontent.com/approvals/ApprovalTests.Java/refs/heads/master/resources/approve_all.bat"; + File batScript = new File(APPROVAL_TEMP_DIRECTORY + "/approve_all.bat"); + if (!batScript.exists()) + { + FileUtils.writeFile(batScript, NetUtils.loadWebPage(url, null)); + } + } + else + { + String url = "https://raw.githubusercontent.com/approvals/ApprovalTests.Java/refs/heads/master/resources/approve_all.sh"; + File bashScript = new File(APPROVAL_TEMP_DIRECTORY + "/approve_all.sh"); + if (!bashScript.exists()) + { + FileUtils.writeFile(bashScript, NetUtils.loadWebPage(url, null)); + bashScript.setExecutable(true); + } + } + } + catch (Exception e) + { + // do nothing + } } public static File get() { diff --git a/resources/approve_all.bat b/resources/approve_all.bat index c7a6f784..fc27c152 100644 --- a/resources/approve_all.bat +++ b/resources/approve_all.bat @@ -1,6 +1,6 @@ @echo off -FOR /F "usebackq delims=" %%L IN ("..\approvaltests-tests\.approval_tests_temp\.failed_comparison.log") DO ( +FOR /F "usebackq delims=" %%L IN ("..\.approval_tests_temp\.failed_comparison.log") DO ( REM Store the entire line in an environment variable named LINE SET "LINE=%%L" REM Call a subroutine to parse and handle the line @@ -23,4 +23,4 @@ GOTO :EOF ) ENDLOCAL -GOTO :EOF \ No newline at end of file +GOTO :EOF diff --git a/resources/approve_all.sh b/resources/approve_all.sh index de00e90f..2172ab90 100644 --- a/resources/approve_all.sh +++ b/resources/approve_all.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -LOGFILE="../approvaltests-tests/.approval_tests_temp/.failed_comparison.log" +LOGFILE="../.approval_tests_temp/.failed_comparison.log" while IFS= read -r line; do # 1) Parse the line to get source (before '->') and destination (after '->') @@ -17,4 +17,4 @@ while IFS= read -r line; do # 3) Perform the move echo "Moving '$src' to '$dst'" mv "$src" "$dst" -done < "$LOGFILE" \ No newline at end of file +done < "$LOGFILE"