From 43224739bcafb2df4d9037815a4d4778c1a9a206 Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Thu, 30 Apr 2020 17:03:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=20srcDir=20=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/globalConfiguration.json | 1 + resources/schema.json | 4 ++++ .../library/configuration/JobConfiguration.groovy | 4 ++++ .../jenkins/library/steps/EdtTransform.groovy | 6 ++---- .../pulsar/jenkins/library/steps/EdtValidate.groovy | 4 +--- .../jenkins/library/steps/ResultsTransformer.groovy | 13 ++----------- .../jenkins/library/steps/SonarScanner.groovy | 4 ++-- vars/edtTransform.groovy | 4 ++-- vars/edtValidate.groovy | 4 ++-- vars/sonarScanner.groovy | 4 ++-- 10 files changed, 22 insertions(+), 26 deletions(-) diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index 4e91adb..332119d 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -1,5 +1,6 @@ { "$schema": "schema.json", + "srcDir": "src/cf", "secrets": { "storagePath": "UNKNOWN_ID", "storage": "UNKNOWN_ID" diff --git a/resources/schema.json b/resources/schema.json index 7af8c6c..40bcd1c 100644 --- a/resources/schema.json +++ b/resources/schema.json @@ -6,6 +6,10 @@ "type" : "string", "description" : "Версия платформы 1С:Предприятие в формате 8.3.хх.хххх." }, + "srcDir" : { + "type" : "string", + "description" : "Путь к корневому каталогу с исходниками конфигурации" + }, "secrets" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:Secrets", diff --git a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy index 7b228cf..3368d8e 100644 --- a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy @@ -10,6 +10,9 @@ class JobConfiguration implements Serializable { @JsonPropertyDescription("Версия платформы 1С:Предприятие в формате 8.3.хх.хххх.") String v8version + @JsonPropertyDescription("Путь к корневому каталогу с исходниками конфигурации") + String srcDir + @JsonProperty("stages") @JsonPropertyDescription("Включение этапов сборок") StageFlags stageFlags; @@ -34,6 +37,7 @@ class JobConfiguration implements Serializable { String toString() { return "JobConfiguration{" + "v8version='" + v8version + '\'' + + ", srcDir='" + srcDir + '\'' + ", stageFlags=" + stageFlags + ", secrets=" + secrets + ", sonarQubeOptions=" + sonarQubeOptions + diff --git a/src/ru/pulsar/jenkins/library/steps/EdtTransform.groovy b/src/ru/pulsar/jenkins/library/steps/EdtTransform.groovy index a13fdb7..4b2a065 100644 --- a/src/ru/pulsar/jenkins/library/steps/EdtTransform.groovy +++ b/src/ru/pulsar/jenkins/library/steps/EdtTransform.groovy @@ -13,11 +13,9 @@ class EdtTransform implements Serializable { public static final String WORKSPACE_ZIP_STASH = 'edt-workspace-zip' private final JobConfiguration config; - private final String rootDir - EdtTransform(JobConfiguration config, String rootDir = 'src/cf') { + EdtTransform(JobConfiguration config) { this.config = config - this.rootDir = rootDir } def run() { @@ -33,7 +31,7 @@ class EdtTransform implements Serializable { def env = steps.env(); def workspaceDir = "$env.WORKSPACE/$WORKSPACE" - def configurationRoot = new File(env.WORKSPACE, rootDir).getAbsolutePath() + def configurationRoot = new File(env.WORKSPACE, config.srcDir).getAbsolutePath() steps.createDir(workspaceDir) diff --git a/src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy b/src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy index 6ea79f0..febc0fc 100644 --- a/src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy +++ b/src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy @@ -11,11 +11,9 @@ class EdtValidate implements Serializable { public static final String RESULT_FILE = 'build/out/edt-validate.out' private final JobConfiguration config; - private final String rootDir - EdtValidate(JobConfiguration config, String rootDir = 'src/cf') { + EdtValidate(JobConfiguration config) { this.config = config - this.rootDir = rootDir } def run() { diff --git a/src/ru/pulsar/jenkins/library/steps/ResultsTransformer.groovy b/src/ru/pulsar/jenkins/library/steps/ResultsTransformer.groovy index 9fe943b..890466b 100644 --- a/src/ru/pulsar/jenkins/library/steps/ResultsTransformer.groovy +++ b/src/ru/pulsar/jenkins/library/steps/ResultsTransformer.groovy @@ -21,11 +21,6 @@ class ResultsTransformer implements Serializable { Logger.printLocation() - if (!config.stageFlags.sonarqube) { - Logger.println("No transform is needed.") - return - } - def env = steps.env(); if (!config.stageFlags.edtValidate) { @@ -33,22 +28,18 @@ class ResultsTransformer implements Serializable { return } - steps.unstash(EdtTransform.WORKSPACE_ZIP_STASH) - steps.unzip(EdtTransform.WORKSPACE, EdtTransform.WORKSPACE_ZIP) - steps.unstash(EdtValidate.RESULT_STASH) Logger.println("Конвертация результата EDT в Generic Issue") def edtValidateFile = "$env.WORKSPACE/$EdtValidate.RESULT_FILE" def genericIssueFile = "$env.WORKSPACE/$RESULT_FILE" - def srcDir = "src/cf" - steps.cmd("stebi convert $edtValidateFile $genericIssueFile $srcDir") + steps.cmd("stebi convert $edtValidateFile $genericIssueFile $config.srcDir") if (config.resultsTransformOptions.removeSupport) { def supportLevel = config.resultsTransformOptions.supportLevel - steps.cmd("stebi transform --remove_support $supportLevel --src $srcDir $genericIssueFile") + steps.cmd("stebi transform --remove_support $supportLevel --src $config.srcDir $genericIssueFile") } steps.archiveArtifacts(RESULT_FILE) diff --git a/src/ru/pulsar/jenkins/library/steps/SonarScanner.groovy b/src/ru/pulsar/jenkins/library/steps/SonarScanner.groovy index e4bc350..a75f6ec 100644 --- a/src/ru/pulsar/jenkins/library/steps/SonarScanner.groovy +++ b/src/ru/pulsar/jenkins/library/steps/SonarScanner.groovy @@ -11,9 +11,9 @@ class SonarScanner implements Serializable { private final JobConfiguration config; private final String rootFile - SonarScanner(JobConfiguration config, String rootFile = 'src/cf/Configuration.xml') { + SonarScanner(JobConfiguration config) { this.config = config - this.rootFile = rootFile + this.rootFile = "$config.srcDir/Configuration.xml" } def run() { diff --git a/vars/edtTransform.groovy b/vars/edtTransform.groovy index ce1b8f5..de901e5 100644 --- a/vars/edtTransform.groovy +++ b/vars/edtTransform.groovy @@ -2,9 +2,9 @@ import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.ioc.ContextRegistry import ru.pulsar.jenkins.library.steps.EdtTransform -def call(JobConfiguration config, String rootDir = 'src/cf') { +def call(JobConfiguration config) { ContextRegistry.registerDefaultContext(this) - def edtTransform = new EdtTransform(config, rootDir) + def edtTransform = new EdtTransform(config) edtTransform.run() } diff --git a/vars/edtValidate.groovy b/vars/edtValidate.groovy index 679acc8..df2d26c 100644 --- a/vars/edtValidate.groovy +++ b/vars/edtValidate.groovy @@ -2,9 +2,9 @@ import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.ioc.ContextRegistry import ru.pulsar.jenkins.library.steps.EdtValidate -def call(JobConfiguration config, String rootDir = 'src/cf') { +def call(JobConfiguration config) { ContextRegistry.registerDefaultContext(this) - def edtValidate = new EdtValidate(config, rootDir) + def edtValidate = new EdtValidate(config) edtValidate.run() } diff --git a/vars/sonarScanner.groovy b/vars/sonarScanner.groovy index 920799a..e37fafd 100644 --- a/vars/sonarScanner.groovy +++ b/vars/sonarScanner.groovy @@ -2,9 +2,9 @@ import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.ioc.ContextRegistry import ru.pulsar.jenkins.library.steps.SonarScanner -def call(JobConfiguration config, String rootFile = 'src/cf/Configuration.xml') { +def call(JobConfiguration config) { ContextRegistry.registerDefaultContext(this) - def sonarScanner = new SonarScanner(config, rootFile) + def sonarScanner = new SonarScanner(config) sonarScanner.run() }