diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index c6927ad..d5a546c 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -1,12 +1,12 @@ { "$schema": "schema.json", "srcDir": "src/cf", + "sourceFormat": "designer", "secrets": { "storagePath": "UNKNOWN_ID", "storage": "UNKNOWN_ID" }, "stages": { - "srcEDT" : true, "initSteps": false, "sonarqube": false, "bdd": false, diff --git a/resources/schema.json b/resources/schema.json index 09d599b..a88fa04 100644 --- a/resources/schema.json +++ b/resources/schema.json @@ -10,6 +10,11 @@ "type" : "string", "description" : "Путь к корневому каталогу с исходниками конфигурации" }, + "sourceFormat" : { + "type" : "string", + "description" : "Формат исходников конфигурации", + "enum" : [ "edt", "designer" ] + }, "secrets" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:Secrets", @@ -53,10 +58,6 @@ "bdd" : { "type" : "boolean", "description" : "Запуск BDD сценариев включен" - }, - "srcEDT" : { - "type" : "boolean", - "description" : "Конвертировать исходники из формата EDT в формат конфигуратора" } } }, diff --git a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy index c404c9d..d7fe835 100644 --- a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy @@ -13,6 +13,9 @@ class JobConfiguration implements Serializable { @JsonPropertyDescription("Путь к корневому каталогу с исходниками конфигурации") String srcDir + @JsonPropertyDescription("Формат исходников конфигурации") + SourceFormat sourceFormat; + @JsonProperty("stages") @JsonPropertyDescription("Включение этапов сборок") StageFlags stageFlags; @@ -50,6 +53,7 @@ class JobConfiguration implements Serializable { return "JobConfiguration{" + "v8version='" + v8version + '\'' + ", srcDir='" + srcDir + '\'' + + ", sourceFormat='" + sourceFormat + ", stageFlags=" + stageFlags + ", secrets=" + secrets + ", initInfobaseOptions=" + initInfobaseOptions + diff --git a/src/ru/pulsar/jenkins/library/configuration/SourceFormat.groovy b/src/ru/pulsar/jenkins/library/configuration/SourceFormat.groovy new file mode 100644 index 0000000..32e2cfb --- /dev/null +++ b/src/ru/pulsar/jenkins/library/configuration/SourceFormat.groovy @@ -0,0 +1,27 @@ +package ru.pulsar.jenkins.library.configuration + +import com.cloudbees.groovy.cps.NonCPS +import com.fasterxml.jackson.annotation.JsonIgnoreProperties +import com.fasterxml.jackson.annotation.JsonProperty + +@JsonIgnoreProperties(ignoreUnknown = true) +public enum SourceFormat{ + @JsonProperty("edt") + EDT, + + @JsonProperty("designer") + DESIGNER + + @Override + @NonCPS + String toString() { + return "SourceFormat{" + + "edt='" + EDT + + "designer='" + DESIGNER + + '}'; + } + boolean infobaseFromFiles(){ + return EDT + } + +} \ No newline at end of file diff --git a/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy b/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy index 73832e6..2fdcbe7 100644 --- a/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy @@ -24,9 +24,6 @@ class StageFlags implements Serializable { @JsonPropertyDescription("Запуск BDD сценариев включен") boolean bdd - @JsonPropertyDescription("Исходники в формате EDT") - boolean srcEDT - @Override @NonCPS String toString() { @@ -37,15 +34,10 @@ class StageFlags implements Serializable { ", smoke=" + smoke + ", initSteps=" + initSteps + ", bdd=" + bdd + - ", srcEDT=" + srcEDT + '}'; } boolean needInfobase() { return smoke || syntaxCheck || initSteps || bdd } - - boolean infobaseFromFiles() { - return srcEDT - } } diff --git a/vars/pipeline1C.groovy b/vars/pipeline1C.groovy index c32f06e..6d1088b 100644 --- a/vars/pipeline1C.groovy +++ b/vars/pipeline1C.groovy @@ -55,7 +55,7 @@ void call() { } when { beforeAgent true - expression { config.stageFlags.srcEDT } + expression { config.sourceFormat.infobaseFromFiles() } } steps { script{ @@ -73,7 +73,7 @@ void call() { createDir('build/out') - if (config.stageFlags.infobaseFromFiles()){ + if (config.sourceFormat.infobaseFromFiles()){ // Создание базы загрузкой из файлов initFromFiles config }