From 76c18b429dcfb6abe2422d957431becd72e8e08b Mon Sep 17 00:00:00 2001 From: Dima Date: Mon, 18 Mar 2024 14:53:47 +0300 Subject: [PATCH] add vrunnerSettings to initInfoBase --- resources/globalConfiguration.json | 3 ++- .../configuration/InitInfoBaseOptions.groovy | 18 ++++++++++++------ .../library/steps/LoadExtensions.groovy | 11 ++++++++--- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index 693f554..10c9ef9 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -42,7 +42,8 @@ "initMethod": "fromStorage", "runMigration": true, "additionalInitializationSteps": [], - "extensions": [] + "extensions": [], + "vrunnerSettings": "./tools/vrunner.json" }, "bdd": { "vrunnerSteps": [ diff --git a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy index b661498..8a0e5af 100644 --- a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy @@ -14,7 +14,7 @@ class InitInfoBaseOptions implements Serializable { * fromSource - инициализация информационной базы из исходников конфигурации; * defaultBranchFromStorage - инициализация основной ветки из хранилища конфигурации, остальных - из исходников конфигурации. По умолчанию содержит значение "fromStorage".""") - InitInfoBaseMethod initMethod = InitInfoBaseMethod.FROM_STORAGE; + InitInfoBaseMethod initMethod = InitInfoBaseMethod.FROM_STORAGE @JsonPropertyDescription("Запустить миграцию ИБ") Boolean runMigration = true @@ -26,12 +26,17 @@ class InitInfoBaseOptions implements Serializable { String[] additionalInitializationSteps @JsonPropertyDescription("Массив расширений для загрузки в конфигурацию.") - Extension[] extensions; + Extension[] extensions + + @JsonPropertyDescription("""Путь к конфигурационному файлу vanessa-runner. + По умолчанию содержит значение "./tools/vrunner.json". + """) + String vrunnerSettings @JsonIgnoreProperties(ignoreUnknown = true) static class Extension implements Serializable { @JsonPropertyDescription("Имя расширения, используемое при его загрузке в конфигурацию.") - String name = "extension"; + String name = "extension" @JsonPropertyDescription(""" Способ инициализации расширения. @@ -39,14 +44,14 @@ class InitInfoBaseOptions implements Serializable { * fromSource - инициализация расширения из исходников; * fromFile - скачивание скомпилированного cfe по ссылке. """) - InitExtensionMethod initMethod = InitExtensionMethod.SOURCE; + InitExtensionMethod initMethod = InitExtensionMethod.SOURCE @JsonPropertyDescription(""" Хранит в себе путь к расширению. * В случае если выбран initMethod - указывается путь к исходникам расширения. * В случае если выбран initMethod - указывается путь к cfe-файлу """) - String path = "src/cfe/extension"; + String path = "src/cfe/extension" } @Override @@ -57,6 +62,7 @@ class InitInfoBaseOptions implements Serializable { ", runMigration=" + runMigration + ", additionalInitializationSteps=" + additionalInitializationSteps + ", extensions=" + extensions + - '}'; + ", vrunnerSettings=" + vrunnerSettings + + '}' } } diff --git a/src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy b/src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy index 53be96c..812ef2e 100644 --- a/src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy +++ b/src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy @@ -11,7 +11,7 @@ import ru.pulsar.jenkins.library.utils.FileUtils class LoadExtensions implements Serializable { - private final JobConfiguration config; + private final JobConfiguration config LoadExtensions(JobConfiguration config) { this.config = config @@ -22,10 +22,10 @@ class LoadExtensions implements Serializable { Logger.printLocation() - def env = steps.env(); + def env = steps.env() String cfeDir = "$env.WORKSPACE/$GetExtensions.EXTENSIONS_OUT_DIR" - String vrunnerPath = VRunner.getVRunnerPath(); + String vrunnerPath = VRunner.getVRunnerPath() config.initInfoBaseOptions.extensions.each { Logger.println("Установим расширение ${it.name}") @@ -47,6 +47,11 @@ class LoadExtensions implements Serializable { loadCommand += executeParameter loadCommand += ' --ibconnection "/F./build/ib"' + String vrunnerSettings = config.initInfoBaseOptions.vrunnerSettings + if (steps.fileExists(vrunnerSettings)) { + loadCommand += " --settings $vrunnerSettings" + } + List logosConfig = ["LOGOS_CONFIG=$config.logosConfig"] steps.withEnv(logosConfig) { VRunner.exec(loadCommand)