diff --git a/src/ru/pulsar/jenkins/library/IStepExecutor.groovy b/src/ru/pulsar/jenkins/library/IStepExecutor.groovy index b8d0c50..8a2f6e8 100644 --- a/src/ru/pulsar/jenkins/library/IStepExecutor.groovy +++ b/src/ru/pulsar/jenkins/library/IStepExecutor.groovy @@ -44,7 +44,7 @@ interface IStepExecutor { def ringCommand(String script) - void start(String script) + void start(String executable, String params) void tool(String toolName) diff --git a/src/ru/pulsar/jenkins/library/StepExecutor.groovy b/src/ru/pulsar/jenkins/library/StepExecutor.groovy index 81c29a5..8309af6 100644 --- a/src/ru/pulsar/jenkins/library/StepExecutor.groovy +++ b/src/ru/pulsar/jenkins/library/StepExecutor.groovy @@ -76,8 +76,8 @@ class StepExecutor implements IStepExecutor { } @Override - void start(String script) { - steps.start(script) + void start(String executable, String params) { + steps.start(executable, params) } @Override diff --git a/src/ru/pulsar/jenkins/library/steps/Start.groovy b/src/ru/pulsar/jenkins/library/steps/Start.groovy index 8d8c99e..a3ede2d 100644 --- a/src/ru/pulsar/jenkins/library/steps/Start.groovy +++ b/src/ru/pulsar/jenkins/library/steps/Start.groovy @@ -5,20 +5,22 @@ import ru.pulsar.jenkins.library.ioc.ContextRegistry class Start implements Serializable { - private String script + private String executable + private String params private String encoding = 'UTF-8' - Start(String script) { - this.script = script + Start(String executable, String params) { + this.executable = executable + this.params = params }; void run() { IStepExecutor steps = ContextRegistry.getContext().getStepExecutor() if (steps.isUnix()) { - steps.sh("$script &", false, false , encoding) + steps.sh("$executable $params &", false, false , encoding) } else { - steps.bat("chcp 65001 > nul \nstart $script", false, false, encoding) + steps.bat("chcp 65001 > nul \nstart \"\" /B \"$executable\" \"$params\"", false, false, encoding) } } } diff --git a/src/ru/pulsar/jenkins/library/utils/CoverageUtils.groovy b/src/ru/pulsar/jenkins/library/utils/CoverageUtils.groovy index c23288c..a8a8d78 100644 --- a/src/ru/pulsar/jenkins/library/utils/CoverageUtils.groovy +++ b/src/ru/pulsar/jenkins/library/utils/CoverageUtils.groovy @@ -51,8 +51,8 @@ class CoverageUtils { String dbgsPath = findDbgs(steps, config) - steps.start("${dbgsPath} --addr=127.0.0.1 --port=${coverageContext.port}") - steps.start("${coverageOpts.coverage41CPath} start -i DefAlias -u http://127.0.0.1:${coverageContext.port} -P $workspaceDir -s $srcDir -o ${stage.getCoverageStashPath()}") + steps.start(dbgsPath, "--addr=127.0.0.1 --port=${coverageContext.port}") + steps.start(coverageOpts.coverage41CPath, "start -i DefAlias -u http://127.0.0.1:${coverageContext.port} -P $workspaceDir -s $srcDir -o ${stage.getCoverageStashPath()}") steps.cmd("${coverageOpts.coverage41CPath} check -i DefAlias -u http://127.0.0.1:${coverageContext.port}") def newDbgsPids = getPIDs("dbgs") diff --git a/vars/start.groovy b/vars/start.groovy index 2727ee1..dc10d29 100644 --- a/vars/start.groovy +++ b/vars/start.groovy @@ -1,9 +1,9 @@ import ru.pulsar.jenkins.library.steps.Start import ru.pulsar.jenkins.library.ioc.ContextRegistry -void call(String script) { +void call(String executable, String params) { ContextRegistry.registerDefaultContext(this) - Start start = new Start(script) + Start start = new Start(executable, params) start.run() }