1
0
mirror of https://github.com/firstBitMarksistskaya/jenkins-lib.git synced 2025-11-06 09:30:14 +02:00
Files
jenkins-lib/src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy
2020-04-30 17:03:11 +03:00

53 lines
1.8 KiB
Groovy

package ru.pulsar.jenkins.library.steps
import ru.pulsar.jenkins.library.IStepExecutor
import ru.pulsar.jenkins.library.configuration.JobConfiguration
import ru.pulsar.jenkins.library.ioc.ContextRegistry
import ru.pulsar.jenkins.library.utils.Logger
class EdtValidate implements Serializable {
public static final String RESULT_STASH = 'edt-validate'
public static final String RESULT_FILE = 'build/out/edt-validate.out'
private final JobConfiguration config;
EdtValidate(JobConfiguration config) {
this.config = config
}
def run() {
IStepExecutor steps = ContextRegistry.getContext().getStepExecutor()
Logger.printLocation()
if (!config.stageFlags.edtValidate) {
Logger.println("EDT validate step is disabled")
return
}
steps.unstash(EdtTransform.WORKSPACE_ZIP_STASH)
steps.unzip(EdtTransform.WORKSPACE, EdtTransform.WORKSPACE_ZIP)
def env = steps.env();
def resultFile = "$env.WORKSPACE/$RESULT_FILE"
def workspaceLocation = "$env.WORKSPACE/$EdtTransform.WORKSPACE"
steps.createDir(new File(resultFile).getParent())
Logger.println("Выполнение валидации EDT")
def ringCommand = "ring edt workspace validate --workspace-location '$workspaceLocation' --file '$resultFile' --project-name-list $EdtTransform.PROJECT_NAME"
def ringOpts = ['RING_OPTS=-Dfile.encoding=UTF-8 -Dosgi.nl=ru -Duser.language=ru']
steps.withEnv(ringOpts) {
steps.catchError {
steps.cmd(ringCommand)
}
}
steps.archiveArtifacts("$EdtTransform.WORKSPACE/.metadata/.log")
steps.archiveArtifacts(RESULT_FILE)
steps.stash(RESULT_STASH, RESULT_FILE)
}
}