From 2469669695217bd3c5bc969b1bf8ba59c2941734 Mon Sep 17 00:00:00 2001 From: Dima Date: Mon, 20 Jan 2025 14:16:14 +0300 Subject: [PATCH] add file rm if exists --- src/ru/pulsar/jenkins/library/IStepExecutor.groovy | 6 ++++++ src/ru/pulsar/jenkins/library/StepExecutor.groovy | 11 +++++++++++ .../pulsar/jenkins/library/steps/ZipInfobase.groovy | 3 +++ 3 files changed, 20 insertions(+) diff --git a/src/ru/pulsar/jenkins/library/IStepExecutor.groovy b/src/ru/pulsar/jenkins/library/IStepExecutor.groovy index d0f6598..9fdd8a7 100644 --- a/src/ru/pulsar/jenkins/library/IStepExecutor.groovy +++ b/src/ru/pulsar/jenkins/library/IStepExecutor.groovy @@ -10,6 +10,7 @@ import org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.configuration.StepCoverageOptions import ru.pulsar.jenkins.library.steps.Coverable +import sp.sd.fileoperations.FileOperation interface IStepExecutor { @@ -34,6 +35,10 @@ interface IStepExecutor { boolean fileExists(String file) + void fileOperations(List fileOperations) + + void fileDeleteOperation(String includes) + void echo(message) def cmd(String script, boolean returnStatus, boolean returnStdout) @@ -122,4 +127,5 @@ interface IStepExecutor { def brokenTestsSuspects() RunWrapper currentBuild() + } \ No newline at end of file diff --git a/src/ru/pulsar/jenkins/library/StepExecutor.groovy b/src/ru/pulsar/jenkins/library/StepExecutor.groovy index b5ec920..50372f8 100644 --- a/src/ru/pulsar/jenkins/library/StepExecutor.groovy +++ b/src/ru/pulsar/jenkins/library/StepExecutor.groovy @@ -11,6 +11,7 @@ import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.configuration.StepCoverageOptions import ru.pulsar.jenkins.library.steps.Coverable import ru.yandex.qatools.allure.jenkins.config.ResultsConfig +import sp.sd.fileoperations.FileOperation class StepExecutor implements IStepExecutor { @@ -55,6 +56,16 @@ class StepExecutor implements IStepExecutor { steps.fileExists file } + @Override + void fileOperations(List fileOperations) { + steps.fileOperations fileOperations + } + + @Override + void fileDeleteOperation(String includes) { + steps.fileDeleteOperation includes: includes, excludes: '', useDefaultExcludes: true + } + @Override FileWrapper[] findFiles(String glob, String excludes = '') { steps.findFiles glob: glob, excludes: excludes diff --git a/src/ru/pulsar/jenkins/library/steps/ZipInfobase.groovy b/src/ru/pulsar/jenkins/library/steps/ZipInfobase.groovy index 4b585ee..1d39909 100644 --- a/src/ru/pulsar/jenkins/library/steps/ZipInfobase.groovy +++ b/src/ru/pulsar/jenkins/library/steps/ZipInfobase.groovy @@ -43,6 +43,9 @@ class ZipInfobase implements Serializable { archiveInfobase = true } + if (steps.fileExists(archiveName)) { + steps.fileOperations([steps.fileDeleteOperation(archiveName)]) + } steps.zip('build/ib', archiveName, '1Cv8.1CD', archiveInfobase) steps.stash(archiveName, archiveName, false) }